引入额外门控运算,LSTM稍做修改,性能便堪比Transformer-XL

作者 | 幻风

责编 | 贾伟

AAAI 2020 已经于 2月 7日 - 12 日在纽约举办,对于 AI 领域的研究者来讲,接下来最近的一个盛会将是4月26日在非洲埃塞俄比亚(亚斯亚贝巴)举办的 ICLR 2020。

ICLR会议是由深度学习三巨头之二的 Yoshua Bengio 和 Yann LeCun 牵头于2013年创办,旨在关注有关深度学习各个方面的前沿研究。尽管ICLR 2020也不过是第九届会议,但这个会议却已经成为业界人士心目中的顶级会议。特别是在前段时间 清华发布的新版AI顶会评级中,ICLR更是被评为A级会议

本届ICLR 会议共共有 2594篇投稿,其中 687篇论文被接收,接收率为26.5%。本文为DeepMind和剑桥大学研究人员联合发表在ICLR 2020上的 Oral 论文,该论文在OpenReview网站上的评分为 6-8-8。

作者对该论文的介绍为:

An LSTM extension with state-of-the-art language modelling results.

一个LSTM 扩展,能够取得 SOTA 语言模型结果。

论文地址:https://arxiv.org/pdf/1909.01792.pdf

代码复现:https://github.com/deepmind/lamb

先进的神经网络模型的应用是自然语言理解(Natural Language Processing)的众多任务取得先进性进展的根本原因。但是现有的神经网络模型仍然不完美,比如存在泛化能力和语言建模能力不强等诸多问题。

针对这个问题,本论文对在自然语言理解中最常使用的神经网络模型 Long Short-Term Memory(LSTM)进行了改进, 提出了形变的LSTM,通过引入额外的门控运算,使得输入x和状态hprw在输入到LSTM之前进行多轮交互计算,最终使得输入和上下文之间具有更加丰富的交互表示 。这种改进并不复杂,但是这种简单的修改确在语言模型上取得了显著的效果。

研究意义

LSTM来源于循环神经网络RNN,其核心是解决了RNN所存在的遗忘性问题。

所以LSTM在普通RNN基础上,在隐藏层各神经单元中增加记忆单元,从而使时间序列上的记忆信息可控,每次在隐藏层各单元间传递时通过几个可控门(遗忘门、输入门、输出门),可以控制之前信息和当前信息的记忆和遗忘程度,从而使RNN网络具备了长期记忆功能,对于RNN的实际应用,有巨大作用。

LSTM已经成为了众多NLP任务的标配,甚至成为了现在主流的序列到序列模型的基础性组件,所以在LSTM中加以创新是非常有意义的。

主要思路

如图1所示,我们可以看到输入xt和状态ht是独立的输入到LSTM中。

图1  LSTM

作者认为这会带来一些问题,由于输入x和状态ht它们只在LSTM内部进行交互,在这之前缺乏交互,这可能会导致上下文信息的丢失。为此,本论文提出Mogrifier LSTM,不改变LSTM本身的结构,而是让输入和状态首先进行交互,然后通过这种方式增强模型的上下文建模能力。

图 2

如上述公式所示,我们可以看到原始的LSTM的计算步骤,其中f是遗忘门用来控制前一个时刻的记忆Cprev保留多少记忆;i是输入门,用来控制当前的信息j应输入多少;o是输出门(output),用来控制当前记忆单元应该输出多少。

本文并没有改变如图2所示的计算过程,也就是说并没有改变LSTM的原始结构。它将输入到LSTM中的x和hprev改变了,具体过程如图 3 所示。

图 3 

如图3 所示,我们可以看到当x和h输入到LSTM之前进行了多轮的交互计算,其中x-1就是x,而h0就是hprev,它们经过的交互轮数记为r,r是一个超参数,当r=0的时候,相当于x和hprev直接输入到LSTM中,此时相当于原始的LSTM计算。将这个计算过程通过数学方式表示:

图 4

如公式所示,先根据公式(1),通过x-1和h0计算得到x1,然后根据公式(2),通过x1和h0计算得到h2,经过多轮迭代交互,最终得到融合x和h信息的h4和x5,然后将其作为输入,输入到LSTM中,进行如图2所示的计算。

图 4 所示的x和h的交互计算过程就是本篇论文的核心创新点,作者认为通过这种交互是计算可以增强输入和上下文之间的信息表示,但是这是作者的猜测,因为很多深度学习模型目前还不具备可解释性,但是从实验角度可以看出,通过这种方式构建的新型LSTM模型确实比原始的LSTM效果要好。下面通过实验看一下,改进的LSTM效果如何?

实验

本论文使用的数据集分为两类,一类是字级别的数据集,另外一类是词级别的数据集。其中字级别的数据集有Enwik8、PTB和MWC,而词级别的数据集有:PTB和Wikitext-2。下面看一下在这些数据集上的改进LSTM的表现。

图5参数解释:dn表示神经网络有多少层。MoS是混合softmax。MC是蒙托卡罗随机失活。

如图5所示,改进的LSTM在词级别的实验效果全面超越了原始的LSTM模型,可以证明改进之后的LSTM是具有意义的,但是它并没有超过当前主流的Transformer-XL。

如图6所示,改进的LSTM在字级别上的实验结果。可以看到,改进的LSTM比原始的 LSTM都要好,但是仍然比Transformer-XL差。

图6

之后该文的作者针对于改进的模型又做了几个小实验,第一个实验是判断交互轮数r对模型的影响,如图7所示。

图7

如图7所示,我们可以看到当交互轮数的增多,模型的效果越来越好,而在轮数r=4的时候模型效果达到最佳水平。

图8

之后作者又将如图3所示的模型进行改进,使得每个门计算都依赖最初的x和h。这个方法叫做no zigzag,如图8所示。为了降低模型的复杂度,将Qi和Ri矩阵分解为低秩的矩阵的乘积,这个叫做Full rank,将其与原始的LSTM、改进的LSTM、mLSTM进行比较,实现效果如图9所示。

图9

通过如图9所示的实验结果,可以看到Mogrifier中对Full rank、no zigzag、mLSTM(Multiplicative LSTM)的比较。可以看到,Full rank效果提升不大,而no zigzag有较大的提升。

之后作者又进行了逆复述任务,具体来说就是模型首先读一段文本,在收到一个特定字符后,再倒着输出该文本。通过这种方式可以检测模型是否很好的融合了上下文的信息表示,因为只有更好的学习上下文,才可以更好的完成逆复述任务。本论文将改进LSTM和LSTM模型进行了比较,实验结果如图10所示。

图10

如图10所示,可以看到对长度小于100的句子而言,二者都表现得很好,但随着文本长度的增加,Mogrifer逐渐能和LSTM拉开差距,尤其是在字典很大(10K)的时候。通过实验结果,我们可以得到一个结论:改进的LSTM可以显著的增强上下文的信息,将输入信息更好的融入到模型中。

总结

本论文的核心就是如图3所示的改进,作者为了证明改进的LSTM可以取得较好的效果,做了诸多的实验,作者认为能够取得较好效果的主要原因是因为使用这种方式可以显著增强上下文的信息表示,这也是原始的LSTM模型所存在的问题。但是这只是作者通过实验的猜测,这也是深度学习的局限性,不具备可解释性,所以作者做了诸多的假设。

个人的感悟:目前改进的RNN网络有多达上千种,比较有名是LSTM和GRU。本文将LSTM进行了改进,那么同理是否可以对GRU进行类似的改进,或者改进如图3所示的计算过程,使用新的计算方式或者引入注意力机制,通过注意力机制有选择的过滤一些次要特征,从而使主要特征更加显著。这也证明了我长期的一个观念,融合更多的信息到神经网络中,模型的集成度越高,神经网络的效果可能会越好,我觉得任何的模型都可以朝着这个方向进行轻微的改进,也许可以取得不错的效果。

ICLR 2020 系列论文解读:

1、论文集

火爆的图机器学习,ICLR 2020上有哪些研究趋势?

1、 Oral

01. 一种镜像生成式机器翻译模型:MGNMT

02. 额外高斯先验目标,缓解负多样性无知

2、Spotlight

01. Spotlight | 模型参数这么多,泛化能力为什么还能这么强?

02. Spotlight | 公平与精确同样重要!CMU提出学习公平表征方法,实现算法公平

03. S potlight | 组合泛化能力太差?用深度学习融合组合求解器试试

04.   Spotlight | 加速NAS,仅用0.1秒完成搜索

3、Poster

Poster | 华为诺亚:巧妙思想,NAS与「对抗」结合,速率提高11倍

点击“ 阅读 原文 ” 前往  AAAI 2020 专题页

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章