干货 | 中科大夏应策:推敲网络——用于序列生成的网络结构

2018 年 2 月 26 日 AI科技评论 杨文

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 中特征图;第三,我们还很好奇如果解码器有更多阶段(即多次打磨润色生成的序列),生成的序列是否还会更好;第四,我们还将研究如何加速推敲网络的推理以及缩短它们的推理时间。

点击阅读原文,观看本场 GAIR 大讲堂完整视频回放。

—————  AI 科技评论招人了  —————

—————  给爱学习的你的福利  —————

三大模块,五大应用,手把手快速入门NLP

海外博士讲师,丰富项目经验

算法+实践,搭配典型行业应用

随到随学,专业社群,讲师在线答疑

扫码了解详情

————————————————————

登录查看更多
2

相关内容

基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
轻量级神经网络架构综述
专知会员服务
95+阅读 · 2020年4月29日
【ICLR2020-】基于记忆的图网络,MEMORY-BASED GRAPH NETWORKS
专知会员服务
108+阅读 · 2020年2月22日
机器翻译深度学习最新综述
专知会员服务
96+阅读 · 2020年2月20日
WSDM 2020教程《深度贝叶斯数据挖掘》,附257页PPT下载
专知会员服务
153+阅读 · 2020年2月7日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
53+阅读 · 2019年11月20日
超越BERT、GPT,微软提出通用预训练模型MASS
机器之心
4+阅读 · 2019年5月10日
机器学习中的编码器-解码器结构哲学
人工智能前沿讲习班
7+阅读 · 2019年3月20日
最新论文解读 | 基于预训练自然语言生成的文本摘要方法
微软研究院AI头条
57+阅读 · 2019年3月19日
基础 | 基于注意力机制的seq2seq网络
黑龙江大学自然语言处理实验室
16+阅读 · 2018年3月7日
阿里流行音乐趋势预测-深度学习LSTM网络实现代码分享
机器学习研究会
11+阅读 · 2017年12月5日
用Python实现CNN长短期记忆网络!
全球人工智能
9+阅读 · 2017年8月22日
赛尔原创 | 基于时间序列网络的谣言检测研究
哈工大SCIR
5+阅读 · 2017年6月19日
Arxiv
9+阅读 · 2020年2月15日
Neural Module Networks for Reasoning over Text
Arxiv
9+阅读 · 2019年12月10日
Recurrent Fusion Network for Image Captioning
Arxiv
3+阅读 · 2018年7月31日
Arxiv
3+阅读 · 2015年5月16日
VIP会员
相关资讯
超越BERT、GPT,微软提出通用预训练模型MASS
机器之心
4+阅读 · 2019年5月10日
机器学习中的编码器-解码器结构哲学
人工智能前沿讲习班
7+阅读 · 2019年3月20日
最新论文解读 | 基于预训练自然语言生成的文本摘要方法
微软研究院AI头条
57+阅读 · 2019年3月19日
基础 | 基于注意力机制的seq2seq网络
黑龙江大学自然语言处理实验室
16+阅读 · 2018年3月7日
阿里流行音乐趋势预测-深度学习LSTM网络实现代码分享
机器学习研究会
11+阅读 · 2017年12月5日
用Python实现CNN长短期记忆网络!
全球人工智能
9+阅读 · 2017年8月22日
赛尔原创 | 基于时间序列网络的谣言检测研究
哈工大SCIR
5+阅读 · 2017年6月19日
Top
微信扫码咨询专知VIP会员