真正提出 Seq2Seq 的文章是《Sequence to Sequence Learning with Neural Networks》,但本篇《Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation》比前者更早使用了 Seq2Seq 模型来解决机器翻译的问题。
摘要
这篇论文中提出了一种新的模型,叫做 RNN Encoder-Decoder, 并将它用来进行机器翻译和比较不同语言的短语/词组之间的语义近似程度。这个模型由两个 RNN 组成,其中 Encoder 用来将输入的序列表示成一个固定长度的向量,Decoder 则使用这个向量重建出目标序列,另外该论文提出了 GRU 的基本结构,为后来的研究奠定了基础。
本文的贡献:
①:提出一种类似LSTM的GRU结构,并且具有比LSTM更少的参数,更不容易过拟合
②:将其应用到机器翻译领域,并且取得不错的效果。
模型
这里首先对输入上文 x 走一遍 RNN,然后得到一个固定长度的向量 c,作为 Encoder,然后接下来再根据 c 和后续隐状态和输入状态来得到后续状态,Encoder 的行为比较简单,重点在 Decoder 上。
上面是需要优化的目标 函数;
经典的一篇:github 传送门 : https://github.com/lisa-groundhog/GroundHog
Neural Machine Translation By Jointly Learning To Align and Translate
这篇文章在神经网络 采用编码-解码RNN 做端到端的机器翻译的基础上,使得模型可以在预测下一个词的时候,自动地选择原句子相关的部分作为解码的输入,这也是后来被提为attention机制的内容。该模型的性能在英法语数据的评测上超过了当前使用基于短语的机器翻译系统。文章的重点就在于,在前人encode-decode的框架上,同时做到机器翻译中的对齐(调序)与(短语)翻译过程,对齐(调序)是指将源语言与目标语言短语对齐,翻译指的是短语间的翻译,文章是怎么做到这一点的呢。其实现在听来很简单,在模型中间加了一层Attention的机制。
、