首发于深度学习

【数学知识】KL散度

KL散度

KL散度简介

KL散度的概念来源于概率论和信息论中。KL散度又被称为:相对熵、互熵、鉴别信息、Kullback熵、Kullback-Leible散度(即KL散度的简写)。在机器学习、深度学习领域中,KL散度被广泛运用于变分自编码器中(Variational AutoEncoder,简称VAE)、EM算法、GAN网络中。

KL散度是非对称的,这意味着D(P||Q) ≠ D(Q||P).

KL散度定义

KL散度的定义是建立在熵(Entropy)的基础上的。此处以离散随机变量为例,先给出熵的定义,再给定KL散度定义。

一个离散随机变量X的可能取值为X={x_1,x_2,...,x_n},而对应的概率为p_i=p(X=x_i),则随机变量的熵定义为:

H(X)=-\sum^{n}_{i=1}p(x_i)\log p(x_i) \\

规定当p(x_i)=0时,p(x_i)\log(p(x_i)=0

如果是两个随机变量P,Q,且其概率分布分别为p(x),q(x),则p相对q的相对熵为:

D_{KL}(p||q)=\sum^{n}_{i=1}p(x)\log \frac{p(x)}{q(x)} \\

针对上述离散变量的概率分布p(x)、q(x)而言,其交叉熵定义为:

H(p,q)=\sum_xp(x)\log\frac{1}{q(x)}=-\sum_xp(x)\log q(x) \\

因此,KL散度或相对熵可通过下式得出:



同样,当P,Q为连续变量的时候,KL散度的定义为:



KL散度的意义:

在统计学意义上来说,KL散度可以用来衡量两个分布之间的差异程度。若两者差异越小,KL散度越小,反之亦反。当两分布一致时,其KL散度为0。正是因为其可以衡量两个分布之间的差异,所以在VAE、EM、GAN中均有使用到KL散度。

参考:

hsinjhao.github.io/2019

发布于 2021-04-16 16:05