目录
代码地址:GitHub - kanekomasahiro/context-debias
1 摘要
与针对静态词嵌入(非上下文嵌入)提出的众多去偏方法相比,上下文嵌入中的歧视性偏见受到的关注相对较少。本文提出了一种微调方法,可以在Token级或句子级应用,来消除预训练上下文嵌入的偏见。本文提出的方法可以应用于任何预训练的上下文嵌入模型,而不需要重新训练这些模型。本文发现,(1)对所有Token以及上下文嵌入模型的所有层应用Token级去偏可以产生最佳性能;(2)对于不同的上下文嵌入模型,准确性与无偏性之间的权衡是不相同的。
2 引言
与静态词嵌入相比,消除上下文嵌入的偏见更具挑战性:
(1)与单词的语义表示仅限于单个向量的静态单词嵌入模型相比,上下文嵌入模型具有大量以复杂方式相关的参数。然而,哪些参数造成与特定单词相关的不公平偏见并不明显。因此,普遍用于对预训练的静态词嵌入进行去偏的基于投影的方法不能直接应用于对预训练的上下文词嵌入去偏。
(2)在上下文嵌入的情况下,与特定单词表示相关的偏见是目标单词本身及其上下文的共同作用。因此,同一个词在某些情况下可能会表现出不公平的偏见,而在其他情况下则不然。在消除上下文嵌入模型的偏见时,重要的是要考虑在不同上下文中与目标单词同时出现的单词。
(3)从头开始预训练大规模上下文嵌入非常耗时,并且需要专门的硬件,例如 GPU/TPU 集群。另一方面,针对特定任务微调预训练的上下文嵌入模型(可能使用目标任务的标记数据)相对来说耗费更少。
以性别偏见作为示例,本文通过提出一种去偏方法来解决上述挑战,该方法可以微调预训练的上下文词嵌入。本文所提方法保留了上下文嵌入模型学到的关于性别相关单词的语义信息,同时消除了预训练模型中的刻板偏见。特别是,本文所提方法与上下文嵌入方法的内部架构无关,可以将其应用于消除不同预训练上下文嵌入的偏见,例如 BERT、RoBERTa、ALBERT、DistilBERT和 ELECTRA。此外,本文所提方法可以应用于Token级或句子级,使我们能够在预训练的上下文嵌入模型中的不同粒度和不同层上进行去偏。
3 消除上下文嵌入的偏见
本文提出了一种在微调设置中消除预训练上下文词嵌入偏见的方法,该方法同时能:(1)保留预训练上下文词嵌入模型中的语义信息;(2)通过正交消除与性别相关的歧视性偏见,通过在Token级或句子级进行操作来投影中间(隐藏)层。
属性词: 阴性词(如she、woman、her)和阳性词(如he、man、him)
目标词: 性别中立的词,如职业词(doctor、nurse、professor)
句子集合: 由属性词(或目标词)提取的句子集合
包含所有属性词的句子集合:
包含所有目标词的句子集合:
上下文词嵌入模型:
预训练模型参数:
模型第i层的Token :
模型中的总层数:N
首先,提取包含属性词和目标词的句子,包含多个属性(或目标)词的句子将被排除以避免歧义。本文所提方法要求保留中句子的语义信息,消除中句子的歧视性偏见。
其次,为了形式化要求:目标词的去偏词嵌入 不得包含与受保护属性 相关的任何信息,本文考虑将属性词的非上下文嵌入和之间内积的值作为损失,如公式(1)所示。
是通过对模型第 i 层中上下文嵌入在中的所有句子进行平均来计算的,如公式(2)所示。其中,表示中的句子总数。
如果一个词被分割成多个子Token,本文会通过平均其组成子Token的上下文嵌入来计算该词的上下文嵌入。最小化 公式(1) 定义的关于的损失,来迫使模型的隐藏状态与受保护的属性(例如性别)正交。
尽管消除模型中的歧视性偏见是本文的主要目标,但也必须确保同时为下游任务保留尽可能多的预训练模型编码的有用信息。本文将其建模为正则化器,度量原始模型(由参数化)第 i 层中单词的上下文嵌入与去偏模型之间的的平方距离,如公式(3)所示。
最后,总体训练目标如公式(4)所示,为公式 (1) 和 (3) 两个损失的线性加权和。其中,系数满足。
如图 1 所示,上下文词嵌入模型通常包含多个层。为了消除偏见,模型的哪些隐藏状态最适合计算并不明显。因此,本文在实验中计算特定上下文词嵌入模型中不同层的。具体来说,考虑三种设置:仅对第一层、最后一层或所有层进行去偏。此外,可以仅针对句子中的目标词进行计算(如公式(1)所示),或者可以对中的所有词进行求和(即
)。本文将前者称为词级去偏,后者称为句子级去偏。