450 Chapter 13. 神经机器翻译模型训练 肖桐 朱靖波
13.4 学习策略
尽管极大似然估计在神经机器翻译中取得了巨大的成功,但仍然面临着许多
题。比如,似然函数并不是评价翻译系统性能的指标,这使得即使在训练数据上
化似然函数,但在应用模型时并不一定可以获得更好的翻译结果。本节首先会对
大似然估计的问题进行论述,然后介绍一些解决相关问题的方法。
13.4.1 极大似然估计的问题
极大似然估计已成为机器翻译乃至整个自然语言处理领域中使用最广泛的训
用目标函数。但是,使用极大似然估计存在曝光偏置Exposure Bias)问题和训练目
标函数与任务评价指标不一致问题,具体体现在如下两个方面。
曝光偏置问。在训练程中,模型使用标数据进行练,因此模在预
下一个单词时,解码器的输入是正确的译文片段。也就是,预测第 j 个单词时,
系统使用了标准答案 {y
1
,...,y
j1
}作为历史信息。但是对新的句子进行翻译时,
预测第 j 个单词时使用的是模型自己生成的 j 1 个单词,即 {ˆy
1
,..., ˆy
j1
}
这意味着,训练时使用的输入数据(目标语言端)与真实翻译时的情况不符,
13.8所示。由于模型在训练过程中一直使用标注数据作为解码器的输入,使
得模型逐渐适应了标注数据。因此在推断阶段,模型无法很好地适应模型本身
生成的数据,这就是曝光偏置问题
[599, 600]
训练目标函数与任务评价指标不一致问题通常,在训练过程中,模型采用极大似
然估计对训练数据进行学习,而在推断过程中,通常使用 BLEU 等外部评价指
标来评价模型的性能。在机器翻译任务中,这个问题的一种体现是,训练数据
上更低的困惑度不一定能带来 BLEU 的提升。更加理想的情况是,模型应该直
接使性能评价指标最大化,而不是训练集数据上的似然函数
[235]
但是很多模型
性能评价指标不可微分,这使得研究人员无法直接利用基于梯度的方法来优化
这些指标。
13.4.2 Teacher-forcing 方法
所谓 Teacher-forcing 方法,即要求模型预测的结果和标准答案完全对应。Teacher-
forcing 是一种深度学习中的训练策略,在序列处理任务上被广泛使用
[571]
。以序列生
成任务为例,Teacher-forcing 要求模型在训练时不是使用上一个时刻的模型输出作为
下一个时刻的输入,而是使用训练数据中上一时刻的标准答案作为下一个时刻的
入。显然,这会导致曝光偏置问题。为了解决这个问题,可以使用非 Teacher-forcing
方法。比如,在训练中使用束搜索,这样可以让训练过程模拟推断时的行为。具体来
说,非 Teacher-forcing 方法可以用调度采样和生成对抗网络进行实现。
13.4 学习策略 451
人工标注数据
系统预测结果
h
1
···
h
j1
h
j
Softmax
ˆy
j1
Softmax
ˆy
j
Softmax
ˆy
1
y
j2
y
j1
(a) 训练阶段
sos
[step j 1] [step j][step 1]
真实数据 y
y
1
y
2
y
3
...
y
n
1
1
1
1
h
1
···
h
j1
h
j
Softmax
ˆy
j1
Softmax
ˆy
j
Softmax
ˆy
1
(b) 推断阶段
ˆy
j2
ˆy
j1
sos
[step j 1] [step j][step 1]
模型输出 ˆy
ˆy
1
ˆy
2
ˆy
3
...
ˆy
n
1
1
1
1
13.8 曝光偏置问题(基于循环神经网络的翻译模型)
1. 调度采样
对于一个目标语言序列 y = {y
1
,...,y
n
}在预测第 j 个单词时,训练过程与推断
过程之间的主要区别在于:训练过程中使用标准答案 {y
1
,...,y
j1
}而推断过程使用
的是来自模型本身的预测结果
{
ˆ
y
1
,...,
ˆ
y
j1
}
此时可以采取一种
调度采样
Scheduled
Sampling)机制
[599]
。以基于循环神经网络的模型为例,在训练中预测第
j
个单词时,
随机定使 y
j1
还是 ˆy
j1
作为入。假训练使用是基小批的随
度下降方法,在 i 个批次中对序列每一个位置进行预测时,会以概率 ϵ
i
使用标
答案 y
j1
,或以概率 1 ϵ
i
使用来自模型本身的预测 ˆy
j1
。具体到序列中的一个位
j,可以根据模型单词预测的概率进行采样,在 ϵ
i
控制的调度策略下,同 y
j1
起作为输入。此过程如图13.9所示,并且这个过程可以很好地与束搜索融合。
ϵ
i
= 1 时,同, ϵ
i
= 0 时,
的训练则与推断时使用的策略完全一样。在这里使用到了一种课程学习Curriculum
Learning策略
[601]
该策略认为学习应该循序渐进,从一种状态逐渐过渡到另一种状
态。在训练开始时,由于模型训练不充分,因此如果使用模型预测结果作为输入,会导
致收敛速度非常慢。因此,在模型训练的前期,通常会选择使用标准答案 {y
1
,...,y
j1
}
在模型训练的后期,应该更倾向于使用自模型本身的预测 {ˆy
1
,..., ˆy
j1
}关于课程学
习的内容在13.6.2节还会有详细介绍。
452 Chapter 13. 神经机器翻译模型训练 肖桐 朱靖波
h
1
···
h
j1
h
j
Softmax
ˆy
j1
Softmax
ˆy
j
Softmax
ˆy
1
sos
ˆy
j2
y
j2
y
j1
ˆy
j1
[step j 1] [step j][step 1]
1 ϵ
i
ϵ
i
13.9 调度采样方法的示意图
在使用调度策略时,需要调整关于训练批次 i 的函数来降低 ϵ
i
与梯度下降方法
中降低学习率的方式相似。调度策略可以采用如下几种方式:
线性衰减ϵ
i
= max(ϵ,k ci),其中 ϵ0 6 ϵ < 1)是 ϵ
i
的最小数值,而 k c
代表衰减的偏移量和斜率,取决于预期的收敛速度。
指数衰减ϵ
i
= k
i
,其中 k 是一个常数,一般为 k < 1
反向 Sigmoid 衰减ϵ
i
= k/(k + exp (i/k)),其中 k > 1
2. 生成对抗网络
调度采样解决曝光偏置的方法是,把模型前 j 1 步的预测结果作为输入,来预
测第 j 步的输出。但是,如果模型预测的结果中有错误,再使用错误的结果预测未来
的序列也会产生问题。解决这个问题就需要知道模型预测的好与坏,并在训练中
效的使用它们。如果生成好的结果,那么可以使用它进行模型训练,否则就不使用。
生成对抗网络就是这样一种技术,它引入了一个额外的模型(判别器)来对原有
型(生成器)的生成结果进行评价,并根据评价结果同时训练两个模型。
y
x
生成模型 G
ˆy
判别网络 D
根据 (x, ˆy)
成奖励信号
13.10 对抗神经机器翻译框架图
13.3小节已经提到了生成对抗网络,这里稍微进行一些展开。机器翻译中,
13.4 学习策略 453
基于对抗神经网络的架构被命名抗神机器翻译Adversarial-NMT
[602]
。这里,
(x,y) 表示一个练样本,令 ˆy 表示神经机器翻译系统对源语言句子 x 翻译
果。此时,对抗神经机器翻译的总体框架可以表示为13.10,其中。绿色部分表示
神经机器翻译模型 G该模型将源语言句 x 翻译为目标语言句 ˆy。红色部分是
对抗网络 D它的作用是判断目标语言句子是否是源语言句子 x 真实翻译。G
D 相互对抗, G 生成的翻译结果 ˆy 来训练 D并生成奖励信号,再使用奖励信号
通过策略梯度训练 G
实际上,对抗神经机器翻译的训练目标就是强制 ˆy y 相似。在理想情况下,ˆy
与人类标注的答案 y 非常相似,以至于人类也无法分辨 ˆy 是由机器还是人类产生的。
13.4.3 强化学习方法
强化学习Reinforcement LearningRL方法是机器学习中的经典方法,它可以
同时13.4.1节提曝光问题训练函数务评标不致问题。
本节主要介绍基于策略的方法和基于演员-评论家的方法
[603]
1. 基于策略的方法
最小风险训练Minimum Risk TrainingMRT)可以被看作是一种基于策略的方
法。与极大似然估计不同,最小风险训练引入了评价指标作为损失函数,并优化
型将预期风险降至最低
[235]
最小风险训练的目标是找到模型参数
ˆ
θ
MRT
,满足如下公式:
ˆ
θ
MRT
= arg min
θ
{R(θ)} (13.13)
中,R(θ) 险,示。 N
{(x
[1]
,y
[1]
),...,(x
[N]
,y
[N]
)}R(θ) 被定义如下:
R(θ) =
N
X
k=1
E
ˆy|x
[k]
;θ
[M (ˆy, y
[k]
)]
=
N
X
k=1
X
ˆyχ(x
[k]
)
P (ˆy|x
[k]
;θ) M (ˆy, y
[k]
) (13.14)
这里,ˆy 是模型预测的译文,χ(x
[k]
) x
[k]
所对应的所有候选翻译的集合。损失函数
M (ˆy,y
[k]
) 用来衡量模型预测 ˆy 与标准答案 y
[k]
间的差异,损失函数一般用翻译质量
评价指标定义,例如,BLEUTER
4
在最小风险训练中,对模型参数 θ 的偏导数
4
当选择 BLEU 作为损失函数时,损失函数可以被定义为 1BLEU
454 Chapter 13. 神经机器翻译模型训练 肖桐 朱靖波
为:
R(θ)
θ
=
N
X
k=1
E
ˆy|x
[k]
;θ
[M (ˆy, y
[k]
) ×
P (ˆy|x
[k]
;θ)/∂θ
P (ˆy|x
[k]
;θ)
]
=
N
X
k=1
E
ˆy|x
[k]
;θ
[M (ˆy, y
[k]
) ×
logP (ˆy|x
[k]
;θ)
θ
] (13.15)
(13.15)使Policy Gradient)的 M (ˆy,y
[k]
) 提到
[604, 605]
这样,就无需对 M (ˆy,y
[k]
) 进行微分,因此最小风险训练允许任意不可微的
损失函数,包括 BLEU 常用的评价函数。同时,等式右侧将对概率的求导操作转
化为了对 log 函数的求导,更易于模型进行优化。因此,使用公式(13.15)就可以求出
模型参数相对于风险函数的损失,进而进行基于梯度的优化。
这里要注是,公(13.15)期望程是直接的,因
遍历所有的译文句子。通常,会使用采样的方法搜集一定数量的译文,来模拟译
空间。例如,可以使用推断系统生成若干译文。同时,为了保证生成的译文之间具有
一定的差异性,也可以对推断过程进行一些“干扰”从实践的角度看,采样方法是
影响强化学习系统的重要因素,因此往往需要对不同的任务设计相适应的采样方法。
最简单的方法就是在产生译文的每一个词时候,根据模型产生的下一个词的分布
机选取词当作模型预测,直到选到句子结束符或者达到特定长度的时候停止
[606]
。其
他方法还包括随机束搜索,它把束搜索中选取 Top-k 的操作替换成随机选取 k 个词。
这个方法不会采集到重复的样本。还可以使用基于 Gumbel-Top-k 的随机束搜索更好
地控制了样本里的噪声
[607]
相比于极大似然估计,最小风险训练有着以下优点:
最小风险训练使用模型自身产生的数据进行训练,从而避免了曝光偏置问题。
最小风险训练直接优化 BLEU 等评价指标,从而解决了训练目标函数与任务评
价指标不一致问题。
最小风险训练方法不涉及具体的模型结构,可以应用于任意的机器翻译模型。
2. 演员-评论家方法
基于策略的强化学习是要寻找一个策略 p(a|ˆy
1...j1
,x),使得该策略选择的行动
a 未来可以获得的奖励期望最大化,也被称为动作价值函数Action-value Function
大化。这个过程通常用函数 Q 来描述:
Q(a; ˆy
1...j1
,y) = E
ˆy
j+1...J
p(·|ˆy
1...j1
a,x)
[r
j
(a; ˆy
1...j1
,y) +
J
X
i=j
r
i
(ˆy
i
; ˆy
1...j1
aˆy
j+1...i
,y)] (13.16)
13.4 学习策略 455
其中,r
j
(a; ˆy
1...j1
,y) j 时刻做出行动 a 获得的奖励,r
i
(ˆy
i
; ˆy
1...j1
aˆy
j+1...i
,y) 是在 j
时刻的行动为 a 的前提下,i 时刻的做出行动 ˆy
i
获得的奖励,ˆy
j+1...J
p(·|ˆy
1...j1
a,x)
表示序 ˆy
j+1...J
是根据 p(·|ˆy
1...j1
a,x) 到的采样结果,概率函 p 中的 · 表示
ˆy
j+1...J
服从的随机变量,x 是源语言句子,y 是正确译文,ˆy
1...j1
是策略 p 产生
的译文的前 j 1 个词,J 生成译文的长度。特别的,对于公13.16 ˆy
j+1...i
说,如果 i < j +1 ˆy
j+1...i
不存在,对于源语言句子 x最优策略 ˆp 可以被定义为:
ˆp = argmax
p
E
ˆyp(ˆy|x)
J
X
j=1
X
aA
p(a|ˆy
1...j
,x)Q(a; ˆy
1...j
,y) (13.17)
其中,A 表示所有可能的行动组成的空间,也就是词表 V 公式(13.17)的含义是,
优策略 ˆp 的选择需要同时考虑当前决策的“信心”(即 p(a|ˆy
1...j
,x)和未来可以获得
的“价值”(即 Q(a; ˆy
1...j
,y)
计算动作价值函数 Q 需要枚举 j 时刻以后所有可能的序列,而可能的序列数目
是随着其长度呈指数级增长,因此只能采用估计的方法计算 Q 的值。基于策略的强
化学习方法,如最小风险训练(风险 M= Q等都使用了采样的方法来估计 Q
管采样估计的结果是 Q 的无偏估计,但是它的缺点在于估计的方差比较大。 Q
接关系到梯度更新的大小,不稳定的数值会导致模型更新不稳定,难以优化。
为了避免采样的开销和随机性带来的不稳定,基于演员-评论家Actor-critic
强化学习方法引入一个可学习的函数
˜
Q通过函数
˜
Q 来逼近动作价值函数 Q
[603]
是由于
˜
Q 是人工设计的一个函数,该函数有着自身的偏置,因
˜
Q 不是 Q 的一
无偏估计,所以使用
˜
Q 来指导 p 的优化无法到达理论上的最优解。尽管如此,得益
于神经网络强大的拟合能力,基于演员-评论家的强化学习方法在实践中仍然非常流
行。
在基于演员-评论家的强化学习方法中,演员就是策略 p,而评论家就是动作价
值函数 Q 的估计
˜
Q。对于演员,它的目标是找到最优的决策:
ˆp = argmax
p
E
ˆyp(ˆy|x)
J
X
j=1
X
aA
p(a|ˆy
1...j
,x)
˜
Q(a; ˆy
1...j
,y) (13.18)
与公式(13.17)对比可以发现,基于演员-评论家的强化学习方法与基于策略的强
化学习方法类似,公式
(
13.18)
对动作价值函数
Q
的估计变成了一个可学习的函数
˜
Q
对于目标函数里期望的计算,通常使用采样的方式来进行逼近,这与最小风险训
也是十分类似的,例如,选择一定量的 ˆy 来计算期望,而不是遍历所有的 ˆy借助与
最小风险训练类似的方法,可以计算对 p 的梯度来优化演员。
而对于评论家,它的优化目标并不是那显而易见。尽管可以通过采样的方
来估计 Q,然后使用该估计作为目标让
˜
Q 进行拟合,但是这样会导致非常高的(采
样)代价。同时可以想象,既然有了一个无偏估计,为什么还要用有偏估计
˜
Q 呢?
456 Chapter 13. 神经机器翻译模型训练 肖桐 朱靖波
回顾动作价值函数的定义,可以对它做适当的展开,可以得到如下等式:
Q(ˆy
j
; ˆy
1...j1
,y) = r
j
(ˆy
j
; ˆy
1...j1
,y) +
X
aA
p(a|ˆy
1...j
,x)Q(a; ˆy
1...j
,y) (13.19)
这个等式也被称为贝尔曼方程Bellman Equation
[608]
它表达了 j 1 时刻的动
作价值函数 Q(ˆy
j
; ˆy
1...j1
,y) 跟下一时刻 j 的动作价值函数 Q(a; ˆy
1...j
,y) 之间的关系。
在理想情况下,动作价值函数 Q 应该满足上述等式,因此可以使用该等式作为可学
习的函数
˜
Q 的目标。于是,可以定义 j 时刻动作价值函数为:
q
j
= r
j
(ˆy
j
; ˆy
1...j1
,y) +
X
aA
p(a|ˆy
1...j
,x)
˜
Q(a; ˆy
1...j
,y) (13.20)
相应的,评论家对应的目标定义如下:
ˆ
˜
Q = arg min
˜
Q
J
X
j=1
(
˜
Q(ˆy
j
; ˆy
1...j1
,y) q
j
)
2
(13.21)
此时,公式13.20与公式13.21共同组成了评论家的学习目标,使得可学习的函数
˜
Q 近理想 Q最后,通过同时优化演员和评论家直到收敛,获得的演员(也
是策略 p)就是我们期望的翻译模型。图13.11展示了演员和评论家的关系。
Decoder
Encoder
Decoder
Encoder
演员 p
x
评论家 Q
y
Q
1
,Q
2
,...,Q
J
˜y
1
, ˜y
2
,..., ˜y
J
13.11 基于演员-评论家的强化学习方法
使用基于演员-评论家的强化学习方法还有许多细节,包括但不限于以下技巧:
多目标学。演员的优化通常会引入额外的极大似然估计目标函数,同时会使
用极大似然估计进行预训练。这样会简化训练,因为随机初始化的演员性能很
差,很难获得有效的奖励。同时极大似然估计也可以被当作一种先验知识,
过正则项的形式约束机器翻译模型的学习,防止模型陷入很差的局部最优,
加速模型收敛。
优化目标。评论家的优化目标是由自身输出所构造的。当模型更新比较快的时
候模型的输出变化也会很快,导致构造的优化目标不稳定,影响模型收敛效果。
一个解决方案是,在一定更新次数内固定构造优化目标使用的模型,然后再使
13.4 学习策略 457
用比较新的模型来构造后续一定更新次数内的优化目标,如此往复
[609]
方差惩罚在机器翻译中使用强化学习方法的一个问题是动作空间过大,这是由
词表过大造成的。因为模型只根据被采样到的结果来进行更新,很多动作很难
得到更新,因此对不同动作的动作价值函数估计值会有很大差异。此时,通常
C
j
=
P
aA
(
˜
Q(a; ˆy
1...j1
,y)
1
|A|
P
bA
˜
Q(b; ˆy
1...j1
,y))
2
约束不同动作的动作函数估计值,使其不会偏离均值太远
[610]
函数塑形在机器翻译里面使用强化学习方法的另一个问题就是奖励的稀疏性。
评价指标如 BLEU 等只能对完整的句子进行打分,也就是奖励只有在句子结尾
有值,而在句子中间为 0。这种情况意味着模型在生成句子的过程中没有任
信号来指导它的行为,从而大大增加了学习难度。常见的解决方案是进行函数
塑形Reward Shaping使得奖励在生成句子的过程中变得稠密,同时也不会
改变模型的最优解
[611]