深度学习的编码器和解码器有什么区别?他们训练时的数据一样吗?

如果我使用cnn1d作为编码器,提取时间序列特征。然后训练一个解码器,这个解码器的输入是cnn1d编码器的输出。请问编码器和解码器怎么训练权重呢?训练集不一样可以吗?

通常编码器起到信息压缩的作用,解码器从压缩后的信息还原。所以你会见到auto-encoder那种维度先降低再升高的结构。
至于你说的cnn1d,是中间的数据提取和表征用到的子结构,这些子结构在编码器和解码器中都可以用。训练权重还是端到端进行的,本质上还是会计算loss function,反向传播,训练集通常就是一个,只不过输入输出有些任务里是一样的(比如自编码器),有些任务里不一样(比如机器翻译)。

img

img

img

可以参考以下资料


9.6. 编码器-解码器架构 — 动手学深度学习 2.0.0-beta1 documentation https://zh.d2l.ai/chapter_recurrent-modern/encoder-decoder.html