什么是「AI 偏差」?如何管理「AI 偏差」?
2019-04-28
「AI 的偏差」是机器学习中非常受关注的一个问题,著名分析师 Benedict Evans 对此发表了一篇文章,雷锋网 AI 科技评论编译整理如下。
机器学习在数据中发现模式。「AI 偏差」意味着它可能会发现错误的模式——一个用于检测皮肤癌的系统可能会更加关注照片是否是在医生办公室拍摄的。机器学习不「理解」任何东西——它只是在数据中寻找模式,如果样本数据不具有代表性,那么输出也不会具有代表性。同时,机器学习的机制让我们难以发现这一问题。
由于人类的多样性,而且有很多理由说明关于人类的数据可能带有隐含的偏差,在人类中这一问题比较明显。但是,如果你认为这仅仅和人有关,那就产生了误导,这就像试图发现仓库里的洪水或是燃气轮机的故障,这是误导性的,或者是不完整的。一个系统可能偏向于不同的皮肤色素沉着,另一个系统可能偏向于西门子传感器。
这些问题不是机器学习的新问题,也不是唯一的问题——所有复杂的组织都会做出错误的假设,而且总是很难做出决定。解决办法是制作工具和流程来检查这个问题,并进行用户教育,确保人们不只是「做人工智能所说的」。机器学习比人更擅长做某些事情,就像狗比人更擅长发现毒品一样,但你不会根据狗的证据来对某个人定罪。狗比任何机器学习都聪明得多。
机器学习是当今最重要的基本技术趋势之一,也是未来十年技术将改变世界的主要方式之一。作为其中的一部分,机器学习的某些方面引起了人们的关注——例如,它对就业的潜在影响,以及它可能被用于做人们认为不道德的事情,例如,它可能赋予某些政治组织新的能力去压迫它们的人民。另一个,也就是这篇文章的讨论的主题,是 AI 偏差的问题。
这并不是一件简单的事情。
什么是「AI 偏差」?
「原始数据是矛盾的,使用它是一个坏主意;相反,数据应该小心烹制,精心处理。」
——Geoffrey Bowker
直到 2013 年,如果你想制作一个软件系统,比如说,识别照片中的猫的系统,你可以写下合乎逻辑的步骤。你会做一些东西来寻找图像中的边缘,一个眼睛检测器,一个毛皮纹理分析仪,然后试着计算腿的数量,等等,然后你会把它们连接在一起……但是它永远不会真正起作用。从概念上讲,这相当于试图制造一匹机械马——理论上是可能的,但在实践中太复杂了,我们没有能力去描述它。你最终止于成百上千的手写规则,却没有得到一个可用的模型。
在机器学习中,我们不使用手写规则来识别 x 或 y。相反,我们取了 1000 个 x 和 1000 个 y 的例子,让计算机根据这些例子的统计分析建立模型。然后我们可以给这个模型一个新的数据点,在给定的精度下,判断数据点是否适合示例集 X 或示例集 Y。机器学习使用数据生成模型,而不是由人类编写模型。这种做法得到了出人意料的好结果,对于识别或模式查找问题来说尤其如此,这就是为什么整个技术行业都在围绕机器学习技术进行改造的原因。
但是,这里面有一个陷阱。在现实世界中,你的数千(或数十万,或数百万)个 x 和 y 的例子也包含 A、B、J、L、O、R 和 P。这些例子可能分布不均匀,并且,它们样本数可能足够多,以至于相比于 X,系统更关注 L 和 R。
这在实践中意味着什么?我最喜欢举的例子是图像识别系统倾向于将一张草丘的照片判断为「绵羊」。大多数关于「绵羊」的图片都是在长满草的山丘上拍摄的,因为这就是绵羊通常生活的地方,而在图片中,草比白色绒毛状的小东西更为突出,所以系统给予它最多的权重。
关于这一点,最近,一个更为严重的例子出现了:一个在照片中寻找皮肤癌的项目也出现了误判。为了进行测量,在皮肤癌的照片中经常出现皮肤科医生放置的尺子,但是健康皮肤的示例照片中不包含尺子。对于系统来说,虽然尺子(或者更确切地说,我们视为尺子的像素)只是示例集之间的差异,但它们有时比皮肤上的小斑点更突出。因此,用来检测皮肤癌的系统有时候检测的是尺子。
这里要理解的一个核心问题是,系统对它所「看」到的内容没有语义上的理解。我们查看一个像素网格,并将其转换为绵羊、皮肤或尺子,但系统只看到一系列数字。它看不到三维空间、物体、纹理或绵羊,它只看到了数据中的模式。
与此同时,试图诊断此类问题的挑战在于机器学习系统生成的模型(神经网络)包含数千或数十万个节点。我们不能直接查看模型内部,知道它是如何做出决定的——如果可以的话,那么这个过程就足够简单,你一开始就不需要 ML,可以自己编写规则。人们担心 ML 是一个「黑盒子」。(不过,我稍后会对此进行解释,这个问题经常被夸大。)
这是一个非常简单的「AI 偏差」或「机器学习偏差」问题:一个试图在数据中找到模式的系统发现的可能是错误的模式,并且你可能根本意识不到。这是这项技术的一个基本特征,学术界和大型科技公司(的数据人员)的每个人都很清楚这一点,但它产生的后果是复杂的,我们对这些后果的设计出来的潜在解决方案也是复杂的。
首先,我们来谈谈后果。
AI 偏差场景
这个问题最明显和最直接的体现是人类的多样性。最近有报道称,亚马逊已经尝试建立一个机器学习系统来筛选应聘者。由于亚马逊目前的员工群体偏向男性,「成功雇佣」的例子在实际中也偏向男性,因此,该系统在招聘时也会选择男性。亚马逊发现了这一点,因此该系统从未被用于实践。
这个例子中最重要的一点是,据报道,即使在简历中没有明确标注性别,系统也显示出这种偏差。系统也看到了「成功的应聘者」样本集中的的样本在其它方面的模式——例如,女性可能会用不同的词来描述成就,或者在学校参与了各种各样的体育活动。当然,这个系统不知道曲棍球是什么,不知道人是什么,也不知道「成功」是什么——它只是对文本进行统计分析。但是,它所看到的模式不一定是人类会注意到的事情,而且对于某些事情(例如,描述「成功」的词汇,在不同性别之间可能会有所不同),人类可能很难发现。
当一个非常擅长在苍白皮肤上发现皮肤癌的机器学习系统遇到深色皮肤时,情况变得更糟了,反之亦然。这可能不是因为样本中存在偏差,而是因为你可能需要以不同的方式构建模型,以从中挑选出不同的特征。即使是在像图像识别这样的狭窄应用中,机器学习系统也是不共通的。你必须调整系统的结构,有时只需要通过尝试和错误,以便在你感兴趣的数据中很好地发现特定的特性,直到获得满意的准确度。但是你可能没有意识到系统在一组数据上测试的准确度是 98%,而在另一组数据上可能只有 91%(即便这种准确度仍然超过人类)。
到目前为止,我使用的都是人或者和人有关的例子。但重要的是,我们要理解围绕人的偏差只是下面这个问题的一个子集:我们将会使用 ML 做很多事情,而样本偏差在所有这些事情中都将是需要被考虑的一部分。同样地,即使和你合作的是人,数据中的偏差也是可能存在的。
为了系统地理解这一点,回顾一下前面皮肤癌的例子,并考虑可能会被打破的三种假设方式是很有用的:
没有一个人是均匀分布的:在不同色调的照片中,皮肤照片颜色并不是完全相同的,所以你的系统对皮肤色素沉着的判断可能是错误的。
你的数据包含一个突出的、分布不均的非人类特征,它没有诊断价值,但系统会对此进行训练——例如皮肤癌照片中的尺子,或绵羊照片中的草。在这种情况下,如果我们看到的是「尺子」(但它不存在)的像素,结果就会改变。
你的数据还包含一些其他的特征,即使人们在寻找这些特征时也看不到它们。
「即使人们寻找它」是什么意思?好吧,我们知道,或者应该知道,数据可能会在不同的人类群体中产生偏差,并且至少可以计划寻找这个偏差。换句话说,关于为什么你可能会期望你的数据会在人类群体中产生偏差,有着各种各样的社会原因。如果我们看有尺子的照片,我们可以看到尺子——我们只是忽略了它,因为我们知道它是无关的,但我们忘记了系统什么都不知道。
但是,如果你所有的不健康皮肤照片都是在有白炽灯的办公室里拍摄的,而你健康皮肤照片是在荧光灯下拍摄的呢?如果你在拍摄健康照片和不健康照片的中间更新了智能手机上的操作系统,而苹果或谷歌对降噪算法做了一些小的改动,会怎么样?不管他们看起来多么厉害,人类可能完全不会注意到这些变化,但是机器学习系统会立即看到并使用它。系统什么都不知道。
到目前为止,我们一直在讨论错误的相关性,但是数据中也可能存在完全准确和正确的预测模式,但出于道德、法律或基于产品的原因,你不想使用这些模式。例如,在某些司法管辖区,即使女性可能是更安全的驾驶者,向女性提供更好的汽车保险费率也是不允许的。我们可以很容易地想象一个系统,它查看历史数据,并学会将「女性」名字与低风险联系起来,因此你可以从数据中删除名字——但是,正如上面的亚马逊示例一样,可能还有其他因素向系统揭示性别(当然,它没有性别概念),除非监管机构事先对你提供的报价进行统计分析,并对你处以罚款,否则你可能不会意识到这一点。
最后,在我们讨论这个问题的时候,好像我们只会将这些系统用于以某种方式涉及人、社会互动和假设的事情。而实际上并非如此。如果你制造燃气轮机,你会对将机器学习应用到来自你产品上几十或数百个传感器的遥测(音频、振动、温度或任何其他传感器生成的数据,这些数据很容易被重新用于机器学习模型)非常感兴趣。比如,你可能会说,「这是 1000 台即将发生故障的涡轮机的数据,这是 1000 台运转良好的涡轮机的数据——可以建立一个模型来区分它们的不同之处」。现在,假设 75% 的坏涡轮机使用了西门子传感器,只有 12% 的好涡轮机使用传感器(假设这与故障没有关系)。该系统将建立一个和西门子传感器相关的模型来检测涡轮。
AI 偏差管理
我们该怎么办?你可以从三个方面来考虑这个问题:
训练数据收集和处理的方法的严谨性
分析和诊断模型行为的技术工具
在产品中部署 ML 的训练、教育和注意事项
「Molière's Bourgeois Gentilhomme」中有一个笑话,讲的是一个人被教导文学分为「诗」和「散文」,他很高兴地发现自己在无意识的情况下,一辈子都在讲散文。统计学家们今天可能也有同样的感受——他们一直在研究「人工智能」和「样本偏差」,但他们自己没有意识到这一点。寻找和担忧样本偏差并不是一个新的问题——我们只需要非常系统地对待这个问题。如前所述,从实际上来看,在某些方面,我们在看待和人有关的问题时可能更容易。这是因为,我们知道,我们可能对不同的人类群体有偏差,但我们可能没有意识到的是,我们可能对西门子有偏差。
当然,不同的是,人们不再直接进行统计分析了,而是由机器完成的,它生成的模型复杂度和规模都非常大,不容易分析。透明度问题是关于偏差的主要关注领域之一。我们担心这一点并不只是因为它有偏差,而且因为这些偏差是没有办法分辨的,它在某种程度上是全新的,不同于其他形式的组织,在这些组织中有清晰的逻辑步骤可以检查。
这有两个问题:我们可能在某些方面可以检查 ML 系统,而检查任何其他系统实际上并不容易。
首先,当前机器学习研究的一部分是寻找工具和方法,找出机器学习系统中最突出的特征。同时,机器学习(在目前的表现形式中)是一个非常新的领域,科学技术正在迅速地革新。人们今天认为不实用的东西可能很快会变得实用。这个 OpenAI 项目就是一个有趣的例子。
其次,你可以在现有系统或组织中检查和理解决策的想法在理论上是正确的,但在实践中是有缺陷的。在一个大的组织中,如何进行决策的审查一点也不容易。这可能是一个正式的决策过程,但它并不是人们实际互动的方式,而且人们本身往往没有一个清晰的逻辑和系统的方式来做出他们自己的决定。正如我的同事 Vijay Pande 所说的那样,人们也是黑匣子——许多公司和机构中将成千上万的人和问题结合在一起。以美国宇航局为例,我们从邮报上得知,航天飞机在重返大气层时会解体,美国宇航局内部的不同人员掌握的信息让他们认为可能会发生一些不好的事情,但整个系统并不知道这一点。与此同时,当美国宇航局失去了先前的航天飞机时,它正经历着这个检查过程,但由于非常相似的原因,它又失去了另一个航天飞机。很显然,组织和人类系统遵循清晰的逻辑规则,你可以检查、理解和改变这些规则,但在实际上并非如此。这被称为 Gosplan fallacy。
在这种情况下,我经常将机器学习与数据库,尤其是关系型数据库进行比较。关系数据库是一种新的基础技术,它改变了计算机科学中可能发生的事情,改变了更广阔的世界,它是一切事物的组成部分,我们现在一直在使用它,但却没有注意到它。但是数据库也存在问题,这些问题也有相同的特点:系统可能建立在错误的假设或错误的数据之上,这很难分辨,往往使用它的人会按照系统告诉他们的做而不加质疑。有个老笑话是说,税务局把你的名字拼错了,改变你的名字比说服他们改成正确的名字要容易得多。这是 SQL 固有的技术问题,它是 Oracle 的执行失败,还是大型官僚机构的制度失败?
在一个更简单的层面上,人们可以从人们因为卫星导航系统过时而驾驶汽车冲入河流中的现象中看到这个问题。是的,从理论上来说,地图应该是最新的。但是,你的车漂到海里有多少是地图的错呢?
所有这些都是说,ML 偏差将以与过去问题大致相同的方式引起问题,并且它是否可以解决和发现的概率与过去大致相同。因此,最容易想象的人工智能偏差造成伤害的场景可能不是来自重要机构的主要研究人员。相反,它是一个第三层的技术承包商或软件供应商,将一些它并不真正理解的开放源代码组件、库和工具捆绑在一起,然后将其出售给一个在标签上看到「AI」并且不问问题、将其交给最底层员工,并告诉他们做「人工智能」所说的任何事。这就是在数据库上发生的情况,它不是人工智能的问题,甚至不是「软件」问题,这是一个「人类」问题。
结论
「任何你可以训练狗去做的事情,机器学习都可以做——但是你永远不能完全确定你训练狗做什么。」
我经常认为「人工智能」这个词在这样的对话中是无济于事的。它造成了一种很大程度上的错误印象,即我们实际上已经创造了智能,但实际上并没有。它们只是机器,比洗衣机更有用一点。洗衣机洗衣服比人好得多,但是如果你把盘子而不是衣服放进洗衣机,然后按启动键,它还是会把它们洗干净,但这并不是你想要的结果。洗衣机不知道什么是衣服或盘子,它只是自动化的一种形式,在概念上与以前的自动化浪潮并没有什么不同。
也就是说,正如汽车、飞机或数据库一样,这些系统既可以是非常强大的,也可以是非常局限的,这完全取决于人们如何使用它们,取决于人们对这些系统的工作方式意图是好是坏,以及人们受教育的程度。
因此,「AI 是数学,它不可能有偏差」的说法是完全错误的。但是,说 ML 是「固有的偏差」也是错误的。ML 在数据中找到模式,至于是什么模式取决于数据,而数据取决于我们,我们如何处理它取决于我们自己。正如前面所说,机器学习比人更擅长做某些事情,就像狗比人更擅长发现毒品一样,但你不会根据狗的证据来定罪。狗比任何机器学习都聪明。