北大旁聽 - 深刻Loss Function的來源

1. 想法

因爲有朋友在北大,很高興能蹭到深度學習的課程,李戈教授的課程十分精彩,比起只會念PPT的老師,他的教學就像在堆積知識的金字塔。算法

2. Loss Function

2.1 經典統計 vs 深度學習 vs 貝葉斯統計

機率論分爲兩大學派,貝葉斯學派認爲先驗知識很重要,而經典統計學派就是純粹的看統計信息。網絡

如今的深度學習最大的優勢就是在數據擬合上表現很是好,但最大的缺點就是它的不可解釋性session

在一篇論文:Deep Learning: A Bayesian Perspective 中提到,目前深度學習算法取得好效果的主要緣由歸功於ReLU、learning_rate、Dropoutapp

實際上先驗知識只是以網絡的模型結構的方式呈現的(包括Loss Function的設計等)。ide

2.2 最大似然估計

其實目前大部分使用的損失函數都是以最大似然原理爲核心而設計的。函數

深度學習的核心問題就是讓網絡產生的數據分佈儘量貼近樣本分佈,因此極大似然原理就很天然的用在了深度學習上。學習

最大似然估計

而要評判分佈的「差異」,首先須要能夠評判分佈的指標,而這個指標就是香農的信息熵spa

信息熵

有了評價指標後,咱們還不急着對比,由於要計算信息熵,須要知道樣本的真實分佈和機率密度。在計算模型分佈的信息熵時,此時就不叫信息熵了,而稱爲交叉熵,這也就是所謂的cross-entropy(而不是你們常見的1-log(x))。設計

Many authors use the term "cross-entropy" to identify specifically the negative log-likelihood of a Bernoulli or softmax distribution, but that is a misnomer.
交叉熵

根據Gibbs不等式,有:E(P, Q) >= E(P),其實很好解釋,用模擬出來的機率密度去計算真實分佈的信息熵,確定是比較混亂的(相對於真實機率密度計算真實分佈的信息熵)。3d

有了交叉熵和原分佈的信息熵後,咱們作差,就能獲得相對熵(又稱KL散度)

相對熵

終於,咱們獲得了相對熵,能夠評判分佈的「差異」後,咱們就能夠用一個視角來看Loss Function:

  • Loss Function 用於計算模型輸出數據與樣本數據之間的「差異」。
  • Loss Function 體現了人們對這種「差異」進行度量時所依賴的先驗知識。
  • 幾種常見的「差異」度量方法

好了,讓咱們回到最大似然原理上,爲了讓模型分佈儘量貼近樣本分佈,那麼咱們要解決的問題就是最小化KL散度

最小化KL散度

因爲真實樣本分佈是已經肯定的值,而咱們能改變的就是pmodel(x)中的權值(也就是神經網絡的weights),因此咱們將問題簡化爲最小化(6),簡寫爲:

簡寫形式

2.3 基於上述原則推導MSE的合理性

MSE損失你們必定都知道,可是它是怎麼來的呢?爲何要以這個形式出現呢?其實它是有一個很是嚴格的使用條件的:

因爲模型的輸出和真實數據的分佈必定會有誤差,那麼只有假設當這個誤差符合正態分佈時,才能夠推導出MSE的形式,具體以下:

MSE推導1

得出了機率密度分佈函數後,將其帶入最大似然原理中,再取對數,就能夠獲得MSE的標準形式了:

MSE推導2

那麼這裏又出現了一個問題,爲何要讓誤差符合正態分佈呢?

其實這是由如下兩條理論得出的:

  • 同分布中心極限定理:n個獨立同分布的隨機變量之和,服從正態分佈。
  • 非同分佈的李雅普諾夫定理:大量隨機因素疊加的結果,近似服從正態分佈。

有了這已經證實的兩條理論,才能夠基於正態分佈,得出MSE的標準形式。

同理,咱們能夠很容易的獲得交叉熵(這裏不是真的交叉熵,只是你們都習慣這麼叫它了)、softmax的通常形式的證實:

伯努利分佈
伯努利分佈2
多項分佈
多項分佈2
多項分佈3

2.4 總結

終於,咱們說完了現代經常使用的損失函數是怎麼獲得的了。來一個簡單的總結:

一切的起源都是最大似然原理,爲了衡量模型分佈和真實分佈的差別,咱們從信息熵中獲得了KL散度。因而咱們將基於正態分佈的誤差假設(MSE)、伯努利分佈、多項分佈代入最大似然原理,獲得了咱們如今常見的Loss Function(MSE、CrossEntropyLoss、Softmax)。

因此這裏有很重要的一點,不要盲目地使用交叉熵!你要注意的是你的數據分佈,若是它不符合正態分佈假設,那麼你極可能就須要從新設計Loss Function了,那咱們該如何作呢?

其實KL散度有它的缺點,好比它不符合距離的定義(不對稱)

KL散度缺點

因而乎,你須要本身尋找衡量數據分佈的散度(Divergence)

Divergence
Comprehensive Survey on Distance/Similarity Measures Between Probability Density Functions, 2007

而後根據散度從新你的設計Loss Function。

至此,關於Loss Function的內容就告一段落了,其實講到最後,以個人數學水平實在達不到這個境界,因此到後面的概念若是講的不太清楚,請各位讀者諒解了。

相關文章
相關標籤/搜索