Debiasing word embeddings | 浅谈词嵌入除偏 #yyds干货盘点#

Posted LolitaAnn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Debiasing word embeddings | 浅谈词嵌入除偏 #yyds干货盘点#相关的知识,希望对你有一定的参考价值。

这篇文章是我的笔记分享,内容主要来自吴恩达老师的深度学习课程。^[AI中国官网-全球领先的线上AI教育、实践平台 (deeplearningai.net)]

刻板印象的存在

word embedding对我们模型泛化性具有很重要的影响,因此我们也要确保它们不受非预期形式偏见的影响。比如性别歧视,种族歧视,宗教歧视等等。

当然我觉得用提示这个词有点严重了,这里我们可以理解为刻板印象。

举个栗子:

我的爸爸是个医生,我的妈妈是___

我的爸爸是公司职员,我的妈妈是___

男孩子喜欢 。女孩子喜欢

第一个空的当然很可能是“护士”。第二个空的答案很可能是“家庭主妇”。第三个空的答案很可能是“变形金刚”。第四个空的答案很可能是“芭比娃娃”。

这是什么呢?这就是所谓的性别刻板印象。这些刻板印象都和社会经济状态相关。

学习算法是没有刻板印象的,但是人类写出来的文字是有刻板印象的。而Word embedding就可以“很好的”学会这些刻板印象。

所以我们需要尽量的修改学习算法,尽可能减少或者理想化,消除这些非预期类型的偏见。


消除词嵌入刻板印象

借助的是arXiv:1607.06520^[[1607.06520v1] Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings (arxiv.org)]的方法。

主要分为以下三个步骤:

  1. Identify bias direction.
  2. Neutralize: For every word that is not definitional, project to get rid of bias.
  3. Equalize pairs.

假设现在我们已经有一个学习好的word embedding。

还是延续我们之前的样式。它采用的的是300维的特征,然后我们将其映射到二维平面上。这些词在平面上的分布就如图所示。

1. 找方向

要找出存在于两个词之间刻板印象主要存在的方向,这个方法我们在前边讲word embedding特性的时候提过一次。就是将两个向量做减法得出他们差异的主要维度。

$edoctor-enurse$

$eboy-egirl$

$ehe-eshe$

$egrandmother-egrandfather$

上面这几个做减法之后会发现它们的差异主要在gender这一维度上。

之后对上面这几个做一个平均值

我们就可以得出下面这个结果:

我们能够找出一个与我们产生刻板印象偏见最主要的方向。然后也能找到一个特定偏见并不相关的方向。

注意: 在这个情况下,我们认为我们的偏见方向“gender”是一个一维的空间,而剩下这个无关的方向是一个299维的子空间。这相对于原论文进行了简化。具体的可以去阅读文章末尾提供的参考文献。

2. 中和处理

有这词它是有明显的性别区分的,但是有的词它应该是不存在性别区分而公平存在的。

存在性别区分的词,比如grandmother和grandfather,而不存在性别区分的,比如nurse,doctor。对于这类词我们要对其进行中和处理,也就是说减少偏见方向上的水平距离。

3.均衡处理

第二步是处理那些不存在性别区分的词。那存在性别区分的词汇存在什么问题呢。

上图我们可以明显的看出。对于nurse这个词,它与girl的距离明显比boy更近。所以说如果进行文本的生成,提到nurse,出现girl的可能性会更大。所以我们需要通过计算进行距离的均衡。

经过计算将其进行平移,是不存在性别区分的词是。到存在性别区分的词之间的距离相等。

以上是关于Debiasing word embeddings | 浅谈词嵌入除偏 #yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch学习笔记之初识word_embedding

Word Embedding理解

万物皆可Embedding,从word2vec到item2vec、node2vec

对 Evaluation methods for unsupervised word embeddings 的理解

Word Embedding in Golang

对于 word.zip 文件的 word/embedding 中的文件,将 .bin 转换为 .png