给定两个分布 p(z) 和 q(z),它们之间的距离可以通过相对熵(Relative Entropy) 来衡量,这个指标就被称为 KL 散度(Kullback-Leibler Divergence):
DKL(p∥q)=∑zp(z)logq(z)p(z)
KL 散度衡量了通过 q(z) 近似 p(z) 时所引入的额外信息量。两者越接近,KL 散度越小;反之越大。
KL 散度不是对称的:DKL(p∥q)=DKL(q∥p),因此它不是严格意义上的距离度量。
正向 KL 散度与反向 KL 散度
KL 散度有两种常见方向,作为优化目标时有不同的物理意义。
| 正向 DKL(p∥q) | 反向 DKL(q∥p) |
|---|
| 优化目标 | DKL(p∥q)=minq∑zp(z)logq(z)p(z) | DKL(q∥p)=minq∑zq(z)logp(z)q(z) |
| 基准分布 | 以真实分布 p 为基准 | 以近似分布 q 为基准 |
| 优化重点 | 重点拟合 p(z) 的高概率区域 | 惩罚 q(z) 在 p(z) 低概率区域的非必要分布 |
| 核心特性 | zero-avoiding:p(z)>0⇒q(z)>0 | zero-forcing:p(z)=0⇒q(z)=0 |
| q 的形态 | 更宽,覆盖 p 的全部模式(mode) | 更窄,集中于 p 的某个模式 |
| 别名 | mean-seeking / mode-covering | mode-seeking / mode-collapsing |
| 适用场景 | 需要全面覆盖、模型外推性的任务 | 需要精确聚焦、特定化的任务 |
最近很火的 On-Policy Distillation 中就是将 teacher / student 的 logits 分布的 KL 散度作为 reward 进行 RL。
参考资料
Comments