也许每一个还在追求模型效率与性能的算法工程师,都应该开始考虑将设计公平性引入自己的工作当中。
大数据和人工智能的崛起,为我们的生活带来了许多的便利。
当我们打开新闻客户端,看到的不再是千篇一律的编辑推荐,而是AI引擎对我们日常喜好进行学习后精心准备的新闻;当我们打开电商 App,看到的不再是商家想要卖什么,而是我们想要买什么;当我们打开旅游网站,看到的也不再是那些人满为患的旅游经典而是为我们量身定制的旅游路线。
但同时,这也为我们带来了一些隐忧——由于每个人看到的内容都是不同的,那么AI是否会把更贵的产品卖给我,或是更偏激的观点推送给我?
事实上,这是完全有可能的,在国内甚至已经有了一个专有名词来形容这一现象“大数据杀熟”。
但有时,算法不止决定了商品的价格和推送的内容,随着人工智能被应用于反恐、征税、案件预审、医疗、保险等公共领域,算法的判断还决定着我们每个人的公民福祉。
这样的例子在全世界已经多次发生,比如Twtter的聊天机器人在上线一天之后就被网友“教”成了满嘴脏话的坏孩子,不得不被迫下线;Google Photos 的照片智能识别功能将黑人与黑猩猩分成了一组;求职网站的广告会默认为女性用户推送比男性用户薪水更低的广告等等……
在美国,甚至有法官对一个仅有偷车行为的嫌犯下达了 8 年有期徒刑的判决,理由只是因为协助审判的人工智能工具 COMPAS 认为此人“极具危险”。
正如我们之前在《西部世界,能给现实世界的人工智能带来怎样的启示》一文中提到的,由于人工智能(无论是现实中还是科幻作品中)总是通过一个快速且脱离人类社会与历史的学习来完成自我构建,所以他们存在天生的“道德缺陷”。
那么,在现实中是否有一种方法,能够将反歧视——或者说算法公平——植入到机器学习模型的设计中呢?
答案是:或许可行。
在最近的一期哈佛商业评论上,弗吉尼亚大学麦金泰尔商学院商业分析中心的副院长 Ahmed Abbasi、弗吉尼亚大学麦克因泰尔商学院的信息技术助理教授李晶晶、埃默里大学生物医学信息学系主任 Gari Clifford 和默尔豪斯医学院的医学教授和心血管研究所所长 Herman Taylor 联合署名发表了文章 Make “Fairness by Design” Part of Machine Learning,文章从产品构建的角度阐释了一些防止算法歧视的思路。
之所以这篇文章的作者中有几位医学专家,是因为这些经验是他们在一个与美国联邦政府合作的物联网医疗平台设计中总结出来的。
该项目通过移动终端和各种物联网设备搜集数据,通过机器学习模型对这些数据进行处理并形成中风和早期心血管疾病的预测,并帮助医生做出诊疗判断。
在项目设计中,他们采用了这些步骤来减少算法形成种族、性别歧视的可能性:
1. 将数据科学家与社会科学家组队
通常来说,数据科学家与社会科学家有着不同的话语体系。
对于数据科学家来说,“bias”(偏差/偏见)具有特定的技术含义——它特指的是分类模型中的分割水平。
类似地,术语“discriminatory potential”(判别潜力/歧视性潜力)是指模型能够准确区分数据类别(例如,判断心血管疾病高风险和低风险的患者)的程度。
在科学数据中,找到更大的“歧视潜力”是首要目标。相比之下,当社会科学家谈论 bias 或 discriminatory potential 时,他们更可能是指公平问题。社会科学家通常能够更好地提供关于公平和偏见的人文观点。
在他们的项目中,从一开始就确保包括心理学家、心理计量师、流行病学家以及专门处理不同人群健康的人在一起工作。这使整个项目团队能够更好、更及时地了解可能蔓延到机器学习过程中的人口偏差。
2. 谨慎打标签
在构建模型之前,团队拿到的原始大数据往往并非是结构化的,比如用户输入的大段文字或是一些影像学检查的图片。
而这些非结构化的数据会先经由人类进行一次结构化的打标签,再用于训练机器学习模型。
这种做法在机器学习领域十分常见,比如 Google Photos 就有一个页面允许你帮助判断一张图片是否是猫。
在更复杂的情况下,可能还需要让人工来判断哪些文本带有正面情绪,哪些是负面情绪。
人工打标签服务已经成为一种大数据时代的典型商业模式,许多众包平台和外包公司都会承接科技公司海量的数据流水打标签。
但由于人类本身就存在基于文化、种族和宗教的偏见,因此在打标签过程中这种偏见可能被转移到结构化的数据上。
在文章作者的项目中,他们预计这可能会给最终模型带来偏见。
比如,尽管两人的健康水平(理想值)是相当的,但如果一个人的资料中含有大量的拼写错误和语法错误,那么他或她就有可能被批注人员在某些数值上打上更低的分。
这最终可能导致健康预测模型会形成对语法或拼写错误者存在健康偏见。
作者发现,减少这种偏见的方法是在针对打标签者的培训中要引入关于潜在偏见可能性案例的模块。但是,在他们的项目中由于更依赖于用户提交的自我结构化数据,因此不存在这一问题,因为用户不会自我歧视。不过,这偶尔也会带来一些其他问题。
3. 将传统的机器学习指标与公平度量相结合
在过去,评价一个机器学习模型的好坏总是使用一组与性能相关的指标来实现。比如整体性能、类级性能或是模型的普遍适用性等。
而在对机器学习模型的评价中引入公平性量度可以很好的纠正一些由于偏见或歧视引发的问题。这事实上也是对机器学习模型性能的一种改进,因为修正了这些问题,意味着机器学习模型不再对某些特定群体做出偏差很大的测算,从而可以提高整体的准确性。
在作者的项目中,研究人员检查了模型在不同的人口群体中的表现,以及基本的模型假设。纳入的重要公平措施包括内部和跨部门的真/假、正/负比率以及对人口变量的依赖程度。
对于目前看似公平的部分而言,如果人口变量相对于其他变量有很大的权重,并充当预测的主要推动者,那么未来的数据中可能存在偏见的可能性。
4. 采样时,平衡代表性与群聚效应临界点(critical mass constraints)[1]
在剔除无关歧视性数据的同时,并不代表不对某些特定的极端情况进行考虑。在传统的统计学采样中,一般认为只要能反应出所采样的整个群体的特征即可。
这种做法存在的一个问题是,它低估了整个群体内包含的某个特定少数群体所发生的病例。表面上看,这似乎并不是一个太大的问题。因为模型依然可以“准确”的预测整个群体的发病几率。但是当落实到这些特定群体的个体时,模型就会对他们发病几率的预测就会出现显著的偏高或偏低。
在作者的项目中,他们采用了对某些与疾病相关的人口群体案例进行大量过度抽样的方法,来刻意满足最终形成的机器学习模型在预测一个“普通人”和预测一个“特殊群体”时都能给出更正确的答案。
5. 比起技术手段,更重要的是保持意识
文章提到,即便是采用了上述措施,也不能完全消除在模型构建中出现歧视的可能。所以他们通常要在模型构建和训练的各个阶段停下来去检查是否有潜在的歧视因素卷入了模型。
作者还提到了两种方法用以对形成歧视的模型进行纠偏,一种是将训练数据中所有与人口学相关的信息剔除;另一种是将额外的公平性措施引入机器学习,比如上文提到的手工放大、缩小少数族群或边缘案例的重要性。
在作者的项目中,他们发现这样纠偏的行为对于算法训练中容易受到人口学偏见影响的部分十分有效。在这样一套规则实施下来之后,模型最终的公平性量度显著提高,而模型的整体精确度也搞了几个百分点。
在 Facebook、Google 和各类互联网公司相继爆发了“算法歧视丑闻”之后,欧美已经掀起了一阵反算法歧视的热潮。许多技术人员对这一运动的直观印象并不好,认为“政治正确毁掉了技术创新”。
但在作者看来,设计公平性并不是要把政治正确优先于模型准确性之上。通过仔细的设计和思考,设计公平性有助于研发人员开发出更可靠的高精确性模型。它让机器更加深刻的理解了每个人口学要素背后的复杂性。
引入设计公平性并不是通过一条“人人平等”的原则来抹平机器学习的成果,而是要引入相互对立的视角,从不同人、不同群体、不同阶层的视角反向审视机器学习过程中的不同阶段。
在作者的Stroke Belt项目中,设计公平性使他们能够开发出具有更高整体性能,更广泛的人口适用性和更稳健的预测模型——这使得医疗保健系统能够更准确的提前干预高危人群。
也许每一个还在追求模型效率与性能的算法工程师,都应该开始考虑将设计公平性引入自己的工作当中。因为这不止会让你建立更公平的模型,也能让你达到你本来的目的——一个更完美的模型。
[1]群聚效应 (Critical mass)是一个社会动力学的名词,用来描述在一个社会系统里,某件事情的存在已达至一个足够的动量,使它能够自我维持,并为往后的成长提供动力。
以一个大城市作一个简单例子:若有一个人停下来抬头往天望,没有人会理会他,其他路过的人会照旧继续他们要做的事情。如果有三个人停了下来抬头望天,可能会有多几个人会停下来看看他们在做甚么,但很快又会去继续他们原来的事。但假若当街上抬头向天望的群众增加至5到7人,这时,其他人可能亦会好奇地加入,看看他们到底在做什么。其中3人、5人,便是这个群聚效应的临界点。
⁕本文参考文章《Make “Fairness by Design” Part of Machine Learning》
原文:https://hbr.org/2018/08/make-fairness-by-design-part-of-machine-learning