1、 Seq 2 Seq是什么
从一个Sequence做某些工作映射到(to)另外一个Sequence的任务
具体结合实际应用来说,如下的连个任务都可以看做是Seq2Seq的任务“
1、SMT翻译任务(源语言的语句 -> 目标语言的语句)
2、对话任务(上下文语句->应答语句)
诸如上图,其实也就是一个示例(从ABC 这个Sequence 映射到 WXYZ)
2、RNN Encoder-Decoder 框架
通常来说,在深度学习中,应对这个类型的问题,有一个经典的框架被称为Encoder-Decoder:
所谓的Encoder,是将输入的Sequence编码成为一个固定长度的向量 。
所谓的Decoder,是根据背景Vector(即Encoder最后输出的向量)生成一个Token序列,作为输出的Sequence
这两部分Sequence的长度可以不一致。
最经典的Encoder-Decoder框架,用的就是RNN,即Encoder是一个RNN,而Decoder也是一个RNN。
这里面才有极大似然去估计,让输入的Seq经过Encoder得到中间向量v,再映射到Decoder的概率最大。
这个Encoder-Decoder的框架很经典,里面用的RNN(LSTM)也是很经典的。关于Encoder-Decoder的详细解释可以阅读这里:http://blog.csdn.net/malefactor/article/details/51124732
而本篇文章的Sequence2Sequence的模型就是这个RNN Encoder-Decoder了,关于他的公式,其实都是基本的RNN公式,文章里讲的也不多,有需要的可以直接去阅读原文。
实验
实验部分,其采用了WMT14提供的评测任务,任务要求是英语到法语的翻译任务
1. 训练的数据集有12M的句子,包含348M法语词,和304英语词
2. 作者选择了最常用的160000个英文词和80000个法语词构造词典,初次以外的词语,都表示为UNK
3. 训练目标如下,S是原语言序列,T是目标语言序列,使得如下式子的概率最大化。并且训练后的翻译过程也是如第二个式子所示
评测的标准是一个叫做BLEU的成绩,越高越好的道理就好了。
而结论就是,这个模型能够十分接近WMT14的最高分(36.5 37)