在传统的软件系统中,结果是离散的,创造者知道这些系统的行为(严格的指令集)。基于AI/ML的系统给这种思维方式带来了根本性的转变,在这种思维方式下,它的创造者提供数据并培养他们根据输入来管理结果。这些系统会随着时间的推移而学习。
当这些系统的大部分工作基本上不为创造者所知时,设计者、管理者和人机交互人员在定义这些系统的指导方针和设计方面扮演什么角色?
在详细介绍如何为人工智能系统设计之前,让我们先了解一些基本术语。
机器学习包括一些技术和方法,这些技术和方法可以使计算机程序在不编程超特定规则的情况下做一些事情。它的创建者帮助计算机从数据集中发现模式和关系。使用ML的流行示例包括对象检测、语音识别、OCR或从youtube视频中识别猫。
在机器学习中,程序通过从数据集中发现模式和关系来学习,而不是创建者向程序指定规则。创造者的工作就是培育、引导和反馈这个ML算法,使其行为可预测。
需要记住的一点是,像机器学习这样的技术实际上并没有带来智能,而是带来了智能预测的一个重要组成部分。
模型是一种专门的数学函数,它表示计算机做出决定的步骤。在编程传统软件时,我们习惯于严格的规则。例如,如果你点击按钮,会发送一封电子邮件,按下快门,就会拍摄一张照片。另一方面,机器学习模型是“软的”:它们不遵循严格的逻辑。“Write”和“right”听起来一样,但根据上下文有不同的含义。也许一个秃顶的人的头从某个角度看真的很像鸭蛋,一堆肤色的像素。如果我们接受这种“软性”并理解这些算法是如何犯错误的,我们就能更好地理解ML模型的工作原理。
你怎么告诉电脑Biryani长什么样?
解释计算机的Biryani是什么样子是一个非常困难的传统编程问题。以下是您将如何进行::
这是使用机器学习方法处理相同问题的方法:
这是机器学习的一个子领域,其中多个ML模型被分层到人工神经网络中。该系统从大量的数据集中学习,并具有深入学习的能力。深度学习能使系统产生比预期结果更具创造性的结果。
深度学习的一个有用的心理模型是,使用深度学习模型的系统通常看起来很有创造性。比如FaceApp,AlphaGo
使机器智能化的科学,使机器能够识别模式,并真正擅长于帮助人们解决特定的挑战或一系列挑战。
大多数传统产品保持不变,而人工智能驱动的产品往往会随着用户和环境(数字或物理)的变化而不断变化。
在设计产品时,要考虑的最重要的事情是要解决的问题,然后查看AI是否具有独特的定位来解决它。将您的思维从技术至上转变为以人为本。通常,一个简单的非人工智能解决方案是解决问题的最佳方法,它还具有更易于构建、解释、调试和维护的优点。花点时间评估人工智能是否会改善或降低您的产品。
一旦确定可以通过基于AI的方法更好地解决问题,一个重要的考虑因素就是评估您的解决方案是应该自动执行任务还是增强用户自己执行任务的能力。令人信服的是,最有价值的产品是可以使人们手动执行的所有操作自动化的产品。例如,一个电影应用程序告诉你在别无选择的时候想要看什么。
映射用户当前任务的现有工作流是一个很好的方法,可以在那里找到AI可以改善体验的机会。当您浏览用户体验时,您可以更好地理解可以自动化或扩展的必要步骤。
在自动化中,AI系统在没有用户参与的情况下执行任务。将不受欢迎的任务自动化是很好的,而且用户的时间、金钱或努力的投资是不值得的。许多可以自动化的任务不需要监督,用户通常很乐意委托。例如,筛选大量照片。
像任何AI系统一样,自动化并非总是万无一失。即使在自动化时,如果有必要,也应该有人工监督和干预的选项。这可以通过允许用户预览,测试,编辑或撤消AI自动化的任何操作来实现。当您的系统不确定或无法完成请求时,请确保存在不依赖于AI的默认用户体验。
作为增强,AI系统扩展了用户执行任务的能力。最好增加本质上是人类,个人宝贵或与自然界息息相关的任务。考虑赋予用户超能力,而不是为他们做事。例如,插图设计软件,可根据画板上的内容建议要选择的颜色。
具有AI / ML组件的系统本质上是概率性的,并且该产品对于不同的用户可能工作方式不同。在创建AI产品时,产品创建者需要牢记三个关键因素:
因为人工智能驱动的系统是基于概率和不确定性的,所以用户了解如何以及何时信任系统是很重要的。正确的解释水平是帮助用户理解系统工作原理的关键。当用户对系统拥有正确的控制级别时,他们可以理解如何以及何时信任它来帮助实现他们的目标。
解释人工智能系统如何工作是建立信任的关键。在对用户进行培训时,解释系统能做什么以及它能做得多好是很重要的。
用户不应该隐含地信任您的系统,而是系统应该帮助用户评估结果是否可信。有些情况下,有些用户完全反对人工智能决策,而有些用户则过于信任系统。理想情况下,这两个极端都需要避免。
通过以下方式与你的AI系统的用户建立信任
只要有可能,人工智能系统应解释数据使用的以下方面
范围
显示正在收集的有关用户的数据的概述,以及数据的哪些方面用于什么目的。同时,系统应告知用户,缺少数据可能意味着他们需要使用自己的判断。反事实可以用来解释为什么人工智能没有做出某种决定或预测。
实现
解释系统是针对用户个性化的(Spotify每日播放列表)还是针对所有用户聚合(亚马逊产品建议)。
可编辑性
告诉用户是否可以删除、重置或编辑AI系统正在使用的数据。
置信水平是一个现成的人工智能系统输出,是一个很好的工具,可以用来解释人工智能系统的工作原理。置信度可以帮助用户衡量对人工智能系统的信任度。
置信水平是一种统计测量,它表明人工智能系统对特定结果的信心程度。
假设我们的印度炒饭检测器将结果分为低、中、高置信水平。对于每种结果类型,我们设计了不同的答案。当你给它一个印度炒饭的形象,它对它的结果有很高的信心,我们设计它说“这是印度炒饭!当你给它一个有点像印度炒饭的意面的图像时,我们设计它说“嘿,这可能是印度炒饭!如果你给它一个意面的形象,我们设计它说“那不是印度炒饭!”!。”
置信水平通常是0(不可信)和1(完全可信)之间的值,该值转换为百分比。在大多数真实场景中,您永远不会得到确定的0或1。
有多种方法表示置信水平:
由于不同的用户组可能或多或少地熟悉信心和概率的含义,因此最好在产品开发过程的早期测试不同类型的显示器。
分类的
这涉及到将置信度值分类为bucket(高、中、低)。类别信息可以进一步用于呈现UI、改变消息传递和指示用户需要执行的进一步操作。类别的截止点由创建系统的团队决定。
N-最佳方案
在这种方法中,不是用一个显式的置信水平来显示一个结果,而是用它们的置信水平来显示多个结果。E.g. 这张照片可能包含山羊、美洲驼或公羊。这种方法在低信心情况下尤其有用。
数字
这种方法利用简单的百分比值来表示置信水平。显示数值是有风险的,因为它假设用户对概率有一个基本的理解(80%的置信度是高还是低?)。
有些情况下,提供解释没有好处,或者给出解释会导致混淆。例如,根据环境调整屏幕亮度时,每次系统执行操作时都提示用户可能没有意义。部分解释故意忽略了系统工作中可能过于复杂、未知或不必要的部分。
部分解释可以是一般性的,也可以是具体的:
一般
概括解释AI系统的工作方式。例如,此应用程序识别食物的准确性通常为80%。
具体
解释AI为什么在特定时间提供特定输出,例如,识别热狗时,系统会显示相似的图像,以指示系统用于识别食品的数据。
机器学习不是一条管道,而是一个反馈回路。人工智能结果中的偏差反映了用于训练人工智能的数据中存在的偏差。培训数据,即使是从现实世界收集的,也会放大现有的偏见。在ML设计的每一步都致力于公平是解决偏差的关键,从而建立与用户的信任。
当使用真实世界的数据时,由于个人经验和固有的偏见,人类的偏见总是会被引入。这些模式可能会被人工智能模型进一步放大。通常,最小化偏差可以归结为减少用于训练人工智能的数据中的偏差。
对于所有的ML任务,没有公平的标准定义,也没有单一的正确模型。以下是一些推荐的做法。
帮助用户改善AI模型
用户反馈是用户、产品和团队之间的沟通渠道。利用反馈是改进技术、提供个性化内容和增强用户体验的一种强大且可扩展的方法。
根据模型改进调整反馈
当用户有机会提供反馈时,他们可以在个性化体验和最大限度地利用您的产品给他们带来的好处方面发挥直接作用。对于创造者来说,设计反馈系统来调整模型是很重要的。理想情况下,人们希望给出的反馈与优化模型所需的数据一致。然而,这并不能保证。通过进行用户调查,找出人们期望能够影响的因素。例如,当使用一个视频推荐系统时,人们可能希望在不同于人工智能模型理解的概念层次上给出反馈。他们可能会想“给我看更多关于父母身份的视频”,而模型解释为“给我看更多的这个创造者的视频”。
人工智能模型由一个奖励函数(也称为“损失函数”)指导,该函数帮助模型确定其结果是正确的还是错误的(或者是正确程度的百分比值)。把它看作是系统每次正确猜测时所得到的奖励。人工智能系统将努力优化这个奖励功能。目标反馈机制是由用户反馈到反馈的功能。
隐含的
从产品日志中收集的有关用户交互的数据。不会询问此类反馈,但用户需要知道系统正在收集此反馈并获得他们的许可。用户还需要一种方式来查看他们的日志和选择退出。所有这些信息都可以在服务条款中提供。
明确的
用户故意提供此反馈,并且在本质上通常是定性的,例如建议是否有用或答案是否正确。例如表单,喜欢,不喜欢,评分,开放文本字段。
双重的
这种反馈可以包含隐式和显式信号。喜欢一段内容可以表示明确的肯定响应,也可以隐式地调整推荐算法。
大多数有价值的ML系统在使用系统时随着用户的成熟而发展。反馈需要对用户和模型都有利。理想情况下,您希望提供清晰的心理模型,以鼓励用户提供反馈
正常失败
把失败看作是改进系统的机会。当系统第一次失败时,用户会感到失望,然而,如果心理模型建立了系统改进超时的想法,那么失败就可以建立一种反馈关系。一旦这一点建立起来,失败就可以被视为不仅可以原谅的事情,而且可以被视为可以帮助解决的问题。
使反馈的感知价值和实际价值一致
反馈机制应该告诉用户为什么需要提供反馈以及反馈的好处是什么。这也有助于避免无意义的回应。
将反馈与用户体验的变化联系起来
承认用户反馈可以建立信任,但是如果产品展示了输入是如何影响人工智能及其体验的,那就更好了。提供流派反馈可以更改您的Spotify播放列表
提供可编辑性
用户首选项更改超时。反馈机制应该使他们能够控制和调整他们与ML模型交流的偏好。
出问题时该怎么办
对于基于人工智能的产品,用户的体验往往会有所不同。因此,错误的定义也会有所不同。用户可能会以你从未想过的方式测试你的产品,这可能会导致错误的开始、误解和意想不到的行为。在使用AI/ML组件构建系统时,针对这些情况进行设计是至关重要的。同时,错误也是反馈的机会,可以帮助人工智能更快地学习。在开始设计系统将如何响应错误之前,请尝试识别用户已经察觉到的错误,或者您可以预测将发生的错误。
错误和失败可以是以下类型:
在传统的软件系统中,主要有两种类型的错误:用户错误(用户犯错误)。创建者责怪用户)和系统错误(由于系统故障而产生的错误。人工智能系统引入了第三种错误,其结果在用户当前环境中没有意义。上下文可以是用户的偏好、生活方式或文化价值观。如一个提供肉类食谱推荐的食谱应用程序,尽管一直拒绝肉食食谱。这些用户感知到的错误通常称为上下文错误。用户感知的错误可分为以下几类:
上下文错误
系统“按预期工作”,但用户感觉到错误,因为系统的操作没有得到很好的解释。例如,朋友的航班确认会在你的日程表上增加一个事件。
解决方法:通过改变系统的功能以更好地符合用户的期望,可以根据错误的频率和严重程度来处理这些错误。另一种方法是在入职期间更好地解释系统的工作原理。
失败状态
由于固有的限制,系统无法提供正确的答案,或者根本无法提供任何答案。例如,一个识别歌曲的应用程序无法找到部落语言的歌曲。
解决方案:在这种情况下,系统可以要求用户提供正确的答案,这些答案可以用来训练模型。
这些错误对用户是不可见的,不需要在界面中解释。然而,记住这些将有助于训练人工智能。
快乐的意外
系统会将某些东西标记为预测错误或错误,但用户会将其视为一个有趣的特性。利用这些可能会带来快乐。例如,请一个聪明的演讲者给植物浇水会得到一个有趣的回答。
背景错误
在这些情况下,即使系统无法正常工作,用户或系统都不会注册错误。例如,搜索引擎返回错误的结果而没有被识别。遗憾的是,没有简单的方法可以摆脱这些错误案例,可以通过内部测试来解决。
数据错误是系统级错误,具有以下类型:
错误标记或错误分类的结果
人工智能系统输出错误的结果,因为错误的标签或错误的分类,由于不良的训练数据。
解决方案:允许用户通过反馈机制提供指导或纠正数据,反馈机制将数据输入模型,以改进数据集或提醒团队。
推理错误或模型不正确
尽管给出了足够的数据,但ML模型并不精确。
解决方案:允许用户通过反馈机制提供指导或修正数据,反馈机制将反馈机制反馈到模型中并帮助调整模型。
数据缺失或不完整
当模型达到其能力极限时,常常会观察到数据缺失或不完整的情况。
解决方案:解释系统是如何工作的,它的局限性以及缺少什么。允许用户对丢失的数据提供反馈。
输入错误通常是用户级别的错误,分为以下几种类型:
意外或不正确的输入
当用户输入错误的输入时,通常假设系统会更正它。例如, 当系统不正确时,期望自动更正。
解决方法:用一系列正确的答案检查用户的输入并提供建议。例如,这是您的意思吗?
打破习惯
用户界面的改变会打破个人使用该功能的习惯,从而导致不同的不良结果。
解决方案:实施不打破习惯的人工智能系统。这可以通过在界面中为低可信度人工智能输出指定一个位置来实现,允许用户恢复默认值或保留特定的交互模式。
输入错误
当一个系统不恰当地衡量一个行动或选择的重要性时。例如,喜欢特定食谱,将AI校准为显示同一作者而不是类似食谱的食谱。
解决方案:解释系统是如何工作的,它的局限性以及缺少什么。允许用户给出正确的反馈。
相关性错误通常是系统级错误,并且具有以下类型:
低置信度
当AI系统给出低置信度输出时,会导致精度降低。例如,由于政治气候的变化,酒店价格预测算法无法给出准确的预测。
解决方案:说明发生这种情况的原因以及可以采取的措施。例如,我们没有足够的信息,也许几天后再试一次。
不相关
系统输出无关紧要的答案时。
解决方案:允许用户提供反馈以改进模型。
回顾
在设计AI / ML系统时,产品创建者需要牢记三个关键因素:
- 与AI系统用户建立信任
- 设计反馈-帮助用户改善AI模型
- 处理错误和失败-出现错误时该怎么办
既然来了,说些什么?