论文解读 | Convolutional Sequence to Sequence Learning

2017 年 5 月 19 日 机器之心


邓侃

卡耐基梅隆大学博士

北京大数医达科技有限公司CTO


1. PaperWeekly 论文阅读小组 


阅读论文是小众活动,阅读者分散在全球各地。PaperWeekly 论文阅读小组,把分散在全球的华人阅读者,聚合在一起。不仅互帮互助读懂论文,而且通过讨论,激发灵感。


进入 PaperWeekly 的网站,阅读者不仅可以看到本周热点论文标题,而且可以在线阅读论文正文。




网页左侧显示的是论文正文,阅读者可以在论文上划重点。网页右侧是讨论区,阅读者点击左侧重点语句后,就可以在右侧,针对这一句话提问和讨论。



参与者针对同一篇论文,逐段逐句地讨论。不仅讨论的话题聚焦,而且是最细颗粒度的讨论,非常深入。


论文读起来略感艰深,但是不乏乐趣。


譬如本周大家正在讨论的一篇论文,是 Facebook AI lab 上周(2017.5.12)发表的 “Convolutional Sequence to Sequence Learning” [1]。


这篇论文很轰动,因为 Facebook 把这项技术用于机器翻译,不仅精度超过了机器翻译的业界老大,Google Translate,而且翻译速度提高了 9 倍。

 

先读读该论文的摘要。论文摘要开门见山第一句话,就充满戏剧冲突。


“当前 Seq2Seq 流行的方式,是通过循环神经网络,把输入序列,转变变长的输出序列。我们提议一个新架构,完全依赖于卷积网络”。这是打擂台的语调哟。


读论文的乐趣之一,就是围观打擂。Facebook 这篇论文的主题,是卷积网络 CNN 与循环网络 RNN,在机器翻译和机器阅读领域的对决。


如果我们把镜头拉远一点,对决的不止是 CNN vs RNN。


2. 传统 NLP 对决深度学习 

 

人类阅读的时候,往往从语句提炼出关键词和语义关系。


例如,阅读这个语句 “患者自诉无诱因出现咳嗽,浓痰,无咯血,夜间及运动后加剧”。


整个语句中最重要的词汇是 “咳嗽”,其次重要的词汇是 “浓痰” 和 “加剧”,再次是 “无咯血”、“无诱因”。这是整个语句中各个词汇的重要性排行。


“夜间” 和 “运动后” 是 “加剧” 的属性。而 “加剧” “浓痰” “无咯血”,是 “咳嗽” 的属性。这是词汇之间的依存关系。


想从语句中提炼出关键词和语义关系,传统的做法是,在理解语义之前,先对语句做标注和句法解析。分析出句子的主谓宾定语状语(tagging),然后把整个语句转换成树状的结构体(parsing)。根据树状结构体,很容易判断语句中各个词汇的重要性,以及词汇之间的依存关系。

 

先解析语法,然后理解语义,这是传统的做法。对于这种传统做法,业界有很大争议。


2016 年人工智能领域一大突破性进展,是谷歌翻译,从研究课题成为产品级服务,正式上线服务网民。谷歌翻译的核心技术就是 Seq2Seq。 


Seq2Seq 这一技术,不仅可以用于机器翻译,而且也可以用于机器阅读,譬如让机器阅读一篇长文,然后自动生成文章摘要。


乘胜追击,深度学习学派试图把 Seq2Seq 这项技术,从机器翻译,拓展到整个自然语言处理领域。

 

3. 卷积 Convolution 对决循环 Recurrency 


Seq2Seq 先把语句转换为一组词向量,通过对词向量的剪辑,提炼出语义向量。但是对于如何剪辑,深度学习学派内部又有争议。


先前占据话语权的一派,提议使用 LSTM 等等循环模型(RNN),来实现语义剪辑。RNN 模型的剪辑手段是三重门,记忆门、遗忘门、和输出门。


沿用上例,“患者自诉无诱因出现咳嗽,浓痰,无咯血,夜间及运动后加剧”,经过三重门的剪辑,“咳嗽” 的语义向量,不仅包含 “咳嗽” 的内容,也包含着 “无诱因” 和 “浓痰” 这些上下文的内容。


RNN 模型的突出优势,是很好地解决了长距离依赖的难题。沿用上例,“加剧” 对应的语义向量,不仅包含 “加剧” 的内容,而且也包含 “咳嗽” 的内容。


Facebook 这篇论文之所以轰动,是因为他们使用了 CNN 卷积模型,来取代 RNN 循环模型。不仅精度超越循环模型,而且训练速度提高了 9 倍。


PaperWeekly 阅读组里讨论的热点有二,为什么更快?为什么更准?


CNN 比 RNN 的训练速度快,这一点容易理解,没有争议。卷积比循环的训练速度快,这是由两个因素造成的必然结果。


  • 卷积可以并行处理,而循环只能按顺序依次处理。在云计算平台上,让多个机器同时并行训练卷积模型,速度当然比串行训练循环模型来得快。


  • 可以用 GPU 芯片来加速卷积模型的训练,而暂时还没有硬件能够加速 RNN 的训练。

 

有争议之处,在于精度的高下,究竟是取决于 CNN vs RNN 模型的不同,还是取决于解码技术,尤其是解码器的关键技术 attention 的改进?


个人认为,卷积(convolution)的层层抽象,与循环(recurrency)的三重门,其实是异曲同工。虽然手段不同,但是目的都是忽略次要内容,传承重要内容。所以,在精度方面,卷积与循环不会有太大差距。

 

Facebook translate 与 Google translate 的精度差异,应该来自于 Facebook translate 对于 attention 的改进。   

 

4. Attention 的擂台刚刚拉开帷幕

 

Facebook 研究组,对 attention 做了改进,体现在两点。


  • Google Translate 的解码器使用的是单层的 LSTM 模型,相应地,attention 也是单层的。Facebook 的解码器使用的是 CNN 模型,是多层的。相应地,Facebook 的 attention 是多跳的(multi-hop)。越是底层的 attention,越聚焦,细节越丰富。越是高层的 attention,视野越开阔,抽象程度越高,越能抓住文章主旨。


  • Google Translate 使用的 attention,依赖于编码器生成的语义向量,而不依赖于输入的原生态的词向量。而 Facebook 的 attention,对语义向量和原生态词向量兼收并取。语义向量负责把握主旨,保证解码器的输出不偏题。原生态词向量关注措辞,保障解码器的输出用词得当。


对于 attention 的改进,个人预感近期内将会有更大的突破。无论 Google 的 attention,还是 Facebook 的版本,在计算 attention 的权重时,都以计算向量间的距离为基础。简单点说,就是寻找语句中字面意思最贴近的词汇。


这种只聚焦字面意思的 attention 的计算方式,是无法解决 “话外有话” 的暗示型的语句的。同样是英语,英国人说话比美国人委婉。单靠理解字面意思,是无法理解英国人真实的态度的。


个人猜想,将来 attention 的机制,还得融入规则。同理,只理解字面意思的 attention 的计算方式,也无法理解 “引经据典” 和 “含沙射影” 的联想型的语句。要正确理解  “引经据典” 和 “含沙射影” ,将来 attention 的机制,还得融入知识图谱。

  

5. 其他用户讨论精选


Pandabro


dis-tributional space as w= (w1,....,wm)


这个 distributional space 还有 position embedding 是事先学好的还是在 model 里面学的?因为之后要把两个 embedding 相加,需要保证 word embedding 和 position embedding 是在同一个 space 里吧?如何保证呢?


kan_deng:是预处理的。把两个 embedding 相加,是为了方便计算。譬如有个句子,“I am here”,每个词都有一个 512 维的词向量,同时三个词的序列号分别是 1、2、3。把 1、2、3 也转化成 512 维的词向量,然后两个词向量拼接在一起,形成 1024 维的向量。这样做是为了方便计算。当然,序列号的词向量,完全可以用低维度向量,但是为了方便,仍把序列号的词向量也定为与词向量同等维度。


ZhaoTIanyu


Convolutional net-works do not depend on the computations of the previoustime step and therefore allow parallelization over every ele-ment in a sequence. This contrasts with RNNs which main-tain a hidden state of the entire past that prevents parallelcomputation within a sequence


在序列处理中,CNN 比 RNN 快是因为 CNN 不需要上一步的 state 来计算当前 state,所以每一步可以并行计算。


zhangjun:CNN 在之前的文本学习中通常处理口语化、短文本效果比较好。记得之前 tong zhang 老师有篇 paper 是对比 RNN 和 CNN 在文本分类上效果的对比。


pandabro:处理短文本效果好可能只是因为 CNN 的 input coverage 不够大同时 model 不够 deep。这个问题应该可以逐步解决。


Jasonqhjia:在文本分类上,CNN 比 RNN 效果好,同时训练速度快。


zeng


Figure 1.Illustration of batching during training.


batch the attention computation across all elements of a sequence compared to RNN. 图中中间的矩阵就是 attention 矩阵,每 i 行对应输出中的第 i 个词对于输入句子所有词的 attention 的分布。 因为训练的时候,decoder 段也是直接用 cnn,不存在时间上的依赖,所以可以同时计算所有词的 attention 分布。但是文中没有说怎么 batch the various input sequence length,还请知道的解释一下,如何用 CNN 批处理变长的输入;传统的都是统一 padding 成一个长度,或者一组长度; 针对 RNN, pytorch 里面有 packedSequence,tf 也有 lengths 这个属性,但是针对 CNN 不知道是怎么处理的。


WarBean:可以在每个 softmax attention 之后乘个 mask,盖掉那些输入 padding 的位置,再 normalize 回一个概率向量作为真正的 attention。


6. 参考文献


[1] Convolutional Sequence to Sequence Learning. 

https://arxiv.org/abs/1705.03122


「每周一起读」是由 PaperWeekly 发起的协同阅读小组。我们每周精选一篇优质好文,利用在线协同工具进行精读并发起讨论,在碎片化时代坚持深度阅读。目前已成立的专题小组有:Chatbot、机器翻译、知识图谱、GAN、推荐系统、QA和多模态。


关于 PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

点击阅读原文,查看全部嘉宾阵容并报名参与机器之心 GMIS 2017  ↓↓↓

登录查看更多
1

相关内容

可解释强化学习,Explainable Reinforcement Learning: A Survey
专知会员服务
129+阅读 · 2020年5月14日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
论文浅尝 | 基于知识库的自然语言理解 03#
开放知识图谱
14+阅读 · 2019年2月26日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
15+阅读 · 2019年2月22日
论文浅尝 | Zero-Shot Transfer Learning for Event Extraction
开放知识图谱
26+阅读 · 2018年11月1日
论文 | 15篇近期值得读的AI论文
黑龙江大学自然语言处理实验室
16+阅读 · 2018年2月12日
一文读懂「Attention is All You Need」| 附代码实现
PaperWeekly
37+阅读 · 2018年1月10日
用于神经网络机器翻译的全并行文本生成
深度学习(Deep Learning)发展史
Linux中国
7+阅读 · 2017年8月2日
Arxiv
17+阅读 · 2019年3月28日
Arxiv
25+阅读 · 2018年1月24日
Arxiv
4+阅读 · 2017年7月25日
VIP会员
相关VIP内容
可解释强化学习,Explainable Reinforcement Learning: A Survey
专知会员服务
129+阅读 · 2020年5月14日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
77+阅读 · 2020年2月3日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
相关资讯
论文浅尝 | 基于知识库的自然语言理解 03#
开放知识图谱
14+阅读 · 2019年2月26日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
15+阅读 · 2019年2月22日
论文浅尝 | Zero-Shot Transfer Learning for Event Extraction
开放知识图谱
26+阅读 · 2018年11月1日
论文 | 15篇近期值得读的AI论文
黑龙江大学自然语言处理实验室
16+阅读 · 2018年2月12日
一文读懂「Attention is All You Need」| 附代码实现
PaperWeekly
37+阅读 · 2018年1月10日
用于神经网络机器翻译的全并行文本生成
深度学习(Deep Learning)发展史
Linux中国
7+阅读 · 2017年8月2日
Top
微信扫码咨询专知VIP会员