1. KL散度
KL散度又稱為相對熵,信息散度,信息增益。KL散度是是兩個概率分布 $P$ 和 $Q$ 之間差別的非對稱性的度量。 KL散度是用來 度量使用基於 $Q$ 的編碼來編碼來自 $P$ 的樣本平均所需的額外的位元數。 典型情況下,$P$ 表示數據的真實分布,$Q$ 表示數據的理論分布,模型分布,或 $P$ 的近似分布。
定義如下:
因為對數函數是凸函數,所以KL散度的值為非負數。
有時會將KL散度稱為KL距離,但它並不滿足距離的性質:
- KL散度不是對稱的,即 $D_{KL} (P||Q) \neq D_{KL} (Q||P)$;
- KL散度不滿足三角不等式。
2. JS散度(Jensen-Shannon)
JS散度度量了兩個概率分布的相似度,基於KL散度的變體,解決了KL散度非對稱的問題。一般地,JS散度是對稱的,其取值是 $0$ 到 $1$ 之間。定義如下:
KL散度和JS散度度量的時候有一個問題:
如果兩個分配 $P, Q$ 離得很遠,完全沒有重疊的時候,那么KL散度值是沒有意義的,而JS散度值是一個常數。這在學習算法中是比較致命的,這就意味這這一點的梯度為 $0$。梯度消失了。
3. Wasserstein距離
Wasserstein距離度量兩個概率分布之間的距離,定義如下:
$\Pi (P_1, P_2)$ 是 $P_1$ 和 $P_2$ 分布組合起來的所有可能的聯合分布的集合。對於每一個可能的聯合分布 $\gamma$,可以從中采樣 $(x,y)∼ \gamma$ 得到一個樣本 $x$ 和 $y$,並計算出這對樣本的距離 $||x−y||$,所以可以計算該聯合分布 $\gamma$ 下,樣本對距離的期望值 $E _{(x, y) ∼ \gamma}[||x−y||]$。在所有可能的聯合分布中能夠對這個期望值取到的下界 $\inf_{\gamma ∼ \Pi(P_1, P_2)} E _{(x, y) ∼ \gamma}[||x−y||]$ 就是Wasserstein距離。
直觀上可以把 $E _{(x, y) ∼ \gamma}[||x−y||]$ 理解為在 $\gamma$ 這個路徑規划下把土堆 $P_1$ 挪到土堆 $P_2$ 所需要的消耗。而Wasserstein距離就是在最優路徑規划下的最小消耗。所以Wesserstein距離又叫Earth-Mover距離。
Wessertein距離相比KL散度和JS散度的優勢在於:即使兩個分布的支撐集沒有重疊或者重疊非常少,仍然能反映兩個分布的遠近。而JS散度在此情況下是常量,KL散度可能無意義。