Page 119 - 《软件学报》2026年第6期
P. 119
2438 软件学报 2026 年第 37 卷第 6 期
先级, 确保学生模型在主要概率区域和趋零概率区域均具备学习能力, 实现全局优化, 避免局部优化造成的偏差问
题. 具体而言, 参数 β 根据任务需求在两个散度之间平衡权重, 当学生模型与教师模型的输出分布差异较大时, 增
大 RKL 散度的权重, 避免学生模型放置过多的权重在教师模型的低概率区域; 当分布差异较小时, 增大 KL 散度
的权重, 确保学生模型更全面地学习教师模型的输出分布.
本文使用 ˜ z teacher 表示对 z teacher 进行归一化处理后的概率分布, 其定义如下:
t t
z teacher
˜ z teacher t (6)
t = ∑ V
z teacher
i=1 i,t
)
(
同理, 定义学生模型的输出概率分布为 q θ y t |y <t , x . 其定义如下:
( )
exp z student /T
( )
t (7)
V student
q θ y t |y <t , x = ∑ ( )
exp z /T
i=1 i,t
使用 z student 表示学生模型在位置 t 的 logits 值. 使用 ˜ z student 表示对 z student 进行归一化后的值, 其定义如下:
t t t
z student
˜ z student = ∑ V t (8)
t
z student
i=1 i,t
对批量大小为 B 的数据中的第 b 条数据, 自适应知识蒸馏方法优化公式如下:
∑ B (β×L RKL (p,q θ )+(1−β)×L KL (p,q θ ))
AKD(θ,β) = (9)
b=1 len(x b )
其中, x b 表示第 b 条数据的输入样本, len(x b ) 是 x b 样本长度.
θ
本文的目标是找到最优的学生模型参数 θ 和自适应参数 β, 使损失函数 AKD(θ,β) 最小化, 对 值的优化问题
如下:
minAKD(θ,β) (10)
θ
k
k
θ k+1 = argminAKD(θ ,β ) (11)
θ
k
θ
θ
k
其中, argmin 表示找到使损失函数 AKD(θ ,β ) 达到最小值的 值, 对 值的更新公式如下:
θ
k
k
k
θ k+1 = θ −η θ ·∇ θ AKD(θ ,β ) (12)
k
k
k
k
θ
其中, η θ 为学习率, ∇ θ AKD(θ ,β ) 表示损失函数 AKD(θ ,β ) 对 值的梯度, 因此 值更新的目的是减少损失函数的
θ
值, 逐步找到最优解.
由于直接优化 β 值会存在更新到极端值 (0 或 1) 的情况, 导致学生模型无法充分学习教师模型的分布特征. 为
β 进行约束和惩罚, 确保其在训练过程中保持在合理范围内. 本文设计的正
解决这个问题, 本文引入正则化项, 对
则项如下:
∑
I ( )
Reg(β) = λ reg · −log(ϵ +|β−0.5|×2)−log(ϵ +1−|β−0.5|×2) (13)
i=1
ϵ
其中, λ reg 是正则化强度的超参数, 是常数, 取值为 0.000 1, 防止对数函数的奇异性.
因此对 β 值优化的函数如下:
( )
minL β (θ,β) = min −AKD(θ,β)+Reg(β) (14)
β β
对 β 值优化的目标函数使用负学习以最大化 AKD(θ,β) 损失, 本文在公式 (15)–(17) 给出证明过程.
β 值的优化如下:
k
k
β k+1 = argminL β (θ ,β ) (15)
θ
对 β 值的优化目标进行求导, 得到以下公式:
( )
∑
∂L β I i i 1 1
= L −L +λ reg × ×sign(β i −0.5)+ ×sign(1−β i −0.5) (16)
∂β i=1 KL RKL ϵ +|β i −0.5| ϵ +|1−β i −0.5|

