日记大全

日记大全 > 句子大全

神经网络语言模型的表征退化问题

句子大全 2023-01-23 05:14:01
相关推荐

词向量、句子向量广泛用于各种 NLP 任务以及模型中,例如句子检索、语义匹配等任务,但是研究发现利用神经网络训练得到的语言生成模型会存在表征退化问题(representation degeneration problem)。即使用大型预料集训练神经网络,大部分单词的词向量会退化并分布在高维空间的一个狭小锥形中,会影响单词表征向量的效果。本文介绍的一篇 ICLR 2019 的论文,里面对这种现象进行了解释并提出了一种正则化的方式解决这一问题。

1.表征退化问题

最近在工作中的某些任务需要用到 Bert 生成句子的表征向量,但是在实验中发现对于任意两个句子,Bert 生成句向量均具有较高的余弦相似度,即使是重新微调后,也是存在这种现象。因此查阅了一些文献,发现有不少文献都研究了神经网络语言模型的表征问题,本文介绍的文章是《Representation Degeneration Problem In Training Natural Language Generation Models》,文章提到了表征退化问题,如下图所示。

上图分别展示了对三种表征向量进行降维可视化:Transformer 词向量 (a)、Word2Vec 词向量 (b) 以及常见分类任务的隐藏层向量。

图 (a) 是在英语-德语翻译任务上训练的 Transformer,可以看到 Transformer 词向量的投影是不均匀的,分布在一个窄的锥体里,另外几乎所有 Transformer 词向量的余弦相似度都是正数。这表明了 Transformer 的词向量并不能很好地分布在表征空间里,这种现象会影响词向量的表征能力,对于后续的 Softmax 分类来说一个更广泛均匀的分布更有利于获得 “大间距” 的结果。作者也对 LSTM 词向量进行了实验,结果是相似的,这种现象称为表征退化问题。

反观 Word2Vec 的词向量,即图 (b),可以看到 Word2Vec 的词向量比较均匀地分布在原点附近,说明了不同的单词有不同的语义,对于 Glove 等词向量均有类似的结果。图 (c) 是对于 MNIST 数据集 (10 个类) 分类的模型,最后一层是 Softmax,图 (c) 的三角形表示的是 Softmax 层 10 个类的表征向量,其他的点表示待预测数据的隐藏层向量。可以 Softmax 向量均匀分布在原点附近,每个类之间具有较大的间距,而数据的隐藏层向量方向和 Softmax 向量方向基本一致。

2.表征退化的原因

2.1 直观原因

训练神经网络的时候,假设正确的单词是 wi,则对于隐藏层向量 hi,我们需要把 wi 往 hi 的方向推,同时把其他单词往 hi 的反方向推,如下面的公式所示。

在自然语言中,词汇表通常比较大,而绝大部分的单词词频却很小,即符合长尾分布。因此绝大部分的单词都会被被推向整体隐藏向量 (原文为 most hidden states,我理解为所有训练预料得到的隐藏向量的均值) 的反方向,这些单词会指向相似的方向并分布在一个狭小的空间里。

2.2 理论原因

极端情况下存在一些词完全没有出现在训练预料中,而 NLP 任务中词频是符合长尾分布的,即大部分的单词具有很低的词频。在训练的过程中,这些低频词的表现会和未出现的词相似,因此论文作者先考虑极端情况,即未出现的单词,然后再延展到低频词。本文只介绍作者在极端情况下的解释,对于一般的情况大家可以阅读原论文了解。

假设第 N 个词 wN 没有出现在训练集,并且其他参数已经训练好并固定不变,则对于 wN,我们的优化目标如下:

下面是一些论证过程中要用到的定义及定理,具体的证明过程可以查看原论文附录:

定义一:如果向量 v 对于所有的 hi (i=1, 2, ..., M) 都有 <v, hi> 小于 0,则向量 v 是 hi 的均匀负方向向量 (uniformly negative direction)。

定理一: A. 如果均匀负向量的集合不是空的,则为凸形。B. 如果存在向量 v 是 hi (i=1, 2, ..., M) 的均匀负向量,则上述 wN 优化公式可以在 k×v 是得到最优解,k 趋近无穷。

定理二: 当且仅当 hi 形成的凸包 (convex hull) 不包括原点时,存在 v 是 hi 的均匀负向量。

根据定理二要让 hi 存在均匀负向量 v,首先需要保证 hi 不包括原点。在 NLP 任务的训练过程中,经常用到 layer norm 把隐藏层向量归一化为标准向量,再进行缩放和偏移操作。作者也在证明了温和条件下,隐藏层向量几乎是不会包含原点的。所有 hi 的均匀负向量 v 存在。而根据定理一,如果均匀负向量 v 存在,则 wN 在 v 的方向上可以达到最优解,而所有的均匀负向量通常会构成一个凸的锥形。

3.解决方案

针对表征退化问题,论文作者提出了一种简单的解决方案。之前我们提到了单词向量会分布在高维空间的一个狭窄圆锥体内,这限制了表示的表达性。为了便于优化,论文作者通过损失函数最小化任意两个词向量之间的余弦相似性,从而增加词向量之间的间距,增加表达性。这种损失函数称为 MLE-CosReg (MLE with Cosine Regularization),MLE 指最大似然估计,最终的损失函数公式如下:

4.实验效果

下面是通过 MSE-CosReg 损失函数训练得到的词向量,通过图 (a) 可以看到词向量的分布有了较大的改善。图 (b) 是对词向量矩阵进行 SVD 分解的奇异值,可以看到采用 MSE-CosReg 训练得到的奇异值分布相对均匀。

下面是 LSTM 语言模型的对比实验,评价指标是困惑度,可以看到使用 MLE-CosReg 损失的效果更好。

下面是机器翻译的对比实验,模型为 Transformer,使用 MLE-CosReg 也有比较大的提升。

5.参考文献

Representation Degeneration Problem In Training Natural Language Generation Models

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新