自动编码器设置中解码器的输入到底是什么

数据挖掘 机器学习 自动编码器
2022-02-07 15:43:22

我正在审查用于 MNIST 重建、Seq2Seq 翻译等的各种自动编码器设置。我对数据流的幼稚理解如下:

输入 -> [编码器] -> 隐藏表示 -> [解码器] -> 输出。

在此处输入图像描述

但是,如果 Seq2Seq 翻译任务类似于Sutskever 等。人。解码器输入由隐藏状态 + 输入序列组合而成。

在此处输入图像描述

我想知道解码器的输入如何依赖于目标任务?为什么我们需要把输入序列放在隐藏状态之外?任何高级解释表示赞赏。

1个回答

你正在混合两种不同的野兽。尽管都有编码器和解码器部分,但实际使用普通前馈图像变换网络(即自动编码器)和自回归模型(即 seq2seq)的方式非常不同:

  • 在普通自动编码器中完成的图像转换类型中,您输入一个图像并在输出端获得另一个图像。就是这样,无论是在训练时还是在推理时。
  • 在像 seq2seq 这样的自回归模型中,您向网络提供输入和预期输出序列的初始标记(即前缀),然后获得下一个标记作为输出。在训练期间,这些初始令牌通常来自黄金数据也称为教师强制),也就是说,您从训练数据中提供前缀真实令牌。在推理中,这些令牌是由模型本身生成的:您生成第一个令牌,然后在给定您之前生成的第一个令牌的情况下生成第二个令牌,然后根据前面生成的 2 个令牌生成第三个令牌,依此类推。