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