雷锋网 AI 科技评论按:基于编码器-解码器结构的序列生成模型被广泛应用文本任务,例如神经机器翻译,摘要生成,对话系统等等。然而,现有模型在生成序列的时候都是只生成一次,而没有反复「推敲」的过程。而推敲在我们进行翻译、写文章的时候是一个很普遍的做法。因此有研究者将「推敲」引入序列生成模型中,提出了推敲网络,来改进序列生成质量。
在近期雷锋网 GAIR 大讲堂的线上公开课上,来自中国科大--微软博士联合培养班的夏应策同学分享了一篇收录在 NIPS 2017 上的论文:Deliberation Networks: Sequence Generation Beyond One-Pass Decoding。他也是这篇论文的一作。
论文地址:http://papers.nips.cc/paper/6775-deliberation-networks-sequence-generation-beyond-one-pass-decoding.pdf
夏应策,博士五年级,现就读于中国科大--微软博士联合培养班,研究方向为机器学习(包括对偶学习,神经机器翻译和多臂赌博机),是 2016 年微软学者奖得主之一。
分享主题:推敲网络——用于序列生成的网络结构
分享提纲
序列生成模型的基本结构以及应用(主要介绍神经机器翻译)
推敲网络的结构和优化算法
推敲网络的实验结果
推敲网络和对偶学习的结合
序列生成模型的基本结构以及应用
推敲网络
基于编码器-解码器结构的序列生成模型被广泛应用文本任务,神经机器翻译,摘要生成,对话系统等等。比如下图中的看图说话——机器读取一张图,描述出图片的大概内容;文本摘要——给出一段长文字,机器给出整段文章的大概意思。
然而,现有模型在生成序列的时候都是只生成一次,而没有反复「推敲」的过程。而推敲在我们进行翻译、写文章的时候是一个很普遍的做法。因此我们将「推敲」引入序列生成模型中,提出了推敲网络,来改进序列生成质量。在该研究中,我们将推敲过程加入到了编码器-解码器框架中,并提出了用于序列生成的推敲网络(Deliberation networks)。推敲网络具有两阶段解码器,其中第一阶段解码器用于解码生成原始序列,第二阶段解码器通过推敲的过程打磨和润色原始语句。由于第二阶段推敲解码器具有应该生成什么样的语句这一全局信息,因此它能通过从第一阶段的原始语句中观察未来的单词而产生更好的序列。神经机器翻译和自动文本摘要的实验证明了我们所提出推敲网络的有效性。在 WMT 2014 英语到法语间的翻译任务中,我们的模型实现了 41.5 的 BLEU 分值。
下面以机器翻译为例,完成一个翻译任务需要一个编码器和解码器结构。
注意力机制
基本结构有了之后如何训练系统?现在一般序列生成或自然语言处理都是采用端到端的训练方式,分为三个过程:训练、推理、评价指标。
神经机器翻译中的定向搜索(beam search)过程
推敲网络的研究目的
现有模型在生成序列的时候都是只生成一次,而没有反复「推敲」的过程。而「推敲」在我们进行翻译、写文章的时候是一个很普遍的做法。比如在读文章的时候,遇到不认识的单词可能不是立刻去查字典,而是跳过这个单词读到文章的结尾,再反过来去猜测单词是什么意思。另一个例子是在写 paper 的时候,可能先写一个草稿,然后不断修改,先有一个整体框架,拿到全局信息,知道大概想表达什么,然后再不断推敲写出来的到底是什么意思。这两个例子说明了向前看和得到全局信息的重要性。
因此我们将「推敲」引入序列生成模型中,提出了推敲网络,来改进序列生成质量。现在的神经机器翻译和序列生成任务中,在解码端是没有「向前看」这个过程的。
下面是推敲网络的大概框架,左侧是编码器,右侧是解码器。蓝色、黄色和绿色部分分别表示编码器 E、第一阶段解码器 D1 和第二阶段解码器 D2。具体程序解读过程请观看视频回放。
以上是模型部分,接下来介绍应用及具体的实验效果。
两个任务分别是神经机器翻译和文本摘要。采用了两种模型,一种是浅模型,另外也验证了深度模型上的效果。
浅模型,基于名为 RNNSearch 的有广泛应用的单层 GRU 模型;深度模型,基于类似于 GNMT 的深度 LSTM 模型。这两类模型都是在 Theano 中实现的。
神经机器翻译在浅模型上的效果
神经机器翻译(NMT)用的数据集是英法和中英数据集。标准的 NMT 模型由一个编码器(用于编码源句子)和一个解码器(用于生成目标句子)组成,因为可以使用我们提出的推敲网络加以改善。在 WMT' 14 英语→法语数据集上基于广泛应用的单层 GRU 模型上实验结果表明:相比于没有使用推敲的模型,使用推敲可以将 BLEU 分值提升 1.7。
我们还在汉语→英语翻译上应用了我们的模型,并且在 4 种不同的测试集上平均实现了 1.26 的 BLEU 提升。此外,在 WMT' 14 英语→法语翻译任务上,通过将推敲应用于深度 LSTM 模型,我们实现了 41.50 的 BLEU 分值。
文本摘要,即将长文章归纳为短摘要的任务。这个任务可以使用编码器-解码器框架,因此也可以使用推敲网络来精细处理。在 Gigaword 数据集上的实验结果表明推敲网络可以将 ROUGE-1、ROUGE-2 和 ROUGE-L 分别提升 3.45、1.70 和 3.02。
对偶学习
为什么要研究对偶学习?因为自然界很多任务都是对偶的,比如英—法,法—英是一对儿对偶任务,语音转文字,文字转语音也是一对儿对偶任务;图像分类和图像生成也是一对儿对偶任务。它们之间都互为一个逆任务,它们之间肯定会有某种联系,我们希望利用它们之间的对偶性,提高任务的性能。最直接的表现就是能够非常高效地利用数据,包括无标数据和有标数据。对偶学习应该怎么用?请点击文末视频回放。
结论及未来工作
在这项研究中,我们提出了用于序列生成任务的推敲网络,实验表明我们的方法在机器翻译和文本摘要任务上可以实现比几种基准方法更优的结果。
未来还有多个可以探索,具有潜力的研究方向。首先,我们将研究如何将推敲的思想应用于序列生成之外的任务,比如改善 GAN 生成的图像质量;其次,我们将研究如何细化、润色不同层级的神经网络,比如 RNN 中的隐藏状态或 CNN 中特征图;第三,我们还很好奇如果解码器有更多阶段(即多次打磨润色生成的序列),生成的序列是否还会更好;第四,我们还将研究如何加速推敲网络的推理以及缩短它们的推理时间。
以上就是嘉宾分享的全部内容,视频回放地址:http://www.mooc.ai/open/course/424。
雷锋网更多公开课直播敬请关注微信公众号「AI 科技评论」。如果错过了直播课程,还可到AI慕课学院查找该期的视频回放。