關於交叉熵損失的解釋

前言

交叉熵損失函數是分類問題裏面一個非常常用的函數,本文就其物理意義進行兩方面解讀,一是從信息論的角度,另一個是從概率密度估計的角度來講。

信息論的角度

在我本科的學習過程中,給我印象最深的理論要數傅里葉變換香農信息論了,傅里葉變換讓我們從另一個角度觀察和理解世界,顛覆了我對信號和系統的認識。信息論讓我對信息的解析和傳遞產生了極大的興趣,因此我十分佩服傅里葉和香農(以上是題外話,哈哈)。

好了,言歸正傳,在解釋各種物理意義之前,讓我們回顧一下信息論中的幾個重要概念:

  1. 信息量:所謂的信息量,是一種度量信息多少的指標,是衡量一件事情所含有不確定度大小的指標。如果一件事情發生的概率越大,我們認爲其所含有的信息越少;反之,則認爲其信息量越大。一個經典的例子就是預測天氣的例子:如果天氣預報告訴我們明天有9成的可能下雨,那麼我們很大程度上都會準備一把雨傘,因爲明天下雨這件事的不確定度很小,因此其信息量就很小;如果天氣預報告訴我們明天有5成下雨,相對於剛纔的9成,顯然我們更加不確定到底明天下不下雨,其不確定度大了一些,因此其所含有的信息量更大一些。
    從上面的例子我們可以看出信息量和一件事情發生的概率是成反比的,信息論中定義如下:
    I(x)=log2(p(x))I(x) = -\log_2{(p(x))} 其中xXx \in X是離散型隨機變量XX的一個取值,p(x)p(x)是隨機變量XX的概率分佈。當log底取2時信息量單位爲比特。

  2. 信息熵:信息熵的定義是信息量的期望:
    H(p)=p(x)log(p(x))H(p) = -\sum p(x)\log(p(x)) 如果xx表示信源發出的信號,那麼信息熵就可以表示信源所有可能發生情況的平均不確定性。

  3. 交叉熵:一個通俗的解釋是交叉熵表示兩個概率分佈之間的差異性信息。我們定義p(x)p(x)表示隨機變量XX的真實分佈,q(x)q(x)表示其非真實分佈,則交叉熵定義如下:
    H(p,q)=p(x)log(q(x))H(p, q) = -\sum p(x)log(q(x))

在知乎上看到一個特別好玩的解釋[2],讓我們跟着CyberRep在知乎上的回答[2]來理解一下上述概念,進而引申出交叉熵的一種理解姿勢(下面的一些圖直接copy過來了)。


假設現在有一個猜小球顏色的遊戲,規則如下:
小明犯了錯誤,爸爸和小明玩猜小球顏色的遊戲,箱子裏有四種顏色的球,爸爸從箱子中拿出任意一個小球,小明猜球的顏色,爸爸可以回答小明任何問題,每猜一次,不管對錯,小明就要接受一次懲罰,當然,猜對,遊戲停止,否則繼續猜。當然,當答案只剩下兩種選擇時,此次猜測結束後,無論猜對猜錯都能100%確定答案,無需再猜一次,此時遊戲停止。(我們可以看出,小明爲了儘可能少的接受懲罰,需要用最低的代價猜對爸爸手裏球的顏色,這裏的代價就是次數)

題目一: 爸爸拿來一個箱子,跟小明說:裏面有橙、紫、藍及青四種顏色的小球任意個,各顏色小球的佔比不清楚,現在我從中拿出一個小球,你猜我手中的小球是什麼顏色?

猜測過程如下:
題目一
在這種情況下,小明什麼信息都不知道,只能認爲四種顏色的小球出現的概率是一樣的。所以,根據策略1,1/4概率是橙色球,小明需要猜兩次,1/4是紫色球,小明需要猜兩次,其餘的小球類似,所以小明預期的猜球次數爲:14×2+14×2+14×2+14×2=2\frac{1}{4} \times 2 + \frac{1}{4} \times 2 + \frac{1}{4} \times 2 + \frac{1}{4} \times 2 =2

分析:這種情況下,小明不知道任何先驗信息,因此他假設小球顏色服從的概率分佈爲p(x=任意顏色)=1/4p(x=\text{任意顏色})=1/4, 所以根據信息熵的定義H(p)=p(x)log2p(x)=1/4×log21/4=2H(p)=-\sum p(x)log_2p(x) = -\sum1/4 \times log_2{1/4} = 2

題目2:爸爸還是拿來一個箱子,跟小明說:箱子裏面有小球任意個,但其中1/2是橙色球,1/4是紫色球,1/8是藍色球及1/8是青色球。我從中拿出一個球,你猜我手中的球是什麼顏色的?
題目二:case 1

**case 1:**在這種情況下,小明知道了每種顏色小球的比例,比如橙色佔比二分之一,如果我猜橙色,很有可能第一次就猜中了。所以,根據策略2,1/2的概率是橙色球,小明需要猜一次,1/4的概率是紫色球,小明需要猜兩次,1/8的概率是藍色球,小明需要猜三次,1/8的概率是青色球,小明需要猜三次,所以小明猜題次數的期望爲:
12×1+14×2+18×3+18×3=1.75\frac{1}{2}\times 1 + \frac{1}{4}\times 2 + \frac{1}{8}\times 3 + \frac{1}{8}\times 3 = 1.75

分析:這種情況下,小明知道了小球顏色的概率分佈,因此直接根據真實的概率分佈計算信息熵如下:
H(p)=p(x)log2p(x)=(12×log212+14×log214+18×log218+18×18)=1.75H(p) = -\sum p(x)log_2p(x) = -(\frac{1}{2}\times log_2 \frac{1}{2} + \frac{1}{4}\times log_2 \frac{1}{4} + \frac{1}{8}\times log_2\frac{1}{8}+\frac{1}{8}\times \frac{1}{8}) = 1.75

**case 2:**然而,現實生活中小明沒有那麼聰明。爸爸已經告訴小明這些小球的真實分佈是(1/2,1/4,1/8,1/8)(1/2, 1/4, 1/8, 1/8),但小明所選擇的策略卻認爲所有的小球出現的概率相同,相當於忽略了爸爸告訴小明關於箱子中各小球的真實分佈,而仍舊認爲所有小球出現的概率是一樣的,認爲小球的分佈爲(1/4,1/4,1/4,1/4)(1/4, 1/4, 1/4, 1/4),這個分佈就是非真實分佈。此時,小明猜中任何一種顏色的小球都需要猜兩次,即
12×2+14×2+18×2+18×2=2\frac{1}{2}\times 2 + \frac{1}{4}\times 2 + \frac{1}{8}\times 2 + \frac{1}{8}\times 2 = 2

分析:顯然,使用這種方案將猜中的平均次數從1.75次提升到了兩次,因此這不是一個最佳的策略。顯然根據真實的概率分佈可以使付出的代價達到最小,也就是信息熵最,但是實際中不是每個人都可以知道真是概率的分佈,因此,當使用非最優策略來消除系統不確定性時,引入了一個交叉熵的概念。好了,至此我們可以使用交叉熵的定義來確定一下使用這種策略所需要的代價:
H(p,q)=p(x)log2q(x)=12×log214+14×log214+18×log214+18×log214=2H(p,q)=-\sum p(x)log_2 q(x)=\frac{1}{2}\times log_2 \frac{1}{4} + \frac{1}{4}\times log_2 \frac{1}{4} + \frac{1}{8}\times log_2 \frac{1}{4} + \frac{1}{8}\times log_2 \frac{1}{4} = 2

題目3:其實,爸爸只想讓小明意識到自己的錯誤,並不是真的想罰他,所以拿來一個箱子,跟小明說:裏面的球都是橙色,現在我從中拿出一個,你猜我手中的球是什麼顏色?

這種情況下,小明一次就可以猜對,因爲裏面只有橙色球。

分析:這種情況下的概率分佈就是一個值,即p(x=)=1p(x=橙色)=1,所以其信息熵表示如下:
H(p)=1×log21=0H(p) = 1\times log_2 1=0 也就是說,其信息熵爲零,沒什麼不確定的信息在這個概率分佈中。

總結:從上面的例子我們可以看出,交叉熵可以用來衡量在給定的真實分佈下,使用非真實分佈所指定的策略消除系統的不確定性所需要付出的努力的大小。 因此,交叉熵越低,這個策略就越好,最低的交叉熵也就是使用了真實分佈所計算出來的信息熵,因爲此時的交叉熵等於信息熵。這也是爲什麼在機器學習中的分類算法中,我們總是最小化交叉熵,因爲交叉熵越低,就證明由算法所產生的策略最接近最優策略,也間接證明我們算法所算出的非真實分佈越接近真實分佈。


擴展**[1]**: Moreover, since the cross-entropy can be written in terms of entropy and the Kullback-Leibler divergence as H(p,q)=H(p)+DKL(pq)H(p,q) = H(p) + D_{KL}(p||q), and the entropy of the delta function pp is zero, this is also equivalent to minimizing the KL divergence between the two distributions (a measure of distance). In other words, the cross-entropy objective wants the predicted distribution to have all of its mass on the correct answer.

概率密度估計的角度

這塊不翻譯了,很簡單[1]。

In the probabilistic interpretation, we are therefore minimizing the negative log likelihood of the correct class, which can be interpreted as performing Maximum Likelihood Estimation (MLE). A nice feature of this view is that we can now also interpret the regularization term R(W) in the full loss function as coming from a Gaussian prior over the weight matrix W, where instead of MLE we are performing the Maximum a posteriori (MAP) estimation.

參考

  1. cs231n_linear-classify
  2. 如何通俗的解釋交叉熵與相對熵?
  3. 交叉熵-損失函數
  4. Understanding softmax and the negative log-likelihood
  5. 吳軍,數學之美,人民郵電出版社
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章