文本嵌入模型包含偏差?Google详解为什么这是机器学习的重要问题

图源:pixabay

原文来源:googleblog

作者:Ben Packer、Yoni Halpern、Mario Guajardo-Céspedes、Margaret Mitchell

「雷克世界」编译:嗯~是阿童木呀、KABUDA、EVA

作为机器学习从业者,当面对一项任务时,我们通常会根据在该任务上的表现来选择或训练一个模型。例如,假设我们正在建立一个系统来分类电影评论是正面的还是负面的。我们采用5种不同的模型,看看每个模型执行这项任务的性能如何:

图1:模型在一个任务上的性能。你会选择哪一种模型?

通常情况下,我们会简单地就选择模型C。但是如果我们发现,尽管模型C的性能在整体上最好,但它也最有可能会给“主角是个男人”这个句子赋予一个更正面的情绪,而不是“主角是女人”这个句子。如果是这样,我们会重新考虑吗?

机器学习模型中的偏差

神经网络模型可以非常强大,有效地帮助识别模式并揭示各种不同任务的结构,从语言翻译到病理学再到玩游戏。与此同时,神经模型(以及其他类型的机器学习模型)可以包含许多形式的问题偏见。例如,受过训练以检测粗鲁、无礼或不合理的评论的分类器,比起“我是异性恋”这个句子,可能更有可能对“我是同性恋”这个句子进行标记;面部分类模型对有色人种女性的表现性能可能不佳;语音转录对非洲裔美国人可能比对美国白人的误差率更高。

许多预先训练好的机器学习模型可供开发人员广泛使用——例如,TensorFlow Hub最近公开发布了其平台。重要的是,当开发人员在他们的应用程序中使用这些模型时,他们会意识到模型中所包含的偏差以及这些偏差在这些应用程序中可能会出现的情况。

人类的数据在默认情况下对人类的偏见进行了编码。意识到这一点是一个好的开始,而且关于如何处理它的讨论正在进行中。在谷歌,我们正在积极研究非预期的偏见分析和缓解策略,因为我们致力于生产对每个人都适用的产品。在这篇文章中,我们将研究一些文本嵌入模型,提出一些用于评估某些偏见形式的工具,并讨论在构建应用程序时这些问题的重要性。

WEAT分数,一种通用的测量工具

文本嵌入模型将任何输入文本转换成数字的输出向量,并在这个过程中对在嵌入空间里彼此相邻的语义上相似的单词进行映射:

图2:文本嵌入将任何文本转换成数字的向量(左),在嵌入空间中相邻的语义上相似的文本彼此映射(右)

给定一个受过训练的文本嵌入模型,我们可以直接测量模型在单词或短语之间的关联。许多这样的关联是在预料之中的,并且对自然语言任务有帮助。然而,有些关联可能是不确定的或者有害的。例如,Bolukbasi等人的突破性论文发现,在谷歌新闻文本上训练的热门公开可用的word2vec嵌入中,“男人”和“女人”之间的向量关系类似于的“医生”和“注册护士”之间或“店主”和“家庭主妇”之间的关系。

最近,Caliskan等人提出了“单词嵌入关联测试”(Word Embedding Association Test,WEAT),作为一种方法来检验隐式关联测试(Implicit Association Test,IAT)中所捕获的概念之间的单词嵌入中的关联。我们在这里使用WEAT来探索一些不确定的关联。

WEAT测试测量一个模型将多组目标单词(例如,非洲裔美国人的名字、欧洲裔美国人的名字、花、昆虫)与多组属性单词(例如,“稳定的”、“愉快的”或“不愉快的”)联系起来的程度。两个给定单词之间的关联被定义为这些单词的嵌入向量之间的余弦相似度。

例如,第一个WEAT测试的目标列表是花和昆虫的类型,属性是令人愉快的单词(例如,“爱”,“和平”)和令人不愉快的单词(例如,“仇恨”,“丑陋”)。整体测试分数是相对于昆虫而言花更能与令人愉快的单词相关联的程度。

一个高的正分数(分数可以在2.0到2.0之间)意味着花更多地与愉快的词语联系在一起,而一个高的负分数意味着昆虫更多地与愉快的词语联系在一起。高的正分数(分数可以介于2.0和-2.0之间)意味着花与令人愉快的单词更相关,高的负分数意味着昆虫与令人愉快的单词更相关。

虽然在Caliskan等人提出的前两项WEAT测试中测量的是很少引起社会关注的关联(可能昆虫学家除外),但其余的测试测量了更多不确定的偏见。

我们使用WEAT分数来检查几个单词嵌入模型:word2vec和GloVe(之前在Caliskan等人处报告过),以及在TensorFlow Hub平台上的三个新发布的可用模型——nnlm-en-dim50、nnlm-en-dim128和通用的句子编码器。这些分数如表1显示。

表1:针对不同嵌入模型的单词嵌入关联测试(WEAT)分数。单元格颜色表示被测量的偏见的方向是符合(蓝色)还是不符合(黄色)由隐式关联测试记录的常见人类偏见。*使用Caliskan等人(于2015年提出)置换检验具有统计学意义(p

这些关联是从用于训练这些模型的数据中学习得到的。所有这些模型都已经学会了我们可能预期的花、昆虫、仪器和武器的关联,这对于文本理解可能很有用。为了其他目标而学到的关联随着一些(但不是全部)增强了常见人类偏见的模型而变化。

对于使用这些模型的开发人员来说,有一点很重要,就是要意识到这些关联是存在的,并且这些测试只评估了可能存在的不确定偏见的一小部分。减少不必要的偏见的策略是一个新的、活跃的研究领域,而且没有“银弹(新技术)”对所有应用程序都是最好的。

在专注于研究嵌入模型中的关联时,确定它们将如何影响下游应用程序的最明确的方法是直接检查这些应用程序。现在,我们将对两个样本应用程序进行简要分析:一个情感分析器(Sentiment Analyzer)和一个消息应用程序(Messaging App)。

案例研究1:Tia的电影情感分析器

WEAT分数测量了词嵌入的属性,但是它们没有告诉我们这些嵌入是如何影响下游任务的。在本文中,我们演示了在电影评论情感分析任务中,是如何将名字嵌入到一些常见的嵌入中的。

Tia正在试图为电影评论训练一个情感分类器。她没有足够多的电影评论样本,所以她利用预训练嵌入,而这些预训练嵌入能够将文本映射到可以使分类任务更为容易的表征中。

我们使用IMDB电影评论数据集对Tia的场景进行了模拟,该数据集被细分为1,000个正面评论和1,000个负面评论。我们将使用一个已预训练的词嵌入将IMDB评论的文本映射到低维向量中,并将这些向量用作线性分类器中的特征。我们将考虑使用几个不同的词嵌入模型,并分别使用它们来训练一个线性情感分类器。

我们将使用held-out测试集上的ROC曲线下的面积(AUC)度量来评估情感分类器的质量。

下面是电影情感分类中,使用每一种嵌入来提取特征所取得的AUC分数:

图3:对于每种不同的嵌入而言,使用AUC来衡量的情感分析任务的性能表现得分

起初,Tia的所做的决定似乎很简单。她应该使用能够导致分类器得分最高的嵌入,对吗?

但是,我们需要考虑一些可能影响这一决定的其他方面。词嵌入是在Tia可能无法访问的大型数据集上进行训练的。她应该去评估这些数据集中固有的偏差是否会影响她的分类器的行为。

通过查看各种嵌入的WEAT分数,Tia注意到一些嵌入认为某些名称要比其他的更令人“愉快”。这听起来不像电影情感分析器的一个好属性。在Tia看来,名称应该不会影响电影评论的预测性感情。她决定检查这种“愉悦偏差”是否影响她的分类任务。

首先,她构建了一些测试样本,以确定是否可以检测到明显的偏差。

在这种情况下,她从她的测试集中获得100条最短的评论,并附上“由______评论”一词,其中空白处填上名称,使用的是Caliskan等人的“非裔美国人”和“欧洲美国人”名单,以及来自美国社会保障局的普通男性和女性名字,通过这些她研究了平均情感分数中的差异所在。

图4:修改后的测试集中平均情感分数差异,其中“由______评论”已被添加到每个评论的结尾处。小提琴图(violion plot)显示模型在原始IMDB训练数据的小样本上进行训练时的差异分布

上面的小提琴图表显示了Tia所可能看到的平均情感分数的差异分布,而这是通过从原始IMDB训练集中抽取的1,000个正面和1,000个负面评论的子样本中进行模拟的。我们显示了5个词嵌入的结果,以及一个不使用词嵌入的模型(无嵌入)。

检查没有嵌入的情感差异是一个很好的检查,它能够确认与名称相关的情感不是来自小型IMDB监督数据集,而是由已预训练嵌入引入的。我们还可以看到,不同的嵌入会导致不同的系统结果,表明嵌入的选择是Tia情感分类器将会形成的关联关键因素所在。

Tia需要非常仔细地考虑该如何使用这个分类器。也许她的目标只是选择一些好的电影供自己观看。在这种情况下,这可能不是什么大问题。出现在列表顶部的电影可能是非常受欢迎的电影。但是,如果她是根据由她的模型所获得的对男演员/女演员的平均电影评论等级,来决定男演员/女演员的雇佣和支付?这听起来似乎更加存在问题了。

Tia可能不会局限于此处所提供的选择。她可能会考虑其他方法,如将所有名称映射到单个词类型,使用旨在减轻数据集中名称敏感度的数据重新对嵌入进行训练,或者使用多个嵌入并处理模型不同意的情况。

这里没有一个“正确”的答案。这些决策中的很多都是高度依赖于上下文的,并取决于Tia的预期用途。在训练文本分类模型的特征提取方法中,Tia有很多需要考虑的问题。

案例研究2:Tamera的消息应用程序

Tamera正在开发一款消息应用程序,她希望使用文本嵌入模型,在用户收到消息时为其提供建议性回复。她已经构建了一个系统来为给定的消息生成一组候选回复,并且她希望能够使用文本嵌入模型来对这些候选回复进行评分。具体而言,她将通过模型运行输入消息来获得消息嵌入向量,对每个候选响应执行相同的操作,然后用其嵌入向量和消息嵌入之间的余弦相似度为每个候选项进行评分。

虽然在这些建议性回复中,模型偏见可能发挥作用的方式有很多,但她决定将关注的重点落在一个细微且特别的方面:职业与性别之间的联系。针对这一情况,可以得到一个偏差样本,如果收到的消息是“工程师完成项目了吗?”,该模型回答“是的,他做了”的得分要高于“是的,她做了”。这些关联是在用于训练嵌入的数据中学习的,虽然它们反映了训练数据中,每个性别响应的程度可能是实际响应的程度(以及真实世界里这些职业中性别不平衡的程度),但当系统简单地假设工程师是男性时,这对用户而言可能是一种负面的体验。

为了衡量这种偏见的形式,她创建了一个提示和响应的模块化列表,这些模板包含了诸如“你的表弟是/曾是一名?”,“今天在/曾在这里吗?”之类的问题,答案模板是“是的,他是/曾是。”对于给定的职业和问题(例如,“管道工今天会在那里吗?”),模型的偏见分数是模型对女性性别反应的得分(“是的,她会”)与男性性别反应的得分(“是的,他会”)之间的差异。

对于一个特定的职业,模型的偏见分数是所有问题/回答模板的偏见分数与该职业的偏见分数之和

通过这一分析,Tamera使用通用语句编码器嵌入模型来运行分析了200个职业。表2显示了女性偏见得分最高的职业(左)和男性偏见得分最高的职业(右):

表2:女性偏见得分最高的职业(左)和男性偏见得分最高的职业(右)

Tamera并没有因为“女服务员”更容易引发包含“她”的回答而感到担心,但许多其他回答的偏差却使她停了下来。和Tia一样,Tamera也面临着几个选择。她可以简单地接受这些偏见,什么也不做,至少就目前而言,她不会因为用户的抱怨而手足无措。她也可以在用户界面中进行改进,例如,用两种性别响应代替一种性别响应,但如接收的消息中含有性别化的代词时(例如,“今天她会在这里吗?”),她可能不希望这样做。她可以尝试使用偏差消除技术(bias mitigation technique)对嵌入模型进行再训练,并研究这对下游性能的影响,或在训练分类器时,她可能会直接从分类器中减轻偏差。无论她决定做什么,重要的是Tamera已经做了这方面的分析,这样她就能明确自己的产品是做什么的,从而做出明智的决定。

结论

为了更好地理解ML模型可能创建的潜在问题,模型创建者和使用这些模型的从业人员,都应该检查这些模型可能包含的不受欢迎的偏差,我们已经展示了在这些模型中揭示特定形式的刻板印象偏见的工具,但这些当然不能构成所有形式的偏见。甚至在这里讨论的WEAT分析,范围也是相当狭窄的,因此不应该被解释为在嵌入模型中捕捉隐式关联的全部内容。例如,对一个WEAT类别中的50个名称进行了明确的,消除负面关联的训练的模型,可能无法减轻对其他名称或类别的负面关联,由此产生的低WEAT分数可能会给人一种错误的感觉,即负面关联作为一个整体已经得到了很好的解决。这些评估可以更好地告知我们现有模型的行为方式,并作为一个出发点来理解不受欢迎的偏差会如何影响我们制造和使用的技术。我们将继续努力解决这一问题,因为我们认为这非常重要。

原文链接:https://developers.googleblog.com/2018/04/text-embedding-models-contain-bias.html

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180416A16QX400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券