看了很多講交叉熵的文章,感覺(jué)都是拾人牙慧,又不得要領(lǐng)。還是分享一下自己的理解,如果看完這篇文章你還不懂這倆概念就來(lái)掐死我吧。
1
『先翻譯翻譯,什么叫驚喜』
我們用 表示事件 發(fā)生的概率。這里我們先不討論概率的內(nèi)涵, 只需要遵循直覺(jué): 可以衡量事件 發(fā)生時(shí)會(huì)造成的驚喜(行文需要,請(qǐng)按照中性理解)程度: 概率越低的事件發(fā)生所造成的驚喜程度高;概率越高的事件發(fā)生所造成的驚喜程度低。 但是概率倒數(shù)這一運(yùn)算的性質(zhì)不是很好,所以在不改變單調(diào)性的情況下,可以將驚喜度(surprisal)定義為:
這樣定義后產(chǎn)生了另外兩個(gè)好處: 1. 確定性事件的驚喜度 = 0; 2. 如果有多個(gè)獨(dú)立事件同時(shí)發(fā)生,他們產(chǎn)生的驚喜度可以直接相加。是的,一個(gè)事件發(fā)生概率的倒數(shù)再取對(duì)數(shù)就是驚喜。
2
『信息熵,不過(guò)只是驚喜的期望』
驚喜度,在大部分文章里,都叫做信息量,但這個(gè)命名只是香農(nóng)根據(jù)他研究對(duì)象的需要而做的,對(duì)于很多其它的場(chǎng)景,要生搬硬套就會(huì)變得非常不好理解了。 信息量 = 驚喜度,那么信息熵呢?看看公式不言自明:
或是連續(xù)形式:
這不就是驚喜度的期望嗎? 換句話(huà)說(shuō),信息熵描述的是整個(gè)事件空間會(huì)產(chǎn)生的平均驚喜。 什么情況下,平均驚喜最低呢?確定事件。以某個(gè)離散隨機(jī)分布為例,整個(gè)分布在特定值 為 1,其它處均為 0,此時(shí)的信息熵/平均驚喜也為 0。 什么情況下產(chǎn)生的平均驚喜最高呢?自然是不確定越高平均驚喜越高。對(duì)于給定均值和方差的連續(xù)分布,正態(tài)分布(高斯分布)具有最大的信息熵(也就是平均驚喜)。所以再想想為什么大量生活中會(huì)看到的隨機(jī)事件分布都服從正態(tài)分布呢?說(shuō)明大自然有著創(chuàng)造最大驚喜的傾向,或者說(shuō),就是要讓你猜不透。這也是理解熱力學(xué)中的熵增定律的另一個(gè)角度。
3
『交叉熵,交叉的是古典和貝葉斯學(xué)派』
對(duì)于概率,比較經(jīng)典的理解是看做是重復(fù)試驗(yàn)無(wú)限次后事件頻率會(huì)逼近的值,是一個(gè)客觀存在的值;但是貝葉斯學(xué)派提出了另一種理解方式:即將概率理解為我們主觀上對(duì)事件發(fā)生的確信程度。針對(duì)同一個(gè)隨機(jī)變量空間有兩個(gè)分布,分別記作和; 是我們主觀認(rèn)為會(huì)發(fā)生的概率,下標(biāo)代表 subjective; 是客觀上會(huì)發(fā)生的概率,下標(biāo) ○ 代表 objective。 這種情況下,客觀上這個(gè)隨機(jī)事件會(huì)給我們?cè)斐审@喜的期望應(yīng)該是:
這個(gè)量 is a.k.a 交叉熵。 再翻譯一下,交叉熵是什么?可以理解為:我們帶著某個(gè)主觀認(rèn)知去接觸某個(gè)客觀隨機(jī)現(xiàn)象的時(shí)候,會(huì)產(chǎn)生的平均驚喜度。 那什么時(shí)候交叉熵(也就是我們會(huì)獲得的平均驚喜度)會(huì)大?就是當(dāng)我們主觀上認(rèn)為一個(gè)事情發(fā)生的概率很低很大),但是客觀上發(fā)生概率很高很大) 的時(shí)候,也就是主觀認(rèn)知和客觀現(xiàn)實(shí)非常不匹配的時(shí)候。機(jī)器學(xué)習(xí)當(dāng)中為啥用交叉熵來(lái)當(dāng)作損失函數(shù)應(yīng)該也就不言自明了。
4
『相對(duì)熵,K-L散度』
交叉熵可以衡量我們基于某種主觀認(rèn)識(shí)去感受客觀世界時(shí),會(huì)產(chǎn)生的平均驚喜。但是根據(jù)上面的分析,即使主觀和客觀完全匹配,這時(shí)交叉熵等于信息熵,只要事件仍然隨機(jī)而非確定,就一定會(huì)給我們?cè)斐梢欢ǔ潭鹊捏@喜。那我們要怎么度量主觀認(rèn)識(shí)和客觀之間差異呢?可以用應(yīng)該用以當(dāng)前對(duì)“世界觀”產(chǎn)生的驚喜期望和完全正確認(rèn)識(shí)事件時(shí)產(chǎn)生的驚喜期望的差值來(lái)衡量,這個(gè)就是相對(duì)熵(常稱(chēng)作 KL-散度),通常寫(xiě)作:
當(dāng)我們的主觀認(rèn)知完全匹配客觀現(xiàn)實(shí)的時(shí)候,KL-散度應(yīng)該等于 0,其它任何時(shí)候都會(huì)大于 0。由于存在恒為正這一性質(zhì),KL-散度經(jīng)常用于描述兩個(gè)分布是否接近,也就是作為兩個(gè)分布之間“距離”的度量;不過(guò)由于運(yùn)算不滿(mǎn)足交換律,所以又不能完全等同于“距離”來(lái)理解。 機(jī)器學(xué)習(xí)中通常用交叉熵作為損失函數(shù)的原因在與,客觀分布并不隨參數(shù)變化,所以即使是優(yōu)化 KL-散度,對(duì)參數(shù)求導(dǎo)的時(shí)候也只有交叉熵的導(dǎo)數(shù)了。
審核編輯 :李倩
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8423瀏覽量
132751 -
交叉熵
+關(guān)注
關(guān)注
0文章
4瀏覽量
2378
原文標(biāo)題:一篇文章講清楚交叉熵和KL散度
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論