kl散度和js散度(jensen)

KL散度(相对熵)

$$
D(p||q)=\sum_{i=1}^{n}p(x)log \frac{p(x)}{q(x)}
$$
性质:

  1. 描述两个概率分布p,q之间的差异
  2. 非负性:当仅当两分布相同,相对熵等于0
  3. 不是距离,且不满足三教不等式
  4. 非对称性 \(D(p||q) \ne D(q||p) \)
  5. 相对熵=交叉熵-信息熵:\(D(p||q)=H(p,q)-H(p)\)

意义:

  1. 典型情况下,P:数据的真实分布,Q:数据的理论分布,模型分布,P的近似分布
  2. KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数
  3. 在GAN中,P为真实的数据的概率分布,q为随机噪声生成的数据的概率分布对抗的目的是让q充分拟合p
  4. 散度\(D(p||q)\)为信息熵\(H(p)\)的差衡量q拟合p的过程中所产生的信息损耗

JS散度

$$
JS(P_1||P_2)=\frac{1}{2}KL(p_1||\frac{p_1+p_2}{2})+\frac{1}{2}KL(p_2||\frac{p_1+p_2}{2})
$$
性质:

  1. 对称的,可以用于衡量两种不同分布之间的差异
  2. 取值为:0~1
  3. 常用于GAN的数学推导

意义:

  1. 两个分布P,Q距离远或者完全重叠是,KL散度无意义,而JS散度是一个常数

问题:这就意味着这一点的梯度为0,梯度消失,这便是GAN的原始公式在训练中产生梯度消失的根本原因。

0%