如何为Transformer培训实施强迫老师?

时间:2019-07-18 17:12:25

标签: tensorflow machine-learning nlp transformer

在Tensorflow教程here的这一部分中,他们提到他们正在使用强迫老师进行培训。据我所知,教师强迫涉及将目标输出馈送到模型中,以使其收敛更快。所以我很好奇这是怎么做到的?真正的目标是tar_real,据我所知,它仅用于计算损耗和准确性。我对这段代码如何实现强迫教师感到好奇吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

每个train_step在训练循环中从数据集中获取inptar对象。确实使用了教师强迫,因为在训练过程中始终将数据集中的正确示例用作输入(与上一个训练步骤中的“不正确”输出相反):

  1. tar分为tar_inptar_real(偏移一个字符)
  2. inptar_inp用作模型的输入
  3. model产生的输出与“ tar_real”进行比较以计算损失
  4. model output被丢弃(不再使用)
  5. 重复循环
Teacher forcing is a procedure ... in which during training the model receives the ground truth output y(t) as input at time t+1.
Page 372, Deep Learning, 2016.