NLP(自然语言处理):Representation Degeneration 表达退化

目录

  • 前言
  • 0. Abstract
  • 1. Introduction
  • 2. Related Work
  • 3. Representation Degeneration Problem
    • 3.1 Expermental Design
    • 3.2 Discussion

前言

表达退化问题是由多伦多、微软、北大的Jun Gao et al. 共同在2019年的ICLR大会上提出的问题,其主旨在训练神经网络时出现的词向量表达退化的问题。本篇文章基于其发表的论文 Representation Degeneration Problem in Training Natural Language Generation Models. 本文旨在首先翻译文章,其次结合一些实例进行分析。

0. Abstract

本文研究了一个存在于基于神经网络的语言生成任务中的问题,我们将它称作 表达退化 (Representation Degeneration)问题。我们发现,在通过最大似然权重绑定(Weight tying)的方法训练一个基于神经网络的语言生成模型时,尤其是在大型训练集时,大多数学习得到的词嵌入会趋向于退化,并分布于一个狭窄的锥形区域内,这样的分布会很大程度上限制词嵌的表达能力。我们分析了这种问题出现的条件和出现的时间,并提出了一个新型的正则化方法来解决这个问题。在语言模型和机器翻译的实验表明,这种方法可以有效缓解表达退化问题,并且在对照组上获得更好的表现。

1. Introduction

基于神经网络的算法在语言生成任务上取得了重大的突破,这其中包括语言模型,机器翻译和对话系统等方面的研究。虽然在应用和模型结构上,各个语言生成模型各不相同,但大多数模型还是依赖于 使用前序上下文信息和其他条件信息对下一个词进行预测 的思想。一种标准的方法是使用深度神经网络,把输入文本编码为固定维的向量,我们通常称这些向量为隐藏层(Hidden state),这些隐藏层最后会和词嵌入矩阵相乘,获得最终的Logits(在权重绑定的情况下,输入词嵌矩阵 = 输出词嵌矩阵)。其Logits会输入Softmax层,生成对于下一个预测此的分类分布。最终模型会通过最大似然训练。(PS:Logits本身为Log(P/(1-P)), 在此处可以理解为未归一化的概率)

当对模型在语言生成任务上训练时,我们发现了一些有趣且奇怪的现象。在前我们介绍了权重绑定,即当输入词嵌与输出词嵌共享时,词嵌入矩阵此时有双重作用 ,它既是输入的第一层,也是输出权重的最后一层。

  • 输入第一层:当其位于输入的第一层时,我们希望词嵌入矩阵包含丰富的语义信息并且能够捕捉当前词的上下文信息,以在不同任务中进一步使用。
  • 输出最后一层:当其用于输出最后一层,生成Logits的时候,我们需要其拥有足够的能力对不同隐藏层信息进行分类,并获得分类后的标签。

此时,我们对权重绑定的情况(图1(a))与不绑定的情况进行对比(图1), 图(b)为Word2Vec的方法训练的输入词向量,而图(c)为经典分类模型训练出的输出词向量,图片都是经过了SVD分解之后的结果。 图一:不同词嵌方式比较

图一:不同词嵌方式对比

从图中,我们不难看出,后两个方法获得的词向量分布都十分离散,而第一个方法的词向量(由Transformer原型得到)并不理想,而是呈现锥形分布。进一步而言,在Transformer的词向量中,我们发现任意两个词向量都正向相关(Positively correlated)。这样的词向量在两个位置都十分不利:

  • 输出端:生成的Logits并不能产生较大的预测边际,以获得较好的泛化性。
  • 输入端:并没有足够的能力对分散的语义进行建模。

对于这样的问题,我们称其为表达退化(representation degeneration problem)。本文即是对此问题的理解和探究。对于此问题,本为提出了一些直觉上的解释和理论验证。
直觉上来说,在通过最大似然损失训练模型的过程中,对任意的隐藏层来说,其对应真值词的词嵌入都会被向前训练(push forward towards the direction of the hidden state),以取得一个更大的似然值,同时,其他所有词将会被向后推进(或说负向推进),以获得一个更小的似然值。而在自然语言模型的训练中,越大的语料库中每个词的词频通常越小,这就会使大多数隐藏层向各个负方向训练。而这样导致的结果是词表中,大多数词嵌都会向一个相同的方向负向更新,因此,词嵌空间中,我们会看到大量的词汇聚集成簇。

当然,直觉的推断并不可靠,理论上来说,首先我们对一些极端情况进行了分析:从未出现的词。我们证明了表达退化问题与隐藏层的结构息息相关:退化现象通常出现于隐藏层的凸包(Convex Hull)不包含坐标原点时,而这种情况在使用layer normalization时更易出现。所以,我们对低频词汇的优化过程做了进一步实际性研究。研究表明,在温和条件下,低频词更容易被训练得彼此相近,因此分布在一个集中的区域里。

受经验上的分析和理论启发,我们设计了一种新型结构,可以通过对词嵌入矩阵的正则化缓解退化问题。如我们所观察到的结果表示,词嵌都集中在一个狭窄的锥形区域,我们尝试通过减小词之间的相似性,以增大扩大锥形的顶点区域(aperture of the cone)。我们通过两个任务验证了此方法的有效性:语言模型和机器翻译。实验结果表示表达退化问题被缓解,且这种方法在对照组模型之上取得了更好的结果。

2. Related Work

这部分内容关于机器翻译,语言模型和权重绑定,可以自行了解。

3. Representation Degeneration Problem

这一部分内容对基于时序生成任务的词嵌入进行了探究。

3.1 Expermental Design

3.2 Discussion