為什么交叉熵和KL散度在作為損失函數(shù)時(shí)是近似相等的
來(lái)源:DeepHub IMBA
盡管最初的建議使用 KL 散度,但在構(gòu)建生成對(duì)抗網(wǎng)絡(luò) [1] 時(shí),在損失函數(shù)中使用交叉熵是一種常見(jiàn)的做法。這常常給該領(lǐng)域的新手造成混亂。當(dāng)我們有多個(gè)概率分布并且我們想比較它們之間的關(guān)系時(shí),熵和 KL 散度的概念就會(huì)發(fā)揮作用。
在這里我們將要驗(yàn)證為什么最小化交叉熵而不是使用 KL 散度會(huì)得到相同的輸出。所以我們首先從正態(tài)分布中抽取兩個(gè)概率分布 p 和 q。如圖 1 所示,兩種分布都不同,但是它們共享一個(gè)事實(shí),即兩者都是從正態(tài)分布中采樣的。
熵
熵是系統(tǒng)不確定性的度量。直觀地說(shuō)它是從系統(tǒng)中消除不確定性所需的信息量。系統(tǒng)各種狀態(tài)的概率分布 p 的熵可以計(jì)算如下:
交叉熵
交叉熵是指存在于兩個(gè)概率分布之間的信息量。在這種情況下,分布 p 和 q 的交叉熵可以表述如下:
KL散度
兩個(gè)概率分布之間的散度是它們之間存在的距離的度量。概率分布 p 和 q 的KL散度( KL-Divergence )可以通過(guò)以下等式測(cè)量:
其中方程右側(cè)的第一項(xiàng)是分布 p 的熵,第二項(xiàng)是分布 q 對(duì) p 的期望。在大多數(shù)實(shí)際應(yīng)用中,p 是實(shí)際數(shù)據(jù)/測(cè)量值,而 q 是假設(shè)分布。對(duì)于 GAN,p 是真實(shí)圖像的概率分布,而 q 是生成的假圖像的概率分布。
現(xiàn)在讓我們驗(yàn)證 KL 散度確實(shí)與使用交叉熵分布 p 和 q 相同。我們分別在 python 中計(jì)算熵、交叉熵和 KL 散度。
右側(cè)的第二項(xiàng),即分布 p 的熵可以被認(rèn)為是一個(gè)常數(shù),常數(shù)的導(dǎo)數(shù)是0,對(duì)反向傳播不會(huì)有影響。因此我們可以得出結(jié)論,最小化交叉熵代替 KL 散度會(huì)出現(xiàn)相同的輸出,因此可以近似相等。
在本文中,我們了解了熵、交叉熵和 kl-散度的概念。然后我們回答了為什么這兩個(gè)術(shù)語(yǔ)在深度學(xué)習(xí)應(yīng)用程序中經(jīng)?;Q使用。我們還在 python 中實(shí)現(xiàn)并驗(yàn)證了這些概念。完整代碼參考這個(gè)地址: https://github.com/azad-academy/kl_cross_entropy.git
引用:[1] Goodfellow, I. et al., Generative adversarial nets. In Advances in neural information processing systems. pp. 2672–2680, 2014[2]https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
作者:J. Rafid S., PhD
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
電化學(xué)工作站相關(guān)文章:電化學(xué)工作站原理