何謂 Cross-Entropy (交叉熵)

許恆修 | Heng-Shiou Sheu
6 min readJun 14, 2019
圖源自: cross-entropy

Entropy 介紹

這原本是用在表達化學平衡態的名詞, 藉以表達原子在空間當中的分布狀況, 如果原子分佈越混亂, 我們則說 Entropy 越高, 也就是資訊量越高, 越多不確定性存在, 因為有更多因素去影響我們原子的分布狀況.

Entropy 引入資訊科技

Shannon 引入 Entropy: Shannon 首次將 Entropy 的觀念引入到電子資訊裡頭, 一樣用以表達資訊量大小, 例如說: 天氣有 sunny 跟 rainy 兩種狀態, 各自發生的機率會是 50%/50%, 這時我們用 1 bits 來表達天氣狀況資訊, 代表兩種狀態出現的機率。

可想而知, 當天氣狀態更多時, 例如 8 種狀態, 我們依樣可以用 bits 去做表達, 這個狀況就是 3 bits 去描述天氣狀況資訊, 這裡使用 log(8) 這項工具來描述。

當機率不再相同時

接下來討論機率不平等時表達 bits, 例如說: sunny 機率為 75%, rainny 機率為 25%, 我們可以說明日 rainny 為 2 bits 怎麼算的呢, 一樣使用 log 這項工具 -log(0.25) => 2bits, 反之, 如果是 sunny 也就是 -log(0.75) => 0.41 bits。那麼全部的天氣資訊是多少 bits 呢?資訊量會是 sunny 機率*sunny 資訊量 + rainny 機率 * rainny 資訊量, 也就是 75%*0.41bits + 25% * 2 bits = 0.81 bits。

Entropy 公式

這裡是 Entropy 公式算法, 感謝 Shannon, 越多資訊量你所擁有, 越大的 entropy 你會取得。

資訊量大代表什麼意思?也就是說越不確定的事情,裡面隱藏的訊息就會越多,舉例來說好了,今天拿出電腦按下開關時,會有這三種可能性發生,第一個是我的電腦可以正常開機的機率為 0.7,電腦無法開機的機率為 0.2,電腦開機就爆炸的機率為 0.1 ,如下表格所示

這個例子就夠直覺了ㄅ,我們可以看到充滿越多不確定性的事件,也就是越多資訊量的事件,會擁有越高的 Entropy,這樣就是 Entropy 在資訊科技當中的精神

開始介紹 Cross-Entropy(交叉熵)

cross-entropy 用意是在觀測預測的機率分佈與實際機率分布的誤差範圍,就拿下圖為例就直覺說明,cross entropy (purple line=area under the blue curve),我們預測的機率分佈為橘色區塊,真實的機率分佈為紅色區塊,藍色的地方就是 cross-entropy 區塊,紫色現為計算出來的值。

依照剛剛的說明,我們預測值與實際值差越多,也就是代表內涵的資訊量愈大,也就是不確定越多,也就是 Cross-entropy 會越高。

圖源: https://www.desmos.com/calculator/zytm2sf56e

反之,如果疊合的區塊越多,就代表不確定性越少,也就是 cross-entropy 會越小,如下圖所示。

圖源: https://www.desmos.com/calculator/zytm2sf56e

公式如下

實際應用說明

今天我們已經使用 CNN 訓練好一個模型用來辨識動物們,裡面有常見的動物,例如貓/狗/狐狸/Red panda/牛/熊/海豚,現在我們拿了張 Red panda 的圖,模型應該要回答上對於 Red panda 的值較高,如下圖所示。

我們如期得到一組 cost function 的值,為了讓 model 學習更好的結果,我們 backpropagation 回去調教整個 Neural network 的 parameter ,然後得到新的一組預測結果,如下

新的 cost function 的值,更小了!

也就代表模型在辨識程度上的能力比上次更好了!

參考資料:

cross-Entropy: https://www.youtube.com/watch?v=tRsSi_sqXjI

A Short Introduction to Entropy, Cross-Entropy and KL-Divergence: https://www.youtube.com/watch?v=ErfnhcEV1O8

Loss Functions Explained: https://www.youtube.com/watch?v=IVVVjBSk9N0

7.9: TensorFlow.js Color Classifier: Softmax and Cross Entropy

: https://www.youtube.com/watch?v=r0QvaEra0og

--

--

許恆修 | Heng-Shiou Sheu
許恆修 | Heng-Shiou Sheu

Written by 許恆修 | Heng-Shiou Sheu

AI研究員 @喬泰科技,軟體工程師@微光國際,業界講師 @FCU 創能學院,Co-Founder @圖靈文本。專注將科技應用於改善生活中,持續性分享軟體架構設計、前沿人工智慧研究、公司治理等觀念。整合科技、人文思維於一體。聯絡 📪 hengshiousheu@gmail.com