- 编码,就是将输入序列转化成一个固定长度向量。
- 解码,就是将之前生成的固定长度向量再转化出输出序列。
编码器-解码器有 2 点需要注意:
- 不管输入序列和输出序列长度是多少,中间的向量长度都是固定的。
- 不同的任务可以选择不同的编码器和解码器 (如RNN,CNN,LSTM,GRU)。
1 序列到序列模型(Seq2Seq)
Encoder-Decoder 有一个比较显著的特征就是它是一个 End-to-End 的学习算法,以机器翻译为例,将英语翻译成汉语这样的模型叫做 Seq2Seq。
什么是端到端 End-to-End 的学习?
端到端的学习其实就是不做其他任何额外的处理,直接从原始数据输入到任务结果输出,整个训练和预测过程,都是在模型里完成的。参考NLP基础之sequence2sequence
- 比如:我们想磨豆浆,那么普通料理机就不是端到端的(因为料理机的输