Sequence to Sequence Learning with Neural Networks

简介:

seq2seq+各种形式的attention近期横扫了nlp的很多任务,本篇将分享的文章是比较早(可能不是最早)提出用seq2seq来解决机器翻译任务的,并且取得了不错的效果。本文的题目是Sequence to Sequence Learning with Neural Networks,作者是来自Google的Ilya Sutskever博士(现在OpenAI)。可以说这篇文章较早地探索了seq2seq在nlp任务中的应用,后续的研究者在其基础上进行了更广泛的应用,比如自动文本摘要,对话机器人,问答系统等等。


这里看一张很经典的图,如下:


图的左半边是encoder,右半边是decoder,两边都采用lstm模型,decoder本质上是一个rnn语言模型,不同的是在生成词的时候依赖于encoder的最后一个hidden state,可以用下式来表示:



模型非常简单,就是最普通的多层lstm,实际实现的时候有几点不同:


  • 用了两种不同的lstm,一种是处理输入序列,一种是处理输出序列。

  • 更深的lstm会比浅的lstm效果更好,所以本文选择了四层。

  • 将输入的序列翻转之后作为输入效果更好一些。


这里在decoder部分中应用了beam search来提升效果,beam search大概的思路是每次生成词是取使得整个概率最高的前k个词作为候选,这里显然beam size越大,效果越好,但是beam size越大会造成计算的代价也增大,所以存在一个trade off。


最后通过机器翻译的数据集验证了了seq2seq模型的有效性。


这里需要讨论的一点是,为什么将输入倒序效果比正序好?文中并没有说,只是说这是一个trick。但后面读了关于attention的文章之后,发现soft attention或者说alignment对于seq2seq这类问题有着很大的提升,我们都知道rnn是一个有偏模型,顺序越靠后的单词在最终占据的信息量越大,那么如果是正序的话,最后一个词对应的state作为decoder的输入来预测第一个词,显然在alignment上来看,这两个词并不是对齐的,反过来,如果用倒序的话,之前的一个词成了最后一个词,在last state中占据了主导,用这个词来预测decoder的第一个词,从某种意义上来说实现了alignment,所以效果会好一些。



来源:paperweekly


原文链接

相关文章
|
4月前
|
机器学习/深度学习 网络协议 PyTorch
【文献学习】DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement
本文介绍了一种新的深度复数卷积递归网络(DCCRN),用于处理语音增强问题,特别是针对低模型复杂度的实时处理。
193 5
|
7月前
|
TensorFlow 算法框架/工具
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(上)
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(上)
56 1
|
7月前
|
机器学习/深度学习 Python TensorFlow
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(下)
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(下)
51 1
|
7月前
|
机器学习/深度学习 自然语言处理 算法
[BPE]论文实现:Neural Machine Translation of Rare Words with Subword Units
[BPE]论文实现:Neural Machine Translation of Rare Words with Subword Units
53 0
|
7月前
|
机器学习/深度学习 数据挖掘 Python
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
58 0
|
机器学习/深度学习 存储 人工智能
【文本分类】Recurrent Convolutional Neural Networks for Text Classification
【文本分类】Recurrent Convolutional Neural Networks for Text Classification
109 0
【文本分类】Recurrent Convolutional Neural Networks for Text Classification
|
机器学习/深度学习 自然语言处理 算法
【文本分类】Convolutional Neural Networks for Sentence Classification
【文本分类】Convolutional Neural Networks for Sentence Classification
104 0
【文本分类】Convolutional Neural Networks for Sentence Classification
|
机器学习/深度学习
【论文阅读】(2019)SimGNN:A Neural Network Approach to Fast Graph Similarity Computation
- 图形相似性搜索是最重要的基于图形的应用程序之一,例如查找与查询化合物最相似的化合物。 - 图相似性距离计算,如图编辑距离(GED)和最大公共子图(MCS),是图相似性搜索和许多其他应用程序的核心操作,但实际计算成本很高。 - 受神经网络方法最近成功应用于若干图形应用(如节点或图形分类)的启发,我们提出了一种新的基于神经网络的方法来解决这一经典但具有挑战性的图形问题,**旨在减轻计算负担,同时保持良好的性能**。 - 提出的**方法称为SimGNN**,它结合了两种策略。 - 首先,我们**设计了一个可学习的嵌入函数**,将每个图映射到一个嵌入向量中,从而提供图的全局摘要。**提出了一种新的
278 0
【论文阅读】(2019)SimGNN:A Neural Network Approach to Fast Graph Similarity Computation
《Multi-Task Multi-Network Joint-Learning of Deep Residual Networks and Cycle-Consistency Generative Adversarial Networks for Robust Speech Recognition》电子版地址
Multi-Task Multi-Network Joint-Learning of Deep Residual Networks and Cycle-Consistency Generative Adversarial Networks for Robust Speech Recognition
109 0
《Multi-Task Multi-Network Joint-Learning of Deep Residual Networks and Cycle-Consistency Generative Adversarial Networks for Robust Speech Recognition》电子版地址
|
机器学习/深度学习
Re22:读论文 HetSANN An Attention-based Graph Neural Network for Heterogeneous Structural Learning
Re22:读论文 HetSANN An Attention-based Graph Neural Network for Heterogeneous Structural Learning
Re22:读论文 HetSANN An Attention-based Graph Neural Network for Heterogeneous Structural Learning