引言:
不知道大家在初学GAN时,当遇到WGAN时,突然抛出一个结论:
对于真实数据分布PrP_rPr​和生成数据分布PgP_gPg​,如果满足上述无法全维度重合的情况的话,则JSD(Pr∣∣Pg)=log⁡2JSD(P_r||P_g)=\log2JSD(Pr​∣∣Pg​)=log2是否存在疑惑。其实当初我刚接触这个结论时,还是挺疑惑的,不知道如何用数学证明。在思考了一会后,找到了一个合理的证明思路,如果有误,请大家指出


KL散度:
在开始介绍JS散度之前,必须首先引入KL散度,因为JS散度是在KL散度的基础上而来的,其公式为KL(P∣∣Q)=∑p(x)log⁡p(x)q(x)KL(P||Q)=\sum p(x)\log \frac{p(x)}{q(x)} KL(P∣∣Q)=∑p(x)logq(x)p(x)​ KL(Q∣∣P)=∑q(x)log⁡q(x)p(x)KL(Q||P)=\sum q(x)\log \frac{q(x)}{p(x)}KL(Q∣∣P)=∑q(x)logp(x)q(x)​其有一个特性,就是KL散度是非对称的,即KL(P∣∣Q)≠KL(Q∣∣P)KL(P||Q) \neq KL(Q||P)KL(P∣∣Q)̸​=KL(Q∣∣P)

JS散度:
由于KL散度是非对称的,对其稍加修改,便能转化为对称的JS散度
首先,我们设M=12(P+Q)M=\frac{1}{2}(P+Q)M=21​(P+Q),则JSD(P∣∣Q)=12KL(P∣∣M)+12KL(Q∣∣M)JSD(P||Q)=\frac{1}{2}KL(P||M)+\frac{1}{2}KL(Q||M)JSD(P∣∣Q)=21​KL(P∣∣M)+21​KL(Q∣∣M)如果我们把KL散度公式带入展开的话,结果如下JSD(P∣∣Q)=12∑p(x)log⁡(p(x)p(x)+q(x)2)+12∑q(x)log⁡(q(x)p(x)+q(x)2)JSD(P||Q)=\frac{1}{2}\sum p(x)\log(\frac{p(x)}{\frac{p(x)+q(x)}{2}})+\frac{1}{2}\sum q(x)\log(\frac{q(x)}{\frac{p(x)+q(x)}{2}})JSD(P∣∣Q)=21​∑p(x)log(2p(x)+q(x)​p(x)​)+21​∑q(x)log(2p(x)+q(x)​q(x)​)我们接下来把log中的12\frac{1}{2}21​放到分母上JSD(P∣∣Q)=12∑p(x)log⁡(2p(x)p(x)+q(x))+12∑q(x)log⁡(2q(x)p(x)+q(x))JSD(P||Q)=\frac{1}{2}\sum p(x)\log(\frac{2p(x)}{p(x)+q(x)})+\frac{1}{2}\sum q(x)\log(\frac{2q(x)}{p(x)+q(x)})JSD(P∣∣Q)=21​∑p(x)log(p(x)+q(x)2p(x)​)+21​∑q(x)log(p(x)+q(x)2q(x)​)接着把2提出JSD(P∣∣Q)=12∑p(x)log⁡(p(x)p(x)+q(x))+12∑q(x)log⁡(q(x)p(x)+q(x))+log⁡2JSD(P||Q)=\frac{1}{2}\sum p(x)\log(\frac{p(x)}{p(x)+q(x)})+\frac{1}{2}\sum q(x)\log(\frac{q(x)}{p(x)+q(x)})+\log2JSD(P∣∣Q)=21​∑p(x)log(p(x)+q(x)p(x)​)+21​∑q(x)log(p(x)+q(x)q(x)​)+log2这是因为∑p(x)=∑q(x)=1\sum p(x) = \sum q(x) = 1∑p(x)=∑q(x)=1

接下来,我们只需要证明当p(x)p(x)p(x)与q(x)q(x)q(x)不重叠时,左边部分为0即可。为了方便大家理解,我放了一张数据分布图:

在这张图里,我们令PrP_rPr​和PgP_gPg​都是服从正态分布,并且不妨令p(x)p(x)p(x)为PrP_rPr​取得xxx时的概率,q(x)q(x)q(x)为PgP_gPg​取得xxx时的概率。可以发现,在两个分布之间,几乎不存在重叠(Probability(x)Probability(x)Probability(x)表示取得xxx的概率值)。
接下来,我们回到上式的左边部分,即12∑p(x)log⁡(p(x)p(x)+q(x))+12∑q(x)log⁡(q(x)p(x)+q(x))\frac{1}{2}\sum p(x)\log(\frac{p(x)}{p(x)+q(x)})+\frac{1}{2}\sum q(x)\log(\frac{q(x)}{p(x)+q(x)})21​∑p(x)log(p(x)+q(x)p(x)​)+21​∑q(x)log(p(x)+q(x)q(x)​)我们可以发现,当x≥5x\geq 5x≥5时,p(x)≈0p(x)\approx 0p(x)≈0,则上式变为12∑0×log(00+q(x))+12∑q(x)log⁡(q(x)0+q(x))=0\frac{1}{2}\sum 0\times log(\frac{0}{0+q(x)})+\frac{1}{2}\sum q(x)\log(\frac{q(x)}{0+q(x)})=021​∑0×log(0+q(x)0​)+21​∑q(x)log(0+q(x)q(x)​)=0当x&lt;5x&lt;5x<5时,q(x)≈0q(x)\approx 0q(x)≈0,则上式变为12∑p(x)log⁡(p(x)p(x)+0)+12∑0×log⁡(0p(x)+0)=0\frac{1}{2}\sum p(x)\log(\frac{p(x)}{p(x)+0})+\frac{1}{2}\sum 0\times \log(\frac{0}{p(x)+0})=021​∑p(x)log(p(x)+0p(x)​)+21​∑0×log(p(x)+00​)=0所以可以得出,∀x∈R,都有JSD(P∣∣Q)=log⁡2\forall x \in R,都有JSD(P||Q)=\log2∀x∈R,都有JSD(P∣∣Q)=log2这就是JS散度的缺陷,当两个分布完全不重叠时,即便两个分布的中心距离有多近,其JS散度都是一个常数,以至于梯度为0,无法更新。


为什么会出现两个分布不重叠?
从理论和经验上来说,真实的数据分布通常是一个低维流形,简单地说就是数据不具备高维特性,而是存在一个嵌入在高维度的低维空间内,如下图在3维空间中,数据事实上是在一个二维平面上:

而且,在实际操作中,我们的维度空间远远不止3维,有可能是上百维,在这样的情况下,数据就更加难于重合。


如果觉得我有地方讲的不好的或者有错误的欢迎给我留言,谢谢大家阅读(点个赞我可是会很开心的哦)~

GAN:两者分布不重合JS散度为log2的数学证明相关推荐

  1. 【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度

    1 信息熵 熵 (Entropy),信息熵:常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据. 1.1 信息熵的性质 单调性,发生概率越高的事件,其 ...

  2. KL散度,JS散度,余弦距离,欧式距离

    散度:量化两种概率分布P和Q之间差异的方式:相当于衡量两个函数之间的关系 GAN是最小化JS散度 VAE是最小化KL散度 KL散度(不对称):设p为随机变量X的概率分布,即p(x)为随机变量X在X=x ...

  3. GAN相关知识点 - 纳什均衡、模型崩塌、WGAN原理、EM 距离、JS 散度等

    GAN相关知识点 - 纳什均衡.模型崩塌.WGAN原理.EM 距离.JS 散度等 一.纳什均衡 二.GAN 训练难题 三.WGAN 原理 一.纳什均衡 现在我们从理论层面进行分析,通过博弈学习的训练方 ...

  4. 信息量、熵、交叉熵、KL散度、JS散度、Wasserstein距离

    信息量.熵.交叉熵.KL散度.JS散度 文章目录 信息量.熵.交叉熵.KL散度.JS散度 前言 一.信息量 二.熵 三.交叉熵 四.KL散度 五.JS散度 六. Wasserstein距离 1.解决的 ...

  5. 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称

    信息熵为什么要定义成-Σp*log§? 信息熵为什么要定义成-Σp*log(p)? 在解释信息熵之前,需要先来说说什么是信息量. 信息量是对信息的度量,单位一般用bit. 信息论之父克劳德·艾尔伍德· ...

  6. 信息量、信息熵、交叉熵、KL散度、JS散度、Wasserstein距离

    前两篇介绍了目标检测中的回归损失函数,本来这篇打算介绍目标检测中的分类损失函数.但是介绍classification loss function自然绕不过交叉熵,所以还是简单的把信息论中的一些概念在这 ...

  7. 区别:KL散度,JS散度,Wasserstein距离(EMD)

    1 .KL散度(相对熵): 性质: ①描述两个概率分布P,Q之间的差异 ②非负性:当且仅当两分布相同,相对熵等于0 ③非对称性:D(p||q)≠D(q||p) ④不是距离,且不满足三角不等式 ⑤相对熵 ...

  8. 交叉熵、相对熵(KL散度)、JS散度和Wasserstein距离(推土机距离)

    目录: 信息量 熵 相对熵(KL散度) 交叉熵 JS散度 推土机理论 Wasserstein距离 WGAN中对JS散度,KL散度和推土机距离的描述 信息量: 任何事件都会承载着一定的信息量,包括已经发 ...

  9. 信息量、熵、交叉熵、KL散度、JS散度杂谈

    信息量.熵.交叉熵.KL散度.JS散度杂谈 信息量 任何事件都会承载着一定的信息量,包括已经发生的事件和未发生的事件,只是它们承载的信息量会有所不同.如昨天下雨这个已知事件,因为已经发生,既定事实,那 ...

  10. kl散度与js散度_数据集相似度度量之KLamp;JS散度

    一.KL散度 1.什么是KL散度 KL散度又叫相对熵,是描述两个概率分布差异的一种方法,有人将KL散度称为KL距离,但实际上它不满足距离概念中的两个条件,a.对称性,即D(P||Q)=D(Q||P); ...

最新文章

  1. Visual C#弹出窗口杀手
  2. Tomcat软件的目录结构、作用
  3. iou iof matrix_iof
  4. lucene教程--全文检索技术详解
  5. SimpleAdapter类使用方法
  6. springmvc学习笔记--mybatis--使用插件自动生成实体和mapper
  7. 【HDOJ】3500 Fling
  8. 前任3丨《前任3》里的这三种爱情,你都有过哪一种
  9. 视频教程-毕业设计精品课之基于ASP.NET旅游网站源码实战讲解(带房屋互租模块)-.NET
  10. ubuntu 下android设备找到fastboot驱动
  11. 微信小程序布局技巧(二)
  12. 车辆、行人跟踪一网打尽,超轻量、多类别、小目标跟踪系统开源了!
  13. 《数据结构》陈越老师课后题详解
  14. python中format格式化输出总结
  15. iOS上架详细通关教程(提交到AppStore)
  16. c8051f单片机c语言看门狗例程,stc单片机看门狗喂狗程序
  17. java hh24miss_Java编程时间格式与数据库中时间格式转化
  18. Android代码混淆工具Proguard学习
  19. 哔哩哔哩bilibili 直播间全屏发弹幕
  20. 让电脑读懂你的语言——如何理解 Word2Vec

热门文章

  1. 光环大数据python爬虫
  2. 柏云服务器点歌系统IP,阿蛮歌霸网络版点歌系统安装说明.docx
  3. pygame下载报错
  4. Android系统QFIL刷机流程
  5. java程序员中英文简历_Java程序员英文简历范文
  6. ppt flash无法播放解决方法
  7. 分布式光纤传感技术(DTS/BOTDA/BOTDR/光栅/OTDR)近几年会有较快的发展(本人预测)
  8. 阻抗计算公式、polar si9000(教程)
  9. 如何解决Maven导入Oracle驱动出现Missing artifact com.oracle:ojdbc14:jar:10.2.0.2.0,Mvaen:com.oracle:ojdbc14:10.
  10. 今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音图片搜题)