KL 散度

不确定性的数学

KL 散度测量一个分布 q 距离另一个分布 p 有多远:当现实是 p,却用错误分布 q 建模时,你要多支付的惊讶度。它是交叉熵中的差距:

两个事实让它成为机器学习中常用的“距离”。根据 Gibbs 不等式,它总是 ≥ 0;并且只有当 q = p 时它才为零。因此把 KL 推到 0,就表示让模型完美匹配真实分布。

KL 不是对称的:一般来说 KL(p‖q) ≠ KL(q‖p),并且它不满足三角不等式。这种不对称很有意义,因为两个方向奖励和惩罚不同的失败方式。KL(p‖q) 会在 p 大的地方重罚偏小的 q(它是“覆盖模式”的);KL(q‖p) 会惩罚 q 把质量放到 p 没有的地方(它是“寻找模式”的)。

在机器学习中的应用VAE 的 ELBO 中有一个 KL 项,把编码器的潜变量分布拉向先验 N(0, I),这是让潜空间保持良好形状的正则化器。PPO/TRPO 等强化学习方法用 KL “信赖域”限制每次策略更新,防止新策略跳得太远。知识蒸馏最小化大教师模型和小学生模型输出分布之间的 KL。
▶ KL 散度
← 交叉熵互信息 →