【问题标题】:How is teacher-forcing implemented for the Transformer training?Transformer 培训如何实施教师强制?
【发布时间】:2019-11-27 16:33:54
【问题描述】:

在Tensorflow 的教程here 的这一部分中,他们提到他们正在使用teacher-forcing 进行训练。据我所知,teacher-forcing 涉及将目标输出输入到模型中,以便它更快地收敛。所以我很好奇这是如何在这里完成的?真正的目标是tar_real,据我所知,它只是用来计算loss和accuracy的。我很好奇这段代码是如何实现强制教师的?

提前致谢。

【问题讨论】:

    标签: tensorflow machine-learning nlp transformer


    【解决方案1】:

    每个 train_step 从训练循环中的数据集中获取 inp 和 tar 对象。确实使用了教师强制,因为数据集中的正确示例总是在训练期间用作输入(与上一个训练步骤的“不正确”输出相反):

    1. tar 拆分为tar_inp、tar_real(偏移一个字符)
    2. inp、tar_inp 用作模型的输入
    3. model 产生一个输出,与tar_real 比较以计算损失
    4. model output 被丢弃(不再使用)
    5. 重复循环

    Teacher forcing 是一个过程……在训练过程中,模型在时间 t+1 接收地面实况输出 y(t) 作为输入。 第 372 页,深度学习,2016 年。

    来源:https://github.com/tensorflow/tensorflow/issues/30852#issuecomment-513528114

    【讨论】:

      猜你喜欢
      • 2021-02-18
      • 2021-08-10
      • 2019-11-09
      • 2021-11-28
      • 2017-08-18
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多