深度学习(BOT方向) 学习笔记(1) Sequence To Sequence 学习

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)

猜你喜欢

转载自blog.csdn.net/cicisensy/article/details/82633019