KL 散度理解

在深度学习中经常用到的一个概念是 KL散度。之前对KL散度进行过一次理解,但后来随着利用次数的减少,开始忘却其具体的定义与物理意义,仅在印象中记得是“描述两个分布的相似度的度量”。这个描述并不准确。为了便于以后查找回顾,这里再次把KL散度的相关理解整理下来。

KL 散度,全称 Kullback-Leible divergence, 是用于度量一个拟合分布Q与标准分布P的差异的一种方法,它是非对称的,这意味着KL 散度理解. 其中KL 散度理解可以理解为Q分布与P分布的差异,或者信息损失。

在介绍KL散度之前,先介绍信息熵的概念。

如果一个随机变量KL 散度理解的可能取值包括 {KL 散度理解},对应取每个值的概率分别为KL 散度理解,则随机变量KL 散度理解的熵被定义为

                                                            KL 散度理解

熵的物理意义是:一个变量包含的信息量的多少。熵越高,包含的信息量越多;熵越低,包含的信息量越少。

  • KL散度

KL散度是在熵的概念上定义的。

同样对于一个随机变量KL 散度理解,它的可能的取值范围是 {KL 散度理解}.它在每个取值上的真实分布概率是KL 散度理解,而我们学习到的分布是KL 散度理解,我们学习到的分布KL 散度理解与它的真实分的分布KL 散度理解的差异(或信息损失)可以表示为:

                                                 KL 散度理解

这个差异实际上就是KL散度。

换句话说,KL散度就是学习到的分布(后面那个分布)与真实分布(前面那个分布)的概率的对数差的期望值。

根据数学公式变换,KL散度可以表达为其他形式:

                                  KL 散度理解,   注意这里计算期望的概率值是KL 散度理解的概率值。

                                KL 散度理解

  • 注意:KL散度不是距离

                                     KL 散度理解

因为KL散度不具有交换性,因此不能被理解为“距离”。KL散度的物理意义是:一个分布(后者)相比另一个分布(前者)的信息损失(information loss)。

性质

  • 性质:KL散度的取值是非负的,证明如下:

--------------------------------------------------------------------------------------------------

证明:

KL 散度理解

KL 散度理解 

证毕。

-------------------------------------------------------------------------------------------------------------------------- 

参考文章: 相对熵(KL散度)

                 KL散度的理解(GAN网络的优化)

                 KL散度理解