Forward KL 与 Reverse KL 有什么区别,为什么会分别表现为覆盖模式与寻找模式?
先用自己的话答,再看参考说法
60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。
别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。
参考内容当前已显示;开始口述后会暂时隐藏。
面试时怎么答
Forward KL 与 Reverse KL 必须连同“期望在哪个分布下取”一起讲,否则覆盖模式和寻找模式只是口号。用双峰分布说明漏峰与落入低密度区各自受到怎样的惩罚,再提醒这种直觉受近似分布族限制;追问通常会转向变分推断或蒸馏为何选择某一方向。
可以这样答:
Forward KL 在 \(P\) 下计算 \(\log(P/Q)\),漏掉 \(P\) 的高概率区域会受到很大惩罚,所以近似分布常铺得更宽;Reverse KL 在 \(Q\) 下取期望,\(Q\) 没覆盖的模式不会直接贡献损失,却很怕把概率放进 \(P\) 的低密度谷底,因此常集中到一个模式。不过“覆盖/寻找”只是常见直觉,具体结果还受近似分布族限制。
核心回答
KL 散度定义为:
\[D_{\mathrm{KL}}(P\Vert Q)=\mathbb{E}_{x\sim P}[\log P(x)-\log Q(x)]\]它非负但不对称。若 \(Q\) 在 \(P\) 有概率质量的位置给出接近零的概率,Forward KL 会产生巨大惩罚,因此优化受限的 \(Q\) 时常宁愿覆盖 \(P\) 的多个模式,即使模式之间也分配一些质量。
Reverse KL 为:
\[D_{\mathrm{KL}}(Q\Vert P)=\mathbb{E}_{x\sim Q}[\log Q(x)-\log P(x)]\]\(Q\) 没有覆盖到的 \(P\) 模式不会被 \(Q\) 的采样直接看到;反之,\(Q\) 若把质量放在 \(P\) 很低的区域会付出很大代价。在用单峰 \(Q\) 拟合多峰 \(P\) 的典型例子中,它常收缩到其中一个模式。
展开说明
两种 KL 都要求第一个分布的支撑集被第二个分布覆盖,否则散度可能为无穷。Forward KL 常见于最大似然:数据来自 \(P\),优化模型 \(Q\) 的 \(-\mathbb{E}_P[\log Q]\)。Reverse KL 常见于变分推断的 ELBO,因为近似后验 \(Q\) 易于采样和计算期望。
“覆盖模式”和“寻找模式”来自特定受限近似族的几何直觉。若 \(Q\) 足够表达且找到全局最优,两种方向都在 \(P=Q\) 时为零;实际差异来自有限模型、有限样本和优化路径。
工程实践
知识蒸馏中,最小化 Teacher 到 Student 的 KL 会迫使 Student 覆盖 Teacher 认为可能的类别。生成或变分模型还要检查模式坍塌。实验必须固定温度和归一化口径,除平均 KL 外分桶看低频区域,并用可靠性图、覆盖率和多样性指标互证。
常见追问
- KL 散度为什么不是距离? 它不对称,也不满足三角不等式,因此是分布差异度量而不是数学意义上的距离。
- 交叉熵与 Forward KL 有什么关系? \(H(P,Q)=H(P)+D_{\mathrm{KL}}(P\Vert Q)\);对固定数据分布 \(P\),最小化交叉熵等价于最小化 Forward KL。
- Reverse KL 一定会模式坍塌吗? 不一定。模式选择是受限单峰近似多峰目标时的常见现象;表达能力、正则化和优化算法都会改变结果。
- KL 为无穷通常意味着什么? 第一个分布在某处有正概率,而第二个分布在那里为零,违反了支撑集覆盖条件。
一句话复习
KL 的方向决定“在哪个分布下看错误”:Forward KL 怕漏覆盖,Reverse KL 怕把质量放错区域。
参考资料
评论与补充
评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。
正在连接站内评论服务…
正在加载评论…
还没有评论,你可以先写下自己的理解或追问。