统计机器翻译系统可视为一个概率推理引擎,其核心任务是求解最大后验概率:
e ^ = arg max e P ( e ∣ f ) = arg max e P ( f ∣ e ) P ( e ) P ( f ) \hat{e} = \arg\max_e P(e|f) = \arg\max_e \frac{P(f|e)P(e)}{P(f)} e^=argemaxP(e∣f)=argemaxP(f)P(f∣e)P(e)
由于分母 P ( f ) P(f) P(f)对优化无影响,目标简化为:
e ^ = arg max e P ( f ∣ e ) P ( e ) \hat{e} = \arg\max_e P(f|e)P(e) e^=argemaxP(f∣e)P(e) 组件详解:
• 翻译模型:建模 P ( f ∣ e ) P(f|e) P(f∣e),通过短语表存储双语短语对及其概率
• 语言模型:建模 P ( e ) P(e) P(e),常用3-gram或5-gram模型
• 解码器:动态规划算法寻找最优路径
接纳IBM Model 2进行词对齐练习,数学推导如下: 练习目标:最大化对数似然
L = ∑ ( f , e ) log P ( f ∣ e ) = ∑ ( f , e ) ∑ j = 1 m log ∑ i = 0 l t ( f j ∣ e i ) a ( i ∣ j , l , m ) \mathcal{L} = \sum_{(f,e)} \log P(f|e) = \sum_{(f,e)} \sum_{j=1}^{m} \log \sum_{i=0}^{l} t(f_j|e_i)a(i|j,l,m) L=(f,e)∑logP(f∣e)=(f,e)∑j=1∑mlogi=0∑lt(fj∣ei)a(i∣j,l,m) EM算法步调:
E步:盘算对齐概率
P ( a j = i ∣ f , e ) = t ( f j ∣ e i ) a ( i ∣ j , l , m ) ∑ k = 0 l t ( f j ∣ e k ) a ( k ∣ j , l , m ) P(a_j=i|f,e) = \frac{t(f_j|e_i)a(i|j,l,m)}{\sum_{k=0}^l t(f_j|e_k)a(k|j,l,m)} P(aj=i∣f,e)=∑k=0lt(fj∣ek)a(k∣j,l,m)t(fj∣ei)a(i∣j,l,m)
M步:更新参数
t ( f ∣ e ) = count ( f , e ) ∑ f ′ count ( f ′ , e ) a ( i ∣ j , l , m ) = count ( i , j , l , m ) ∑ k = 0 l count ( k , j , l , m ) t(f|e) = \frac{\text{count}(f,e)}{\sum_{f'}\text{count}(f',e)} \\ a(i|j,l,m) = \frac{\text{count}(i,j,l,m)}{\sum_{k=0}^l \text{count}(k,j,l,m)} t(f∣e)=∑f′count(f′,e)count(f,e)a(i∣j,l,m)=∑k=0lcount(k,j,l,m)count(i,j,l,m)
1.2.2 短语抽取规则
从词对齐矩阵中抽取满足对称条件的短语对:
• 源短语位置: i s i_s is到 j s j_s js
• 目标短语位置: i t i_t it到 j t j_t jt
• 所有对齐连接必须位于矩形地区 [ i s , j s ] × [ i t , j t ] [i_s,j_s] \times [i_t,j_t] [is,js]×[it,jt]内
图2:关键词抽取综述
1.2.3 特征权重练习
接纳最小错误率练习(MERT)优化特征权重:
λ ^ = arg min λ ∑ k = 1 K Err ( e ( k ) , e ^ ( k ) ) \hat{\lambda} = \arg\min_{\lambda} \sum_{k=1}^K \text{Err}(e^{(k)}, \hat{e}^{(k)}) λ^=argλmink=1∑KErr(e(k),e^(k))
其中 Err \text{Err} Err为翻译错误率函数,通过网格搜索在开发集上优化 λ \lambda λ参数。
1.3 系统优化本领
早期NMT模型接纳编码器-解码器架构,其数学形式为: 编码器:
h t e n c = LSTM ( x t , h t − 1 e n c ) h_t^{enc} = \text{LSTM}(x_t, h_{t-1}^{enc}) htenc=LSTM(xt,ht−1enc) 解码器:
h i d e c = LSTM ( y i − 1 , h i − 1 d e c ) P ( y i ∣ y < i , X ) = softmax ( W o h i d e c + b o ) h_i^{dec} = \text{LSTM}(y_{i-1}, h_{i-1}^{dec}) \\ P(y_i|y_{<i}, X) = \text{softmax}(W_o h_i^{dec} + b_o) hidec=LSTM(yi−1,hi−1dec)P(yi∣y<i,X)=softmax(Wohidec+bo) 梯度消失问题:
当输入序列长度超过30词时,反向传播梯度范数下降至初始值的 1 0 − 4 10^{-4} 10−4倍,导致长句翻译质量劣化。
2.2 注意力机制数学剖析
注意力机制通过动态上下文向量解决信息瓶颈问题: 上下文盘算:
c i = ∑ j = 1 T α i j h j e n c α i j = exp ( score ( h i d e c , h j e n c ) ) ∑ k = 1 T exp ( score ( h i d e c , h k e n c ) ) c_i = \sum_{j=1}^T \alpha_{ij} h_j^{enc} \\ \alpha_{ij} = \frac{\exp(\text{score}(h_i^{dec}, h_j^{enc}))}{\sum_{k=1}^T \exp(\text{score}(h_i^{dec}, h_k^{enc}))} ci=j=1∑Tαijhjencαij=∑k=1Texp(score(hidec,hkenc))exp(score(hidec,hjenc)) 评分函数类型:
• 点积: score ( a , b ) = a T b \text{score}(a,b) = a^T b score(a,b)=aTb
• 双线性: score ( a , b ) = a T W b \text{score}(a,b) = a^T W b score(a,b)=aTWb
• 加性: score ( a , b ) = v T tanh ( W a a + W b b ) \text{score}(a,b) = v^T \tanh(W_a a + W_b b) score(a,b)=vTtanh(Waa+Wbb)
对于输入序列 X ∈ R n × d X \in \mathbb{R}^{n \times d} X∈Rn×d,盘算:
Q = X W Q , K = X W K , V = X W V Attention ( Q , K , V ) = softmax ( Q K T d k ) V Q = X W^Q, \quad K = X W^K, \quad V = X W^V \\ \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Q=XWQ,K=XWK,V=XWVAttention(Q,K,V)=softmax(dk QKT)V 矩阵维度:
• W Q , W K ∈ R d × d k W^Q, W^K \in \mathbb{R}^{d \times d_k} WQ,WK∈Rd×dk
• W V ∈ R d × d v W^V \in \mathbb{R}^{d \times d_v} WV∈Rd×dv
• 输出维度: R n × d v \mathbb{R}^{n \times d_v} Rn×dv
2.3.2 位置编码理论
绝对位置编码的傅里叶基函数设计:
P E ( p o s , 2 i ) = sin ( p o s / 1000 0 2 i / d ) P E ( p o s , 2 i + 1 ) = cos ( p o s / 1000 0 2 i / d ) PE(pos, 2i) = \sin(pos / 10000^{2i/d}) \\ PE(pos, 2i+1) = \cos(pos / 10000^{2i/d}) PE(pos,2i)=sin(pos/100002i/d)PE(pos,2i+1)=cos(pos/100002i/d)
该设计的优势在于能线性表现相对位置:
P E ( p o s + Δ ) = T Δ ⋅ P E ( p o s ) PE(pos+\Delta) = T_\Delta \cdot PE(pos) PE(pos+Δ)=TΔ⋅PE(pos)
其中 T Δ T_\Delta TΔ是旋转矩阵,证明如下:
令 θ i = 1 / 1000 0 2 i / d \theta_i = 1/10000^{2i/d} θi=1/100002i/d,则:
[ sin ( θ i ( p o s + Δ ) ) cos ( θ i ( p o s + Δ ) ) ] = [ cos ( θ i Δ ) sin ( θ i Δ ) − sin ( θ i Δ ) cos ( θ i Δ ) ] ⋅ [ sin ( θ i p o s ) cos ( θ i p o s ) ] \begin{bmatrix}\sin(\theta_i (pos+\Delta)) \\\cos(\theta_i (pos+\Delta))\end{bmatrix}= \begin{bmatrix} \cos(\theta_i \Delta) & \sin(\theta_i \Delta) \\ -\sin(\theta_i \Delta) & \cos(\theta_i \Delta) \end{bmatrix} \cdot \begin{bmatrix} \sin(\theta_i \, pos) \\ \cos(\theta_i \, pos) \end{bmatrix} [sin(θi(pos+Δ))cos(θi(pos+Δ))]=[cos(θiΔ)−sin(θiΔ)sin(θiΔ)cos(θiΔ)]⋅[sin(θipos)cos(θipos)]
2.3.3 残差连接与层归一化
每个子层的输出为:
LayerNorm ( x + Sublayer ( x ) ) \text{LayerNorm}(x + \text{Sublayer}(x)) LayerNorm(x+Sublayer(x)) 数学性质:
• 缓解梯度消失:纵然Sublayer的梯度趋近零,残差项仍能传递梯度
• 稳固练习过程:层归一化使各维度的均值为0、方差为1 三、评估指标:从表面匹配到语义理解
3.1 BLEU指标深入分析
BLEU的盘算细节常被忽视,例如: n-gram匹配规则:
• 使用截断计数(clipped counts)防止高频词主导
Count c l i p ( n -gram ) = min ( Count ( n -gram ) , max r e f Count r e f ( n -gram ) ) \text{Count}_{clip}(n\text{-gram}) = \min(\text{Count}(n\text{-gram}), \max_{ref}\text{Count}_{ref}(n\text{-gram})) Countclip(n-gram)=min(Count(n-gram),refmaxCountref(n-gram)) 简洁性处罚的数学缺陷:
当候选长度 c c c与参考长度 r r r差异较大时,BLEU分大概失真。例如:
• 候选句长度 c = 10 c=10 c=10,参考长度 r = 20 r=20 r=20 → B P = e − 1 ≈ 0.37 BP=e^{-1} \approx 0.37 BP=e−1≈0.37
• 此时纵然n-gram全匹配,BLEU分也不会超过0.37
3.2 METEOR的语义扩展
案例对比:
候选句:“The quick brown fox jumps over the lazy dog”
参考句:“A fast brown fox leaps over a lazy canine”
• BLEU-4:仅匹配"brown fox"和"lazy",得分0.21
• METEOR:匹配"quick→fast", “jumps→leaps”, “dog→canine”,得分0.52 四、技能演进与性能对比
前沿技能:
• 多语言团结练习:共享隐层参数,实现知识迁移
L = ∑ ( s , t ) ∈ P L s → t + λ ∑ l ∈ L L l → l \mathcal{L} = \sum_{(s,t)\in\mathcal{P}} \mathcal{L}_{s\to t} + \lambda \sum_{l\in\mathcal{L}} \mathcal{L}_{l\to l} L=(s,t)∈P∑Ls→t+λl∈L∑Ll→l
• 零样本翻译:通过枢纽语言(pivot)桥接无直接语料的语言对 实验结果:
在斯瓦希里语→芬兰语任务中,多语言模型比单语言模型BLEU提升14.2分
5.2 范畴自顺应技能
动态范畴混合:
P ( y ∣ x ) = ∑ d ∈ D π d ( x ) P d ( y ∣ x ) P(y|x) = \sum_{d\in\mathcal{D}} \pi_d(x) P_d(y|x) P(y∣x)=d∈D∑πd(x)Pd(y∣x)
其中范畴权重 π d ( x ) \pi_d(x) πd(x)由分类器实时预测 医疗范畴案例:
• 通用模型BLEU:22.4
• 范畴自顺应后BLEU:37.6(+68%) 结语