文章目录
概述
- Encoder-Decoder 并不是一个具体的模型,而是一个通用的框架。
- Encoder 和 Decoder 部分可以是任意文字,语音,图像,视频数据
- 模型可以是 CNN,RNN,LSTM,GRU,Attention 等等
- 所谓编码,就是将输入序列转化转化成一个固定长度向量, 解码,就是讲之前生成的固定向量再转化出输出序列。
注意点:
- 不管输入序列和输出序列长度是什么,中间的「向量 c」长度都是固定的。 这是Encoder-decoder框架的的缺点
- 不同的任务可以选择不同的编码器和解码器 (RNN,CNN,LSTM,GRU)。
- Encoder-Decoder 是一个 End-to-End 的学习算法,以机器翻译为力,可以将法语翻译成英语。这样的模型也可以叫做 Seq2Seq。
Seq2Seq( Sequence-to-sequence )
- 输入序列和输出序列的长度是可变的
- Seq2Seq 强调目的,不特指具体方法,满足输入序列,输出序列的目的,都可以统称为 Seq2Seq 模型。
- Seq2Seq 使用的具体方法基本都是属于 Encoder-Decoder 模型的范畴。
For example
- 在训练数据集中,我们可以在每个句子后附特殊字符 ”“ (end of sequence) 以表示序列终止
- 每个句子前用到了特殊字符 “” (begin of seqence) 表示序列开始
- Encoder 在最终时间步的隐状态作为输入句子表征和编码信息。??
- Decoder