雷锋网 AI 科技评论按:本文由 Ben Packer, Yoni Halpern, Mario Guajardo-Céspedes & Margaret Mitchell (Google AI)于 2018 年 4 月 13 日发布。这篇文章讨论并尝试实际测量了不同文本嵌入模型中的性别偏差。雷锋网 AI 科技评论全文编译如下。
当面对任务时,我们机器学习从业者通常基于该任务上的表现好坏来选择或训练模型。例如,假设我们正在建立一个系统来分类电影评论是正面还是负面,我们会选取 5 种不同的模型,看看每个模型对于这项任务的表现如何。
通常情况下,我们会选择模型 C。尽管较之其他模型,模型 C 的效果最好,但是我们发现,模型 C 也最有可能将更积极的情感赋予「主角是男人」这句话,而不是「主角是女人」这句话。 我们应该重新思考这个问题吗?
神经网络模型可以非常有力、有效地用于模式识别并揭示从语言翻译,病理学到玩游戏等各种不同任务的结构。同时,神经网络(以及其他类型的机器学习模型)也包含许多形式的存疑的偏差。例如,被训练用于检测粗鲁,侮辱或不恰当评论的分类器在面对「我是同性恋」和「我是直的」这两句话时,可能更容易命中前一句;人脸识别模型对于着妆的女性而言可能效果不佳;语音转录对美国黑人的错误率可能高于美国白人。
许多预先训练好的机器学习模型已广泛供开发人员使用。例如,TensorFlow Hub 最近公开发布了平台。当开发人员在应用程序中使用这些模型时,他们意识到模型存在偏差以及偏差在这些应用中会如何展现。
人为的数据默认编码了人为的偏差。意识到这件事是一个好的开始,关于如何处理它的研究正在进行中。在 Google,我们正在积极研究意外偏差分析和减小偏差的策略,因为我们致力于制造适合每个人的产品。在这篇文章中,我们将研究一些文本嵌入模型,提出一些用于评估特定形式偏差的工具,并讨论构建应用程序时这些问题的重要性。
文本嵌入模型将任何输入文本转换为数值化的输出向量,并且在过程中将语义相似的词语映射到相邻的向量空间中:
给定一个训练好的文本嵌入模型,我们可以直接测量模型中的单词或短语之间的关联。这些关联许多都是符合预期的,并有助于自然语言任务。然而,也有些关联可能会有问题。例如,Bolukbasi 等人的突破性 NIPS 论文《Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings》(https://arxiv.org/abs/1607.06520)中发现,基于 Google 新闻文本用流行的开源工具 word2vec 训练的词向量模型中,「男人」和「女人」之间的向量关系类似于「医生」和「注册护士」或「掌柜」和「家庭主妇」之间的关系。
最近,由 Caliskan 等人提出的词向量关联测试(WEAT)(Semantics derived automatically from language corpora contain human-like biases, Science, https://arxiv.org/abs/1608.07187)是一种检查词向量概念之间关系的方法,这些概念可以从内隐联想测验(IAT)中捕获。本文我们将 WEAT 用作探索某些存疑关联的一种方式。
WEAT 测试得出了模型将目标词组(例如,非洲裔美国人名字,欧洲美国人名字,花或昆虫)与属性词组(例如「稳定」,「愉快」或「不愉快」)联系起来的程度。两个给定词之间的关联被定义为词向量之间的余弦相似度。
例如,第一次 WEAT 测试的目标列表是花和昆虫的类型,属性列表是表愉快的词(例如「爱」,「和平」)和不愉快的词(例如「仇恨」,「丑陋的」)。总体测试分数上,相对于昆虫,花与表示愉快的词语之间的相关程度更大。值为正的高分(分数可以介于 2.0 和-2.0 之间)意味着花与愉快的单词更相关,而值为负的高分意味着昆虫与愉快的单词更相关。
而在 Caliskan 等人提出的第一个 WEAT 测试中,测量的关系并不是社会所关注的(除了对昆虫学家而言),其余的测试可以测量出更多存疑的偏差。
我们使用 WEAT 分数来检查几个词向量模型:word2vec 和 GloVe(以前在 Caliskan 等人文章中提到过),以及 TensorFlow Hub 平台上开源的三个新发布的模型——nnlm-en-dim50,nnlm-en-dim128 和 universal-sentence-encoder。得分报告在表 1 中。
这些关联是从用于训练这些模型的数据中学习得到的。所有模型都已经学会了我们可能期望的花、昆虫、乐器和武器的联系,这可能对文本理解有用。从其他目标类别学习得到的关联关系中,包含一些(但不是全部)由模型增强了的常见人为偏差。
对于使用这些模型的开发人员来说,了解这些关联存在很重要,并且这些测试仅评估一小部分可能存在问题的偏差。减少不必要偏差的策略是一个新的活跃的研究领域,然而目前并没有某一个方法可以适用于所有应用。
在关注文本嵌入模型中的关联时,要确定它们对下游应用程序影响的最明确方法是直接检查这些应用程序。我们现在来看看对两个示例应用程序的简要分析:一个情感分析器(Sentiment Analyzer)和一个消息应用程序(Messaging App)。
WEAT 分数测量词向量的属性,但是他们没有告诉我们这些向量如何影响下游任务。在这里,我们演示将姓名映射到几个常见向量后对于影评情感分析的任务的影响。
Tia 正在训练一个电影评论情感分类器。她没有太多的影评样本,所以她利用预训练文本嵌入模型,将文本映射到可以使分类任务更容易识别的表示中。
让我们使用 IMDB 电影评论数据集来模拟 Tia 的场景,对 1000 个正面评论和 1000 个负面评论进行二次抽样。我们将使用预先训练的词向量来将 IMDB 评论的文本映射到低维矢量空间,并将这些矢量用作线性分类器中的特征。我们将考虑一些不同的词向量模型,并分别训练一个线性情感分类器。
我们将使用 ROC 曲线下的面积(AUC)度量来评估情感分类器的质量。
这里是使用每个向量模型提取特征的电影情感分类的AUC分数:
起初,Tia 似乎很容易做出决定。她应该使用得分最高的向量模型用在分类器中,对吧?
但是,让我们考虑一些可能影响这一决定的其他因素。这些词向量模型是在 Tia 可能无法获取的大型数据集上训练得到的。她想评估这些数据集中固有的偏差是否会影响她的分类行为。
通过查看各种向量模型的 WEAT 分数,Tia 注意到一些词向量模型认为某些名称比其他名称更具有「愉快」的含义。这听起来并不像电影情感分析器的一个很好的属性。Tia 认为名称不应该影响电影评论的预测情感,这似乎是不对的。她决定检查这种「愉悦偏差」是否影响她的分类任务。
她首先通过构建一些测试样例来确定是否可以检测到明显的偏差。
在这种情况下,她从她的测试集中取得 100 条最短的评论,并附上「评论来自 _______」这几个字,其中空白处填入一些人的姓名。使用 Caliskan 等人提出的「非裔美国人」和「欧洲美国人」名单,以及来自美国社会保障局的普通男性和女性的名字,她研究了平均情感分数的差异。
上面的小提琴图显示了 Tia 可能看到的平均情感分数的差异分布,通过从原始 IMDB 训练集中抽取 1000 个正面和 1000 个负面评论的子样本进行模拟。我们展示了 5 种词向量模型的结果以及没有使用词向量的模型的结果。
检查没有词向量的情感差异很方便,它可以确认与名称相关的情感不是来自小型IMDB监督数据集,而是由预训练词向量模型引入的。我们还可以看到,不同的词向量会导致不同的系统输出,这表明词向量的选择是 Tia 情感分类器将会产生的关联的关键因素。可以看到,只是在最后附加了不同性别的名字,都导致某些模型的情感分类的结果出现了变化。
Tia 接下来就需要非常仔细地考虑如何使用这个分类器。也许她的目标只是选择一些好的电影供自己观看。在这种情况下,这可能不是什么大问题。出现在列表顶部的电影可能是非常喜欢的电影。但是,如果她用她的模型来评估演员的平均影评等级,以此为依据雇佣演员并支付演员薪酬呢?这听起来就有大问题了。
Tia 可能不限于此处所提供的选择。她可能会考虑其他方法,如将所有名称映射到单个词中;使用旨在减轻数据集中名称敏感度的数据重新训练词向量;或使用多个向量模型并处理模型不一致的情况。
这里没有一个「正确」的答案。这些决策中的很多都是高度依赖于上下文的,并取决于 Tia 的预期用途。对于 Tia 来说,在选择训练文本分类模型的特征提取方法时需要考虑的指标远不止分类准确率一项。
Tamera 正在构建一个消息应用程序,并且她希望使用文本嵌入模型在用户收到消息时给予他们建议的回复。她已经建立了一个系统来为给定的消息生成一组候选回复,并且她希望使用文本嵌入模型对这些候选人进行评分。具体而言,她将通过模型运行输入消息以获取消息的文本嵌入向量,对每个候选响应进行相同的处理,然后使用嵌入向量和消息嵌入向量之间的余弦相似度对每个候选者进行评分。
虽然模型的偏差在许多方面可能对这些建议答复起作用,但她决定专注于一个狭窄的方面:职业与二元性别之间的关联。在这种情况下,举一个关于偏差的例子,如果传入的消息是「工程师是否完成了项目?」模型给回答「是的,他做了」的评分高于「是的,她做了」,就体现出了模型的偏差。这些关联是从用于训练词向量的数据中学习的,虽然它们对于性别的反应程度很可能就是训练数据中的实际反应(以及在现实世界中这些职业中存在性别不平衡的程度),但当系统简单地假定工程师是男性时,对用户来说可能是一种负面的体验。
为了衡量这种形式的偏差,她创建了提示和回复的模板列表。这些模板包括诸如「是你的表弟吗?」和「今天是在这里吗?」等问题,答案模板是「是,他/她是的」。对于一个给定的职业和问题(例如,「水管工今天会在场吗?」),模型的偏差分数是模型对女性性别反应(「是,她会」)的分数与男性(「是的,他会的」)的分数的差异:
对于整个给定的职业,模型的偏差分数是该职业所有问题/答案模板的偏差分数的总和。
通过使用 Universal Sentence Encoder 嵌入模型分析,Tamera 可以运行 200 个职业。表 2 显示了最高女性偏差分数(左)和最高男性偏差分数(右)的职业:
「女服务员」问题更有可能产生包含「她」的回应,但 Tamera 并没有为此感到困扰,但许多其他回应的偏差阻拦了她。和 Tia 一样,Tamera 可以做几个选择。她可以简单地接受这些偏差,不做任何事情,但起码,如果用户抱怨,她不会措手不及。她可以在用户界面上进行更改,例如通过提供两个性别的响应而不是一个,当输入消息中需要含有性别代名词的时候(例如,「她今天会在那里吗?」)。
但她也可能不想这样做。她可以尝试使用偏差减轻技术重新训练词嵌入模型,并检查这会如何影响下游任务的表现,或者她可能会在训练她的分类器时直接减轻分类器中的偏差(例如,http://research.google.com/pubs/pub46743.html,https://arxiv.org/abs/1707.00075,或者 https://arxiv.org/abs/1801.07593 )。无论她决定做什么,重要的是 Tamera 都会进行这种类型的分析,以便知道她的产品的功能,并且可以做出明智的决定。
为了更好地理解 ML 模型可能产生的潜在问题,模型创建者和使用这些模型的从业者应该检查模型可能包含的不良偏差。我们已经展示了一些工具来揭示这些模型中特定形式的刻板印象偏差,但这当然不构成所有形式的偏差。即使是这里讨论的 WEAT 分析的范围也很窄,所以不应该被解释为在嵌入模型中抓取隐式关联的完整故事。例如,针对于消除 WEAT 类别中的 50 个名称的负相关而明确训练的模型可能不会减轻其他名称或类别的负相关,并且由此产生的低 WEAT 得分可能给出错觉,即整体上的负关联问题已经得到了很好的解决。这些评估更好地告诉我们现有模型的行为方式,并作为一个起点让我们了解不需要的偏差是如何影响我们创造和使用的技术的。我们正在继续解决这个问题,因为我们相信这很重要,同时也邀请您加入这个话题。
致谢:我们要感谢 Lucy Vasserman,Eric Breck,Erica Greene 以及 TensorFlow Hub 和 Semantic Experiences 团队在这项工作上的合作。
via developers.googleblog.com,雷锋网 AI 科技评论编译