RNN的训练模式与Exposure Bias

 一 、RNN在训练过程中的问题

训练迭代过程早期的RNN预测能力非常弱,几乎不能给出好的生成结果。如果某一个unit产生了垃圾结果,必然会影响后面一片unit的学习。teacher forcing最初的motivation就是解决这个问题的。这就是所谓的RNN的曝光偏差Exposure Bias。

Exposure Bias

什么是Exposure Bias

Exposure Bias 是在RNN(递归神经网络)中的一种偏差

即 RNN 在 训练(training) 时接受的标签是真实的值(ground truth input),

但测试 (testing) 时却接受自己前一个单元的输出(output)作为本单元的输入(input),这两个setting不一致会导致误差累积error accumulate

误差累积是因为,你在测试的时候,如果前面单元的输出已经是错的,那么你把这个错的输出作为下一单元的输入,那么理所当然就是“一错再错”,造成错误的累积。

 

 

Seq2Seq中Exposure Bias现象的浅析与对策

SEQUENCE LEVEL TRAINING WITH RECURRENT NEURAL NETWORKS

《SEQUENCE LEVEL TRAINING WITH RECURRENT NEURAL NETWORKS》简评

Bridging the Gap between Training and Inference for Neural Machine Translation

如何缓解曝光偏差?

二、 RNN的两种训练模式

RNN存在着两种训练模式(mode):

  1. free-running mode
  2. teacher-forcing mode

free-running mode就是大家常见的那种训练网络的方式: 上一个state的输出作为下一个state的输入。而Teacher Forcing是一种快速有效地训练循环神经网络模型的方法,该模型使用来自先验时间步长的输出作为输入。

三、Teacher Forcing/RandomTeacher Forcing训练机制

https://blog.csdn.net/qq_30219017/article/details/89090690

Curriculum Learning

计划抽样(scheduled sampling)

四、Professor Forcing训练机制

https://blog.csdn.net/qq_28385535/article/details/87799702

https://blog.csdn.net/doyouseeman/article/details/108645701

teacher forcing有个问题就是,在测试的时候不能使用真值样本,而只能根据前面的采样,但是这样的条件环境又会有所不同。比如在一段时间序列的预测中,一个地方出错,就容易产生大偏差。

Professor Forcing的目标就是:

1. 使free running(或说self feeding)和teacher forcing行为尽可能的接近。对于接近,抛开概率的KL,那么就是GAN了;

2. 用GAN一点的话就是:我们在生成RNN与训练数据分布匹配的同时,我们还希望网络的行为(无论是输出中还是隐藏状态的动态中)能无法区分其输入是限制在teacher forcing的还是free running的。(分布匹配和行为匹配

professor forcing使用对抗域自适应(adversarial domain adaptation)来促进训练网络的动力学变化相同。

引自:

https://blog.csdn.net/qq_30219017/article/details/89090690

https://blog.csdn.net/qq_28385535/article/details/87799702

https://blog.csdn.net/doyouseeman/article/details/108645701

原文地址:https://www.cnblogs.com/jiangkejie/p/14117985.html