文章目录
- Encoder-Decoder
- Seq2Seq (序列到序列)
Encoder-Decoder
- 基础的Encoder-Decoder是存在很多弊端的,最大的问题就是信息丢失。Encoder将输入编码为固定大小的向量的过程实际上是一个“信息有损的压缩过程”,如果信息量越大,那么这个转化向量的过程对信息的损失就越大,同时,随着序列长度(sequence length)的增加,意味着时间维度上的序列很长,
- 由于基础的Encoder-Decoder模型链接Encoder和Decoder的组件仅仅是一个固定大小的状态向量,这就使得Decoder无法直接无关注输入信息的更多细节。
- 为了解决这些缺陷,随后又引入了
Attention机制
以及Bi-directional encoder layer
等。Attention模型的特点是Encoder不再将整个输入序列编码为固定长度的中间向量,而是编码成一个【向量序列】
。这样,在产生每一个输出的时候,都能够做到充分利用输入序列携带的信息。而且这种方法在翻译任务中取得了非常不错的成果。
Seq2Seq (序列到序列)
- 输入序列和输出序列的长度是可变的。
- Seq2Seq可以看作是Encoder-Decoder针对某一类任务的模型框架