【问题标题】:The decoder part in a transformer model变压器模型中的解码器部分
【发布时间】:2022-11-09 18:19:21
【问题描述】:

我对 NLP 相当陌生,我正在阅读一篇解释变压器模型的博客。我对解码器块的输入/输出感到很困惑(附在下面)。我知道 y_true 在训练步骤中被输入解码器,以与编码器块的输出相结合。我不明白的是,如果我们已经知道 y_true,为什么要运行这一步来获取输出概率?我只是不太明白右下角的“输出嵌入”和右上角的“输出概率”之间的关系。当我们使用模型时,我们不会真的有 y_true,我们只是使用 y_pred 并将它们输入解码器吗?这可能是一个菜鸟问题。提前致谢。

【问题讨论】:

    标签: nlp transformer-model decoder


    【解决方案1】:

    我知道 y_true 在训练步骤中被输入解码器 与编码器块的输出相结合。

    嗯,是的,也不是。

    解码器块的工作是预测下一个单词。这输入到解码器是编码器的输出解码器块的先前输出本身。

    让我们举个翻译例子......英语到西班牙语

    • 我们有 5 只狗 -> Nosotras tenemos 5 perros

    编码器将对英语句子进行编码并产生一个注意力向量作为输出。第一步,解码器将被提供注意力向量和<START> 令牌。解码器将 (应该) 产生第一个西班牙语单词诺索特拉斯.这是Y.在下一步中,解码器将再次输入注意向量以及<START> 标记和先前的输出 Yt-1诺索特拉斯.原则将是输出,依此类推,直到解码器吐出<END> 令牌。

    因此解码器是Autoregressive Model。它依靠自己的输出来生成下一个序列。

    【讨论】:

      【解决方案2】:

      @Bhupen(抱歉,我显然没有足够的声誉发表评论)-您确定吗?这就是基于 RNN 的 seq-to-seq 模型的工作原理,但 Transformer 的全部意义在于摆脱顺序处理(并通过掩码来模仿它),因为它是处理和训练中的一个重大瓶颈。我的理解是,Transformer 之所以如此强大,是因为它们允许并行处理,另一方面,它允许更大的训练运行(就数据和时期而言)。

      【讨论】:

        猜你喜欢
        • 2016-11-03
        • 2022-01-17
        • 2019-10-10
        • 2022-01-05
        • 2021-04-11
        • 2022-01-14
        • 2022-01-20
        • 2022-08-14
        • 2020-05-04
        相关资源
        最近更新 更多