Seq2Seq(Sequence-to-Sequence,序列到序列)问题是一类特殊的序列建模问题,其中的Encoder和Decoder都是一个序列。
Encoder-Decoder模型框架(编码器-解码器模型框架)最早在2014年提出,当时是为了解决机器翻译的问题(机器翻译就是一个典型的Seq2Seq问题)而构建的,随后变成了深度学习中常见的模型框架。
Encoder-Decoder模型的结构包括一个编码器和一个解码器,编码器会先对输入的序列进行处理,然后将处理后的向量发送给解码器,转化成我们想要的输出。
举例来说,如果使用Encoder-Decoder模型将中文翻译成英文,其过程就是输入一个中文句子(欢迎来北京),编码成包含一系列数值的向量发送给解码器,再用解码器将向量转化成对应的英文句子(welcome to BeiJing),翻译也就完成了,如下图。
Encoder-Decoder模型输出的长度跟输入的不一致,如上图所示,输入的中文长度为5,输出的英文长度为3。
整个过程如下:
-
在Encoder中,“欢迎/来/北京”这些词转换成词向量,Encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码。
-
如果是预测第一个词的话,此时输入的词向量为“_GO”的词向量,标志着解码的开始,直到解码解出“_EOS”,标志着解码的结束。这个Decoder过程是根据语义向量生成指定的序列,这个过程也称为解码。
多层编码解码结构
Transformer 的论文中使用了6层编码器(这里的层数6并不是固定的,你也可以根据实验效果来修改层数)。同理,解码部分也是由多层的解码器组成(论文里也使用了6层的解码器)。
如何理解这里的多层呢?这就要求我们理解下什么是编码器,什么是解码器,他们有啥用?
- 编码器是用来做数据特征抽取的,编码器把输入数据的特征抽取出来(一般是压缩的,但应该也可以是扩张的)。
- 解码器,只是在编码器训练过程中的一个反向的组件,用来协助编码器做训练的。同时它也可以做新东西的生成,因为,编码器把重要特征抽出来了,那么,我们可以把这些特征自由的组合,就生成一个新的原始样本中没有的样本。
多层的类比就是看视觉是如何工作的? 我们看到一只猫,是如何认定它是一只猫的呢? 会经过下图这么多层,每层都是对上层的特征提取。
视觉信息传递过程:Retina(视网膜) - LGN(外膝体) - V1(初级视皮层) - V2(纹外皮层,视觉第二区域) - V3(纹外皮层,视觉第三区域) - LOC(枕叶复合体)
参看:http://www.shb.cas.cn/kjjz2016/201607/t20160712_4639424.html
其中的视网膜这一层,视网膜平行通道信息处理模型如下,可以理解成这一层的不同的特征提取。
Seq2Seq模型应用场景
常见的Seq2Seq模型应用场景:
文字 - 文字
- 机器翻译,中文翻译英文,法文翻译德文,Google 发表的用Seq2Seq做机器翻译的论文《Sequence to Sequence Learning with Neural Networks》https://arxiv.org/pdf/1409.3215.pdf。
- 聊天问答,输入一个问题序列,输出一个回答序列。
- 内容续写,输入一个段落序列,输出后续内容的段落序列。
- 摘要/标题生成,输入一个文章序列,输出一个摘要/标题序列。
音频 - 文字
- 文本转语音,输入一个文本序列,输出一个语音序列。
- 语音识别,比如会议语音记录转文字。Google 发表的使用Seq2Seq做语音识别的论文《A Comparison of Sequence-to-Sequence Models for Speech Recognition》
图片 - 文字
- 基于描述生成图像
- 图片摘要、描述生成,图像描述生成的论文《Sequence to Sequence – Video to Text》https://arxiv.org/pdf/1505.00487.pdf
Encoder-Decoder 的缺陷
Encoder(编码器)和 Decoder(解码器)之间只有一个「向量 c」来传递信息,且 c 的长度固定。当输入信息太长时,会丢失掉一些信息。就类似于大图片压缩后的变模糊。
对应的解决思路就是抓重点,也就是我们后面几篇文章要说的注意力模型。
总结
Encoder-Decoder模型的结构包括一个编码器和一个解码器,编码器会先对输入的序列进行处理,完成特征提取,然后将处理后的结果向量发送给解码器,转化成我们想要的输出。
标签:编码器,框架,Encoder,解码器,Decoder,序列,向量 From: https://www.cnblogs.com/ghj1976/p/encoderdecoder-mo-xing-kuang-jia.html