Teacher forcing是什么?
目录
RNN 存在两种训练模式(mode):
- free-running mode: 上一个state的输出作为下一个state的输入。
- teacher-forcing mode: 使用来自先验时间步长的输出作为输入。
teacher forcing要解决什么问题?
常见的训练RNN网络的方式是free-running mode,即将上一个时间步的输出作为下一个时间步的输入。可能导致的问题:
- Slow convergence.
- Model instability.
- Poor skill.
训练迭代过程早期的RNN预测能力非常弱,几乎不能给出好的生成结果。如果某一个unit产生了垃圾结果,必然会影响后面一片unit的学习。错误结果会导致后续的学习都受到不好的影响,导致学习速度变慢,难以收敛。teacher forcing最初的motivation就是解决这个问题的。
使用teacher-forcing,在训练过程中,模型会有较好的效果,但是在测试的时候因为不能得到ground truth的支持,存在训练测试偏差,模型会变得脆弱。
什么是teacher forcing?
teacher-forcing 在训练网络过程中,每次不使用上一个state的输出作为下一个state的输入,而是直接使用训练数据的标准答案(ground truth)的对应上一项作为下一个state的输入。
Teacher Forcing工作原理: 在训练过程的[Math Processing Error]t会随着时间的推移而改变,称为计划抽样(scheduled sampling)。
- 训练过程会从force learning开始,慢慢地降低在训练阶段输入ground truth的频率。
Further Reading
Papers
- A Learning Algorithm for Continually Running Fully Recurrent Neural Networks, 1989.
- Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks, 2015.
- Professor Forcing: A New Algorithm for Training Recurrent Networks, 2016.
Book
- Section 10.2.1, Teacher Forcing and Networks with Output Recurrence, Deep Learning, Ian Goodfellow, Yoshua Bengio, Aaron Courville, 2016.
问:在训练中,将teacher forcing替换为使用解码器在上一时间步的输出作为解码器在当前时间步的输入,结果有什么变化吗?