软件如何存在种族歧视(以及你可以采取哪些措施来阻止它)
快速提示:本文最初发表于glennstovall.com ;您也可以在Production Ready 播客上收听本文。
软件功能强大,足以改变社会权力格局。例如,社交媒体如何影响了我们谈论政治以及其他一切事物的方式。如果政治是社会权力博弈的体现,那么软件本质上就是政治性的。如果软件功能强大,那么我们这些软件开发者也拥有权力。软件可能带有种族歧视色彩,作为软件开发者,我认为我们都有责任运用自身的影响力,阻止种族歧视软件的出现。
如果你对这个话题感到不舒服,请不要就此打住。停下来,问问自己为什么会有这种感觉。我们每个人都要做出选择,而这些话题是无法回避的。学会坦然面对这种不舒服的感觉吧。
关于种族问题的对话之所以充满挑战,部分原因在于我们缺乏共同的词汇。因此,我想先澄清几个术语。我在这里借用了《白人的脆弱性:为什么白人难以谈论种族主义》一书中的术语。
偏见、歧视和种族主义之间的区别
偏见是由基于极少甚至没有经验的想法、感受和概括,投射到特定群体上而形成的。每个人都有偏见,无论是针对特定种族、性别、籍贯还是毕业院校的人。如果你否认自己或他人存在偏见,你就无力纠正它们。偏见源于内心。
歧视是基于偏见的外部行为,包括忽视、排斥、威胁、嘲笑、诽谤和暴力。
种族主义与歧视的区别在于,前者有法律权威和制度控制的支持。它源于一个独立于任何个人、公司或技术行为之外的权力体系。
种族主义难以定义,也难以谈论。它并非仅仅指身穿白大褂、实施暴力行为的人。它复杂而模糊。你或许会认为“种族主义者”是那些公开做出或发表针对特定群体的言论的人。但种族主义并非一定要如此明目张胆,它可以很隐蔽,也可能在无意中发生。正因如此,身处特权阶层的人很容易忽视它。就像偏见一样,如果我们不努力去承认、识别和讨论种族主义,我们就无法阻止它。“魔鬼最大的诡计就是让世人相信他并不存在。”
任何维护现有制度并使其保持现状的歧视行为,实际上都是种族主义行为。你要明白,在软件开发过程中,你的代码可能带有种族主义色彩,你有责任防止这种情况发生。
科技怎么会带有种族歧视色彩呢?
在开发软件时,我们会有意无意地做出选择,例如如何设想最终用户、使用哪些数据以及算法如何运作。由于每个人都存在无意识的偏见和成见,这些偏见和成见有可能影响我们的决策。将偏见编码到软件中被称为“算法偏见”。当我们尝试将机器学习分类算法应用于他人(例如人脸识别)时,这种偏见最为明显。
谷歌照片团队的工程师在构建照片自动标记系统时,将黑人的脸标记为“大猩猩”或“黑猩猩”。谷歌的回应是删除这些词语作为有效标签,而不是修复根本原因。
在她的TEDx演讲中,乔伊·布奥拉姆维尼讲述了她在使用面部识别软件时遭遇的歧视。该软件根本无法识别她。乔伊在使用多个系统时都遇到了这个问题。她发现这些系统都基于相同的开源库和数据集。我愿意相信这些工具的开发者并非有意忽略黑人,但这并不重要。在这种情况下,结果比意图更重要。
软件也可能强化现有的歧视政策。如果你的公司以往倾向于雇用特定种族或性别的人,然后又将他们的简历用作训练数据,用于评估应聘者的软件,那么最终你会得到一个同样带有偏见的系统。亚马逊就曾这样做过,他们构建的系统在招聘过程中歧视女性,后来因此面临法律诉讼。
警方曾使用过一款名为Compas的软件工具,该工具声称可以识别嫌疑人并预测再犯率。研究表明,该软件不仅更容易对黑人嫌疑人做出错误判断,而且更有可能被用来对付黑人。这里不仅软件本身存在歧视,而且软件用户在使用软件的方式上也存在歧视。
软件中的种族歧视也可能以数字红线的形式出现。通过基于邮政编码做出决策,可以抽象化歧视的存在。像 Uber Eats 和 DoorDash 这样的外卖服务不太可能服务于以黑人为主的社区。这些社区在《精灵宝可梦GO》中的宝可梦站点平均数量也较少。数据无需包含关于种族的具体信息,就能对特定族裔群体造成不成比例的影响。毕竟,机器学习的核心在于发现模式。
明白了吗?当数据没有明确涉及种族时,所有构建这些系统的人都可以选择视而不见,或者可以合理地否认他们的软件可能对少数族裔造成的影响。我们必须假设我们所构建的东西可能会产生潜在的负面影响。
软件无法将背后的人抽象化。
我们不能抱持一种浪漫的幻想,认为技术完全符合逻辑,不受人类缺陷的影响。我们不能想当然地认为,既然计算机没有思考和感受,它们就不会有偏见。也不能认为我们可以通过“数据驱动”来克服自身的偏见。事实上,我们的偏见会影响软件的设计,而软件又会重复我们的错误。数据永远不可能完全客观;我们的偏见——这一点值得重申,每个人都有——会通过各种决策渗透到我们收集哪些数据、忽略哪些数据以及我们如何解读数据的过程中。
技术反映了创造它的人的素质。
根据美国国家标准与技术研究院2011年的一项研究,亚洲软件公司开发的面部识别软件在识别亚洲人脸方面准确率更高。软件的开发者会对软件的运行效果产生影响。
团队多元化意味着更少的盲点和更少的错误(例如上述错误),从而避免这些错误进入生产环境,甚至更糟糕的是,避免它们被曝光。多元化是一种竞争优势。组建多元化的团队并非为了追求“公平”,而是为了带来比同质化团队更丰富的信息和更深刻的见解。
正如美国公民自由联盟种族正义项目的律师雷切尔·古德曼告诉《快公司》杂志的那样:“许多不良影响并非有意为之。这是因为人们在封闭的房间里进行私密讨论来设计技术,而没有考虑到现实世界。”
你还记得Tay吗?微软推出的这款人工智能推特机器人?2016年,微软发布了一款推特机器人,它会根据与它互动的用户的推文来模拟自身的行为。
我敢打赌,你肯定能猜到这个故事的走向。
微软表示:“Tay旨在通过轻松有趣的对话,让人们在线上互动交流,并从中获得乐趣。你和Tay聊得越多,她就越聪明。”
在互联网上,你不可能邀请一群人做任何事情而不招来网络喷子。不到一天,泰就发表了诸如“希特勒是对的”和“911事件是内部人员所为”之类的言论。微软必须尽快关闭这个项目。
这个故事与其说是其他什么,不如说是警示人们不要给网络喷子机会;其主要教训仍然不变:人工智能只知道我们告诉它什么,并且只根据我们的指令行事。
作为软件开发人员,我们能做些什么?
系统性种族主义复杂而隐蔽。它并非源于单一来源,而是无处不在。它源于我们出生之前就已建立的制度,并随着仇恨行为和维持不平等的现状,持续在美国社会蔓延。
作为软件开发者,我们可以塑造那些直接影响人们生活的工具,甚至决定它们是否会被开发出来。这种权力意味着我们必须做出选择:你是要采取行动,还是要成为帮凶?
这个问题没有其他选择,也无法回避。你的工作会对世界产生影响,这是毋庸置疑的。至于这种影响的性质,则取决于你。
除了工作之外,每个人都可以采取一些行动,无论职位高低。走上街头。捐献你的时间或金钱。投票。
作为一名软件开发人员,你可以在工作中倡导变革。我们需要对数据来源更加谨慎,对我们所构建产品的用例和影响也更加理性。因此,你应该问问自己:
- 你使用的数据集准确吗?你如何确定?
- 在最坏的情况下,我们的软件是否会对特定人群造成不成比例的影响?(顺便一提,这包括无障碍访问方面的问题。)
- 在产品开发之前和之后,我们是否听到了各种不同的声音?
- 如果你是一名管理者,你是否在招聘多元化的团队?如果没有,为什么?
这些都是我们都需要更多地思考的问题。科技并非不道德,也并非不涉政治。尽管有种种负面报道,我仍然相信科技的影响力可以用来带来积极的改变。但这只有在我们集体改变以往的商业模式时才能实现。因此,我想借此机会问问大家:
你打算做出哪些改变?
文章来源:https://dev.to/gsto/how-software-can-be-racist-and-what-you-can-do-to-stop-it-1c3a