导言
这篇论文是Orestis Papakyriakopoulos等几位大佬在2020年发表的,这是一篇稍微偏向于理论的文章,主要讲述了词嵌入向量(embedding)中的偏见(bias)问题。其首先对于bias进行了界定和讨论,从实验角度给出了bias在词嵌入向量到模型的传播性,而后给出了量化bias的方法,最后给出了缓解bias的策略。算是一篇对于bias论述的非常全面的论文,对于想了解词嵌入向量中的偏见(bias)问题的人来说很值得一读。
背景知识
词嵌入向量(embedding)是什么?
词嵌入是指用有意义的数字向量表示词汇表中的单词,它们能够捕捉单词的语义和句法意义以及与其他单词的关系。简单地说,词嵌入向量就是为每一个词语赋予一个数值向量,而向量间的夹角/距离可以体现向量所对应的词语之间的关系。
以上图为例,xx轴是某一个词与 「他(he)」 和 「她(she)」 两个词的嵌入之间的距离,而yy轴代表一个词语本身和性别的相关性,与性别无关的位于上半部分,而与性别有关的词位于下半部分。例如 beautiful
这个词,观察其对应的x轴的位置可以发现,这个词和女性(she
)的距离更加接近。而从y轴的位置来说,这个词相对来说和性别无关。
偏见(bias)是什么
所谓偏见,简单而言就是指刻板印象
,比如看见德国人就想到纳粹,看见黑人就想到零元购,看见白人就想到奴隶主等,偏见就是对于一个群体/一个词语的刻板关联。再次以上图为例:
以brilliant
为例,尽管从定义上说,brilliant
(意思是杰出的)是完全不分性别的,但它的embedding更加接近男性(he
)。
为什么词嵌入向量(embedding)中会有偏见(bias)?
之前的研究[1]已经显示,词嵌入向量确实存在bias。这种bias主要源于输入数据集,也就是训练embedding的文本语料库本身带有较强的bias。比如,我专门找某个地区的负面新闻去训练一个embedding,那个训练出的embedding就会成为“地域黑”。毕竟带有偏见的输入最终导致偏见的输出,因为机器学习模型的输入仅仅是对现实的描述。如果我们不加思索地训练模型,那么模型的输出就会将现实当作理想,我们就此创建了一个强化现有状况、包括所有缺陷的复杂机器。
而在NLP领域的词嵌入向量中,bias的影响可能特别强烈,原本一个词语在不同的语境中有不同的含义,但是训练embedding的文本本身有bias时,embedding本身就会将每一个词汇在训练集中带有的偏见固化。而embedding本身又常常是其他NLP模型训练的基础,这就导致其训练出的模型也会受到污染,最终可能导致带有社会歧视性的决策。举个例子:如果一个辛苦训练出的大模型,会在一些特定的领域名词带有错误的偏见,比如错估河南的井盖留存率,或者错估内蒙的城市化程度等,这样的大模型也是没法商用滴~
论文的试验方案
接下来我们回到论文本身:作者的研究步骤是什么样的呢?
- 首先,他们利用完整的德语维基百科训练了一组词嵌入向量,又基于与德国六大政党相关的 Facebook 和 Twitter 内容训练了另一组词嵌入向量。训练采用 GloVe[2] 方法。但是这样的话,两组词嵌入向量就不处于同一个向量空间中,该怎么进行比较呢?
- 为了比较这两组词嵌入,就需要将它们放置在同一向量空间中。于是他们找到了一个线性变换矩阵,使得一个词嵌入集的所有词汇能以最小的平移量放置到另一个词嵌入集的向量空间中。由于转换是线性的,词汇之间的归一化距离保持不变,从而任何偏见都得以保留。
- 接下来,他们测量了训练好的嵌入中的偏见。
- 在证明了词嵌入确实包含偏见后,下一步是检查使用这些词嵌入训练的模型是否在其输出中显示了偏见(实验结果为是)。考虑到生成的模型显示了偏见,他们探讨了在词嵌入层和最终训练的分类器层面上减轻偏见的方法。
- 最后,他们展示了如何通过偏见的词嵌入来帮助我们检测新产生的文本样本(例如,语言模型的输出)中的相同偏见。
如何量化词嵌入向量中的偏见
假设我们想探究一个概念的词嵌入向量是否存在性别偏见。我们可以计算该概念与 Man
(男人)的余弦距离,然后减去该概念与 Woman
(女人)的余弦距离。如果结果非零,说明该概念在向量空间中和某一个性别的联系更加紧密,导致其距离一个性别比另一个性别更近,揭示了某种方向的偏见,而结果的大小则告诉我们偏见的程度。论文作者利用这个概念距离计算方案来计算训练得到的词嵌入向量在职业、德国人与外国人,以及同性恋者与异性恋者方面的偏见。
结果表明,训练得到的向量更倾向于将女性与护理和秘书工作联系在一起,而将男性与警察和指挥官等角色联系在一起。德国人更容易与正面情感如魅力和激情,合作和团结联系在一起,而外国人通常与移民、法律和犯罪等概念联系在一起。同性恋者与发型师或艺术家等角色联系,而异性恋者与蓝领职业和科学联系。同性恋通常与负面情感联系,而异性恋与正面情感联系。
以下的表格给出了在维基百科和社交媒体数据集中偏见最严重的词汇的摘要。
结果展示了词嵌入在团体刻板印象(group stereotypes)(见上图中第二张表格的中间行)和prejudice(见上图中第一张表格,该表格展示了性别偏见和国籍偏见)等方面包含了高度的bias。通过比较不同性别、种族和性取向的的词嵌入向量,可以发现强烈的刻板印象和对不同群体的不平衡评价。虽然维基百科在刻板印象方面的偏见更为明显,但社交媒体数据集在国籍偏见方面的偏见更为严重。
偏见的词嵌入会导致偏见的模型吗?
那么接下来的小问题就是,我们都知道词嵌入向量通常是作为基座存在的,在训练出一个词嵌入向量的下一步,就是利用这个词嵌入向量去训练一个应用于实际任务的NLP模型,那么偏见的词嵌入会导致偏见的模型吗? 为了解答这个问题,作者的研究方案如下:
- 这个作者训练了一个情感分类模型模型,该模型以词嵌入向量为输入,预测该词是具有积极还是消极的情感。
- 为了评估模型中的偏见,作者输入了一些名字:假设模型本身没有bias,那么模型对这些名字的输出应该为0,因为名字本身不具有情感极性。选定的名字是九个人口群体的典型名字:德国人、土耳其人、波兰人、意大利人、希腊人、法国人、美国人、俄罗斯人和阿拉伯人。作者还比较了男性和女性的名字。
最终实验结果如下图所示:
可以看到,使用带有bias的词嵌入会训练出带有bias的机器学习模型。在bias词嵌入上训练的模型会复制词嵌入向量中的bias。无论是性别歧视还是仇外心理,偏见的传播都得到了证明,情感分类模型为德国人分配了积极的情感,而为外国人分配了消极的情感。此外,男性和女性在嵌入中的bias在模型中被成功复制。
如何解决偏见问题呢?
虽然一个带有偏见的数据集理论上不应该被使用,但是,有时候采集一个数据集本身就非常耗费心力,即使数据集本身带有bias,也没法去采集一个新的数据集。而就那么在这种情况下,如何在一个带有bias的数据集上训练出一个不带有Bias的模型呢?
解决方案:嵌入层和模型层
作者探讨了两种不同的方法来缓解情感分类模型中的偏见:
- 词嵌入向量的层面消除偏见:首先,我们筛选出理论上的中立词,而后使理论上的中立词与情感向量(例如 good(好)- bad(坏),positive(积极)- negative(消极)等)正交。
- 在模型的层面上消除偏见:通过调整线性 SVM 分类器所学习的线性超平面,使这个平面与情感向量正交。
效果对比
尽管这两种方法都在能减少分类结果中的bias,但从实验结果来说,在模型层面上的纠正更为有效,如下图所示:
原因分析
其原因在于:bias在embedding中的表现形式可能种类丰富且非常隐蔽,或者说,这些偏见已经成为了一种隐形特征,机器学习模型本身就擅长于自动化的特征挖掘,因此,仅仅对理论上中立的词语的嵌入向量进行纠正可能还远远不够。
方案局限性
这里,我们也不可避免地看到方案的局限性:并不是所有的模型都和SVM模型一样,具有较好的可解释性————很多深度神经网络模型,我们根本不知道网络学到的是什么东西,又怎么能做到让网络学到的东西和情感词无关呢?因此,模型层的解决方案只能在模型本身较为简单/可解释性较强的前提下才能用。
如何检测文本中的偏见?
作者构建了一个数据集,包括相等数量的性别歧视和非性别歧视评论。随后,他们测试了两种架构的模型:LSTM和基于注意力的模型(transformer),该模型用于将评论分类为有或无性别歧视。简而言之,就是常见的黑盒对抗黑盒的思想:既然我不知道文本中的偏见会变成什么样的数值特征,我就让模型自己去提取它!因此,训练出一个专门的二分类模型就可以啦~
实验结果如下图所示,attention is all you need。
最后,当谈到生成性语言模型时,论文表示一个可能的想法是使用模型生成文本语料库,然后在该语料库上训练词嵌入,接着分析它们是否存在偏见。任何检测到的偏见都可以作为负面强化的形式,反馈到语言模型的训练过程中。事实上这已经有了一点点RLHF的味道,作为一篇20年的论文来说尤其不错了。
引用
[1] Bolukbasi T, Chang K W, Zou J Y, et al. Man is to computer programmer as woman is to homemaker? debiasing word embeddings[J]. Advances in neural information processing systems, 2016, 29.
[2] Pennington J, Socher R, Manning C D. Glove: Global vectors for word representation[C]//Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014: 1532-1543.