熵相关概念(一)——熵、KL散度
1 熵的概念
事件的信息量与其概率有关,假设X是离散型随机变量,X=x的信息量为,概率越大,信息量越低。关于这一点的解释,网上有很多例子,比如说太阳从东方升起概率为100%,提供的信息量很低;太阳从西边升起概率为0%,提供的信息量很大,笔者隐约觉得这种解释有偷换概念嫌疑,等深入理解信息论后再举例。
熵为事件的期望/平均信息量,表示为
2 KL散度的概念
KL散度(Kullback-Leibler Divergence),又称相对熵、信息散度,用于表示两个分布之间的距离。笔者在学习各类深度学习模型尤其是生成模型时,发现经常要用到KL散度,因为生成模式本质上是学习一个概率分布,使其尽量接近真实数据分布,因此要求这2个概率分布之间的距离越小越好。因此笔者专门新开一篇文章分析KL散度。
离散分布下,
连续分布下
直观上看,要取出P中所有的x,对两个分布概率相除取对数,用P加权求和。
KL散度可表示为:
前者即为熵,后者为交叉熵。
2.1 不对称性
根据定义,KL散度不是对称的,。前者被称为前向KL散度,后者被称为后向KL散度。从名称可以看出,KL散度又叫相对熵,是一个分布相对与另一个分布的熵,是有相对顺序的。在深度学习中,经常遇到的一个问题是学习到一个概率分布,使其尽量接近真实分布(真实分布一般是无法直接获得的),有的模型就用到了KL散度,即真实分布为P,训练出的分布为Q,使得前向散度越小越好。
2.2 非负性
利用对数函数凹凸性质以及jensen不等式即可证明。
2.3 不满足三角不等式
三角不等式是指距离的度量中,A和B的距离小于A和C距离+C和B的距离。KL散度不满足此特性。
,此式无法判定大于0还是小于0。
3 KL散度的分析
3.1 前向KL散度的分析
前向KL散度实质是P(x)和Q(x)在每个样本点x上的差异被P(x)加权平均。由于P(x)是权重,因此我们讨论权重为0(或近似为0)和权重不为0的情况。
P(x)为0 | P(x)不为0 | |
前向KL散度 | P与Q的差异可以忽略 | 影响KL散度 |
极小化KL散度的效果 | 忽视拟合精度 | 提高拟合精度 |
当P(x)为0时,权重为0,此时KL散度不受该样本x的影响。
注意,当P(x)近似为0时,此时如果Q(x)近似为0,对数项为无穷大,那么二者相乘是0吗?
假设分子分母趋近于0的速度一致,根据洛必达法则,该式等于0。因此虽然对数项趋近于无穷,但是因为对数函数趋近速度更慢的关系,该式还是0。
当P(x)不为0时,权重大于0,此时KL散度受样本x的影响。因此极小化KL散度的效果就是:(1)对于P(x)=0的样本,忽略P与Q之间的差异;(2)对于P(x)>0的样本,尽量使P与Q接近。
上图是极小化前向KL散度的效果,可以发现P(x)=0时(中间位置),Q与P的差异可能非常大,甚至Q取到了最大值。当P(x)>0时,Q尽量接近P,尽力避免Q为0(这种特性也叫zero avoiding)。
3.2 后向KL散度的分析
与前向KL散度相反,极小化反向KL散度时,当Q(x)为0时,P与Q的差异可以忽略;当Q(x)>0时,P与Q尽量接近。
上图是极小化后向KL散度的效果,可以发现Q(x)=0时(右侧位置),Q与P的差异可能非常大,甚至P取到了局部峰值。当Q(x)>0时,P尽量接近Q。
3.3 极小化KL散度的行为效果特征
极小化前向KL散度的效果是寻找均值(Mean-Seeking Behaviour),可以发现极小化前向KL散度下,绿色的分布的均值尽可能与蓝色分布一致,效果上来看,绿色分布目标是找到蓝色分布的均值。
极小化后向KL散度的效果是搜寻模态(Mode-Seeking Behaviour),可以发现绿色分布找到了蓝色分布中的其中一种模式(即双峰找到了其中一个峰)。
这里举一个比较形象的例子便于读者理解。假设有2个大学生选修了一门课程,前向KL散度和后向KL散度分别对应2个学生A和B。此课程中老师布置了多个课题。P的概率分布可以认为是老师布置课题,课题占期末成绩分数就是概率值。Q的概率分布可以认为是大学生在各个课题中分配精力。
A的做法是只要看到老师布置了课题,就要分配精力,只要老师不布置课题(P(x)=0),就不分配精力,而是用于自己娱乐。最后的效果是A把精力匀给各个课题,因此各个课题分数比较平均。
B的做法是“出手必精品”,老师布置课题时,觉得只要自己没分配精力(Q(x)=0),就不算输,所以做得很差也无所谓,但当他分配精力时(出手时),就尽全力做好这一个课题,因此看起来在单个课题上非常优秀,在其他课题上表现极差,呈现偏科的结果。
4 极小化前向散度等价于极大似然估计
考虑一个生成模型,真实数据分布是,要训练出近似的数据分布拟合真实分布,是模型的参数。极小化前向KL下,
第一步是因为P与无关,可以省略,注意到该步剔除的其实就是P(x)的信息熵:。最后一步是因为在P中抽样较多时,样本的分布可近似为真实分布。最后的式子就是极大似然估计。
5 极小化后向散度等价于拟合的同时尽可能保持单一模态
这里模态有些抽象,还是可以用上文的例子,即概率分布图像的峰,或者是老师布置的课题分数。
这里H代表Q的信息熵。
观察上式求和的两项,第一项越小代表P与Q越接近,即根据Q概率分布抽样得到的样本在P中第二项越小代表Q的熵越小。熵越大代表分布越均匀,那么熵越小代表越趋向于单峰。
6 KL散度计算示例
在计算时会遇到分母概率为0的问题导致无法计算,此时可以认为此处概率为一个很小的值,并将概率其他位置扣掉这个很小的值。例如
样本 | x1 | x2 | x3 | x4 |
P | 3/5 | 1/5 | 1/5 | 0 |
Q | 5/9 | 3/9 | 0 | 1/9 |
由于P和Q在某些位置概率为0,因此直接计算KL散度会有问题。因此将0修改成很小的值,例如0.0001,并在其他有位置扣掉此概率,得到
样本 | x1 | x2 | x3 | x4 |
P | 3/5-0.0001/3 | 1/5-0.0001/3 | 1/5-0.0001/3 | 0.0001 |
Q | 5/9-0.0001/3 | 3/9-0.0001/3 | 0.0001 | 1/9-0.0001/3 |
使用此概率分布代入KL公式计算即可
参考资料
《进阶详解KL散度》这篇写得非常好,本文只是在此基础上增加了一些通俗化语言方便理解
原文地址:https://blog.csdn.net/cufewxy1/article/details/145159269
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!