KL 散度理解
在深度学习中经常用到的一个概念是 KL散度。之前对KL散度进行过一次理解,但后来随着利用次数的减少,开始忘却其具体的定义与物理意义,仅在印象中记得是“描述两个分布的相似度的度量”。这个描述并不准确。为了便于以后查找回顾,这里再次把KL散度的相关理解整理下来。
KL 散度,全称 Kullback-Leible divergence, 是用于度量一个拟合分布Q与标准分布P的差异的一种方法,它是非对称的,这意味着. 其中
可以理解为Q分布与P分布的差异,或者信息损失。
在介绍KL散度之前,先介绍信息熵的概念。
- 熵
如果一个随机变量的可能取值包括 {
},对应取每个值的概率分别为
,则随机变量
的熵被定义为
熵的物理意义是:一个变量包含的信息量的多少。熵越高,包含的信息量越多;熵越低,包含的信息量越少。
- KL散度
KL散度是在熵的概念上定义的。
同样对于一个随机变量,它的可能的取值范围是 {
}.它在每个取值上的真实分布概率是
,而我们学习到的分布是
,我们学习到的分布
与它的真实分的分布
的差异(或信息损失)可以表示为:
这个差异实际上就是KL散度。
换句话说,KL散度就是学习到的分布(后面那个分布)与真实分布(前面那个分布)的概率的对数差的期望值。
根据数学公式变换,KL散度可以表达为其他形式:
, 注意这里计算期望的概率值是
的概率值。
或
- 注意:KL散度不是距离
因为KL散度不具有交换性,因此不能被理解为“距离”。KL散度的物理意义是:一个分布(后者)相比另一个分布(前者)的信息损失(information loss)。
性质
- 性质:KL散度的取值是非负的,证明如下:
--------------------------------------------------------------------------------------------------
证明:
证毕。
--------------------------------------------------------------------------------------------------------------------------
参考文章: 相对熵(KL散度)