Transformer 培训如何实施教师强制?

Ton*_*ony 9 nlp machine-learning transformer-model tensorflow

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

提前致谢。

Sar*_*air 6

每个 train_step在训练循环中接收数据集中的inp对象。tar确实使用了教师强制,因为数据集中的正确示例始终用作训练期间的输入(而不是先前训练步骤的“不正确”输出):

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

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

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