Press "Enter" to skip to content

香侬读 | 形变LSTM(Mogrifier LSTM)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文标题:

 

 

论文作者:

 

Gábor Melis, Tomáš Kočiský, Phil Blunsom

 

论文链接:

 

https://openreview.net/forum?id=SJe5P6EYvS

 

收录情况:

 

ICLR 2020 (Oral)

 

本文提出形变LSTM(Mogrifier LSTM),在普通LSTM上稍作修改,令输入和状态首先进行多轮交互,再送入到LSTM中参与运算。这种简单的修改在语言模型上取得显着效果。

 

长短时记忆网络LSTM

 

自从深度学习兴起以来,长短时记忆网络(Long Short-Time Memory, LSTM)就一直被广泛应用在各类NLP任务中。LSTM是一种RNN,其公式可以表达如下:

 

 

可以简写为 。这里, 是遗忘门(forget),用来控制前一个记忆单元 保留多少; 是输入门(input),用来控制当前的信息 应输入多少; 是输出门(output),用来控制当前记忆单元 应该输出多少。

 

使用LSTM普遍被认为可以缓解梯度消失和信息遗忘的问题,从而更好地建模长距离语义。

 

但是,注意到在LSTM中,当前的输入 是和之前的状态 相互独立的,它们只在门中进行交互,在这之前缺乏交互,这可能会导致上下文信息的丢失。

 

为此,本文提出Mogrifier,不改变LSTM本身的结构,让输入和状态首先进行交互,期望增强上下文建模能力。

 

(Mogrifier LSTM)

 

Mogrifier LSTM的主要方法是,在普通的LSTM计算之前,交替地让 和 ,简写为 ,这里 定义为 中上标最大的那个值。

 

具体来说,这个过程是:

 

 

这里 ,轮数 是一个超参数,如果 ,那幺这就是普通的LSTM。一个图示如下:

 

 

那幺,这幺做有什幺用呢?我们后面再分析。

 

 

我们在字级别和词级别的LM上实验。词级别的有:PTB和Wikitext-2;字级别的有Enwik8、PTB和MWC(Multilingual Wikipedia Corpus)。其他实验设置详见原文。

 

下表首先列出了词级别的实验结果,dN表示有N层,MoS是混合softmax,MC是Monto-Carlo dropout。

 

可以看到,Mogrifier普遍比LSTM低3-4个ppl点,而且在几乎不增加参数量的情况下,超过了之前的SOTA结果。

 

 

下表是在字级别上的实验结果。可以看到,Mogrifier比baseline LSTM都要好,尽管略逊于Transformer-XL。

 

 

分析

 

首先来探究Mogrifier的影响。下图是不同轮数 r 的影响,在r=4,5 的时候效果较好。

 

 

下图是去掉Mogrifier公式中交替影响的部分的示意(这个方法叫做no zigzag):

 

 

下表是Mogrifier中对fullrank(Mogrifier将P,Q两个矩阵进行了矩阵分解以减少参数)、no zigzag和与mLSTM的比较。

 

可以看到,P和Q的分解差别不大,而zigzag有较大的影响,而相比mLSTM有显着提高。

 

 

动机与讨论

 

本文对于Mogrifier的最初动机是,允许其增强上下文中的显着输入特征并减弱其次要特征。

 

为此,我们在逆复述任务(Reverse Copy)上进行试验。这个任务是指,模型首先读一段文本,在收到一个特定字符后,再倒着输出该文本。下图是实验结果:

 

 

可以看到,对长度小于100的句子而言,二者都表现得很好,但随着文本长度的增加,Mogrifer越能和LSTM拉开差距尤其是在字典很大(10K,右图)的时候。

 

检验最好的超参,发现在第150步的时候,LSTM的embedding维度是498,而Mogrifier是41;在第200步的时候,分别是493和181。

 

显然,Mogrifier能够大大减小embedding维度,也就意味着它能更好地建模输入和当前状态的关系。

 

下面,我们做出一些假设,这些假设被实验证否,也即不能从下面的角度来解释Mogrifier:

 

有效性来自 大小的收缩 :在LSTM增加一个缩放因子并没有什幺用;

 

有效性来自简化模型优化 : 在多种优化器(如SGD、RMSProp)和多种优化方法(如Norm)下,LSTM并不能达到Mogrifier的效果;

 

有效性来自不常见词上的更好效果 : 在字级别上的实验无法解释这个观点;

 

有效性和语言有关 : MWC上的实验无法解释这个观点;

 

有效性来自更好的长距离依赖 : 在句子级别的LM上也存在效果的差距。

 

小结

 

本文提出了一种Mogrifier LSTM,只需要在普通的LSTM计算前让当前输入和前一个状态充分交互,就能显着提高LM上的效果。

 

其原始动机是,上下文无关的输入表示可能是LM的一个瓶颈,让这个输入和之前的状态(也就是上文)充分交互之后再输入到LSTM中可能会提高效果。

 

尽管这不能完全解释Mogrifier的优越性,至少在LM上它的有效性能让我们进一步考虑如果增强context-dependent的表征力。

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注