M1-065M1: Mathematics & Statistics FundamentalsInformation TheoryMedium
Mastery:
Information Theory: 解释 JS 散度与它相对 KL 的改进。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: JS = KL 的对称化平滑版本,取值 [0, log2],有界且对称;但两个分布支撑不重叠时仍饱和。
📌 Key Takeaways
- •对称:JS(p‖q)=JS(q‖p)
- •有界:[0, log2](以 2 为底)
- •JS 的平方根是度量(满足三角不等式)
📐 Mathematical Derivations
JS 散度的构造:取两个分布的<strong>平均分布</strong> m=(p+q)/2 作为参照,计算 p 与 q 相对 m 的 KL 的加权平均。<strong>相对 KL 的三点改进</strong>:① <strong>对称</strong>——JS(p‖q)=JS(q‖p),而 KL 不对称(这使它更像'距离');② <strong>有界</strong>——取值在 [0, log2](以 2 为底)之间,不会像 KL 那样趋于无穷;③ <strong>JS 的平方根是真正的度量</strong>(满足对称性与三角不等式),可用于度量空间中的分析。<strong>但 JS 保留了 KL 的一个致命问题</strong>:当两个分布的支撑<strong>完全不重叠</strong>(p(x)>0 处 q(x)=0 且反之)时,m 在两者支撑上各占一半,KL(p‖m) 与 KL(q‖m) 都等于 log2,故 <strong>JS 恒为 log2(饱和)</strong>,且对分布的距离<strong>不再有梯度</strong>。
🏭 Production Trade-offs
这正是 <strong>GAN 训练困难的数学根源</strong>(Arjovsky & Bottou 2017 的分析):生成分布与真实分布在训练初期几乎必然不重叠(高维空间中两个低维流形的交集测度为 0),此时 JS 散度恒为 log2,其梯度为 0,生成器得不到有效信号——这解释了为什么原始 GAN 依赖精心设计的对抗目标与架构技巧。<strong>WGAN 的解法</strong>是用 <strong>Wasserstein 距离</strong>(推土机距离):即使支撑不重叠,它也随分布靠近而连续减小,提供有意义的梯度;代价是计算需满足 Lipschitz 约束(用 weight clipping、gradient penalty 或 spectral normalization 近似)。其他相关度量:<strong>MMD(最大均值差异)</strong> 用核函数在 RKHS 中比较分布(有解析形式、可用于统计检验);<strong>f-散度</strong>统一了 KL/JS/总变差等。
⚠️ Common Interview Pitfalls
- ✕认为 JS 散度解决了 KL 的所有问题(支撑不重叠时仍饱和)
- ✕在高维 GAN 中直接用 JS 散度而不做 Lipschitz 约束
🎯 Interviewer Follow-ups
- ?JS 为什么在支撑不重叠时饱和?
- ?WGAN 如何解决这个问题?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.