seq2seq 模型中的训练和推理解码器之间共享啥?

Posted

技术标签:

【中文标题】seq2seq 模型中的训练和推理解码器之间共享啥?【英文标题】:What is shared between train and inference decoder in seq2seq model?seq2seq 模型中的训练和推理解码器之间共享什么? 【发布时间】:2019-11-12 08:15:31 【问题描述】:

我目前正在研究 seq2seq 模型,但无法理解训练解码器和推理解码器之间共享的内容。

【问题讨论】:

【参考方案1】:

在 seq2seq 架构中,最简单的形式是有一个 RNN 单元(例如 LSTM 或 GRU 或 vanilla RNN)用于编码器,另一个 RNN 单元用于解码器。在训练期间,您更新这些单位的权重矩阵。训练完成后,您可以修复并保存学习到的权重矩阵。在推理过程中,您使用相同的编码器和解码器单元(如在具有保存权重矩阵的 RNN 单元中)。

训练和推理过程中的不同之处主要在于解码器 RNN 单元。在训练时,通常在每个时间步将地面实况标记提供给解码器。而在推理过程中,您使用解码器逐一计算输出序列的令牌 ID 并将其反馈回来。

【讨论】:

以上是关于seq2seq 模型中的训练和推理解码器之间共享啥?的主要内容,如果未能解决你的问题,请参考以下文章

RNN 推理所需的解码器目标

如何使用Tensorflow构建Seq2seq模型

seq2seq问答摘要与推理<总结>

Seq2Seq实现闲聊机器人

使用seq2seq模型需要使用啥软件

如何反转 PyTorch 嵌入?