Teacher Forcing & Exposure Bias
教师强制 & 曝光偏差
-
在自回归生成模型中,第 t t t步的输入为模型生成的前缀序列 x ^ 1 : ( t − 1 ) \hat{\boldsymbol{x}}_{1:(t-1)} x^1:(t−1)。而在训练时,我们使用的前缀序列是训练集中的真实数据 x 1 : ( t − 1 ) \boldsymbol{x}_{1:(t-1)} x1:(t−1),而不是模型预测的 x ^ 1 : ( t − 1 ) \hat{\boldsymbol{x}}_{1:(t-1)} x^1:(t−1)。这种学习方式也称为教师强制(Teacher Forcing)
-
在训练时,每步的输入 x 1 : ( t − 1 ) \boldsymbol{x}_{1:(t-1)} x1:(t−1)来自于真实数据分布 p r ( x 1 : ( t − 1 ) ) p_{r}\left(\boldsymbol{x}_{1:(t-1)}\right) pr(x1:(t−1));而在测试时,每步的输入 x ^ 1 : ( t − 1 ) \hat{\boldsymbol{x}}_{1:(t-1)} x^1:(t−1)来自于模型分布 p θ ( x 1 : ( t − 1 ) ) p_{\theta}\left(\boldsymbol{x}_{1:(t-1)}\right) pθ(x1:(t−1))。由于模型分布和真实数据分布并不严格一致,因此存在协变量偏移问题。一旦在预测前缀 x ^ 1 : ( t − 1 ) \hat{\boldsymbol{x}}_{1:(t-1)} x^1:(t−1)的过程中存在错误,会导致错误传播,使得后续生成的序列也会偏离真实分布。这个问题称为曝光偏差问题(Exposure Bias)
Scheduled Sampling
计划采样
-
为了缓解曝光偏差问题,我们可以在训练时混合使用真实数据和模型生成数据。在第 t t t步时,模型随机使用真实数据 x t − 1 x_{t-1} xt−1或前一步生成的词 x ^ t − 1 \hat{x}_{t-1} x^t−1作为输入
-
令 ϵ ∈ [ 0 , 1 ] \epsilon \in[0,1] ϵ∈[0,1]为一个控制替换率的超参数,在每一步时,以 ϵ \epsilon ϵ的概率使用真实数据 x t − 1 x_{t-1} xt−1,以 1 − ϵ 1-\epsilon 1−ϵ的概率使用生成数据 x ^ t − 1 \hat{x}_{t-1} x^t−1。直觉上,如果一开始训练时的 ϵ \epsilon ϵ过小,模型相当于在噪声很大的数据上训练,会导致模型性能变差,并且难以收敛。因此,较好的策略是在训练初期赋予 ϵ \epsilon ϵ较大的值,随着训练次数的增加逐步减小 ϵ \epsilon ϵ的取值。这种策略称为计划采样(Scheduled Sampling)
-
令 ϵ i {\epsilon}_i ϵi为在第 i i i次迭代时的替换率,在计划采样中可以通过下面几种方法来逐步减小 ϵ \epsilon ϵ的取值
-
线性衰减
ϵ i = max ( ϵ , k − c i ) \epsilon_{i}=\max (\epsilon, k-c i) ϵi=max(ϵ,k−ci)
其中 ϵ \epsilon ϵ为最小的替换率, k k k和 c c c分别为初始值和衰减率 -
指数衰减
ϵ i = k i \epsilon_{i}=k^{i} ϵi=ki
其中 k < 1 k<1 k<1为初始替换率 -
逆Sigmoid衰减
ϵ i = k / ( k + exp ( i / k ) ) \epsilon_{i}=k /(k+\exp (i / k)) ϵi=k/(k+exp(i/k))
其中 k ≥ 1 k\geq1 k≥1控制衰减速度
-
-
计划采样的一个缺点是过度纠正,即在每一步中不管输入如何选择,目标输出(Ground Truth)依然是来自于真实数据,这可能使得模型预测一些不正确的序列
训练目标不一致问题
训练目标不一致问题
-
序列生成模型的好坏通常采用和任务相关的指标来进行评价,比如BLEU、ROUGE等。然而,在训练时通常是使用最大似然估计来优化模型,这导致训练目标和评价方法不一致。并且这些评价指标一般都是不可微的,无法直接使用基于梯度的方法来进行优化。
-
基于强化学习的序列生成
-
在第 t t t步,动作 a t a_t at可以看作从词表中选择一个词,状态 s t s_t st为之前步骤中生成的前缀序列 x 1 : ( t − 1 ) \boldsymbol{x}_{1:(t-1)} x1:(t−1),采用Policy Gradient进行训练
-
可以使用BLEU或ROUGE作为Reward,解决了训练与评价目标不一致,也解决了曝光偏差问题
-