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

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

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2018-02-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信小驿站

黑箱方法 支持向量机①

支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik等于1995年首先提出的,它在解决小样本、非线性及...

592
来自专栏机器学习算法与Python学习

深度学习优化入门:Momentum、RMSProp 和 Adam

虽然局部极小值和鞍点会阻碍我们的训练,但病态曲率会减慢训练的速度,以至于从事机器学习的人可能会认为搜索已经收敛到一个次优的极小值。让我们深入了解什么是病态曲率。...

690
来自专栏marsggbo

Andrew Ng机器学习课程笔记--week6(精度&召回率)

Advice for applying machine learning 本周主要学习如何提升算法效率,以及如何判断学习算法在什么时候表现的很糟糕和如何deb...

2309
来自专栏SIGAI学习与实践平台

K近邻算法

我们在网上购买水果的时候经常会看到同一种水果会标有几种规格对应不同价格进行售卖,水果分级售卖已经是电商中常见的做法,那么水果分级具体是怎么操作的呢?一种简单的做...

921
来自专栏机器学习、深度学习

人群场景分析--Slicing Convolutional Neural Network for Crowd Video Understanding

Slicing Convolutional Neural Network for Crowd Video Understanding CVPR2016 h...

1867
来自专栏IT派

集成算法的简单分享

为什么使用集成算法  简单算法一般复杂度低,速度快,易展示结果,但预测效果往往不是特别好。每种算法好像一种专家,集成就是把简单的算法(后文称基算法/基模型)组织...

3545
来自专栏人工智能头条

Yoshua Bengio:在能量模型中使用提前推断近似反向传播

1372
来自专栏人工智能头条

斯坦福大学深度学习与自然语言处理第二讲:词向量

1383
来自专栏数据科学与人工智能

【数据分析】数据分析领域中最为人称道的七种降维方法|技术专区

近来由于数据记录和属性规模的急剧增长,大数据处理平台和并行数据分析算法也随之出现。于此同时,这也推动了数据降维处理的应用。实际上,数据量有时过犹不及。有时在数据...

2016
来自专栏新智元

周志华最新论文挑战深度学习 | 深度森林:探索深度神经网络以外的方法

【新智元导读】西瓜书《机器学习》作者、南京大学周志华日前发表论文,提出了一种基于树的方法,挑战深度学习。在设置可类比的情况下,新方法 gcForest 取得了和...

34511

扫描关注云+社区