Teacher forcing

@[toc]

RNN循环神经网络

RNN可以分为好多种实现方式,经典的形式用时刻t-1的输出作为t时刻隐藏层的输入去计算,但这样会依赖于以前的计算结果,如果上一步的结果有错误在后续的计算中会无限被放大。

举个例子,在计算数学题目的时候,会有很多步骤,在前几步中某一步计算错误,则会导致后续的计算受很大影响。

主题Teacher forcing技术

现有训练集trainX={x1,x2,x3....},trainY={y1,y2,y3....},t时刻隐藏层输入用t-1时刻的y去输入。所以t时刻的计算结果就不会受到错误的影响。

依旧是上一个例子,在计算数学题目的时,每一步的计算结果直接用上一步结果的参考答案去计算,这样会保证此步的计算结果准确率。
但此技术会导致在测试集上表现不佳( Exposure Bias )。

关于Exposure bias解决:

Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks

参考链接

关于Teacher Forcing 和Exposure Bias的碎碎念