理解神經網路中的目標函式

機器之心發表於2017-12-12

本文面向稍有經驗的機器學習開發者,來自微軟的 Lars Hulstaert 在文中為我們介紹了訓練神經網路的幾種目標函式。

介紹


本文的寫作動機有以下三個方面:

  • 首先,目前有很多文章都在介紹優化方法,比如如何對隨機梯度下降進行優化,或是提出一個該方法的變種,很少有人會解釋構建神經網路目標函式的方法。會去回答這樣的問題:為什麼將均方差(MSE)和交叉熵損失分別作為迴歸和分類任務的目標函式?為什麼增加一個正則項是有意義的?所以,寫作這篇博文的意義在於,通過對目標函式的考察,人們可以理解神經網路工作的原理,同時也就可以理解它們為何在其他領域卻無法發揮作用。

理解神經網路中的目標函式

在分類任務中,(監督學習中)正確的標註 p(ground truth)與網路輸出 q 之間的交叉熵損失。

理解神經網路中的目標函式

圖:在迴歸任務中,(監督學習中)正確的標註 y 與網路輸出 y_tilde 之間的均方差。


  • 其次,神經網路作出錯誤概率預測是出了名的,並且,面對對抗性樣本(adversarial example,即一種特殊的輸入資料,它們由研究人員專門設計,用來讓神經網路作出錯誤預測)它們也毫無辦法。總之,神經網路經常過度自信,甚至當它們判斷錯誤時也這樣。這個問題在真實環境中可不容忽視,以自動駕駛為例,一輛自動駕駛汽車要保證在 145km/h 的行駛速度下還能做出正確的決定。所以,如果我們要大規模應用深度學習,我們不僅要認識其優點,還要知道其缺點。
  • 一直以來,我都想明白為何神經網路可以從概率的角度來加以解釋,以及它們為什麼適合作為廣義的機器學習模型框架。人們喜歡把網路的輸出作為概率來討論。那麼,神經網路的概率解釋與其目標函式之間是否存在聯絡呢?

寫作這篇文章的靈感來源於作者和其朋友 Brian Trippe 在劍橋大學計算與生物學習實驗室工作期間對貝葉斯神經網路的研究,作者高度推薦讀者朋友閱讀其朋友 Brian 關於神經網路中變分推理的論文《Complex Uncertainty in Machine Learning: Bayesian Modeling for Conditional Density Estimation and Synaptic Plasticity》。

監督學習


在監督學習問題中,我們一般會有一個資料集 D,x 是其中的樣本,y 是樣本標籤,我們用(x, y)的方式來表示樣本,我們要做的,是對 P(y | x, θ) 這個條件概率分佈進行建模。

舉個例子,在影象分類任務中,x 表示一個影象,y 表示與之對應的影象標籤。P(y | x, θ) 表示:在影象 x 和一個由引數θ定義的模型下,出現標籤 y 的概率。


按照這種方法建立的模型被稱為判別式模型(discriminative model)。在判別式或條件模型中,定義條件概率分佈函式 P(y|x, θ) 的引數θ是從訓練集中推出的。

基於觀察資料 x(輸入資料或特徵值),模型輸出一個概率分佈,之後會用這個分佈來預測標籤 y(類別或真值)。不同的機器學習模型要求預測不同的引數。對於線性模型(如:邏輯迴歸,由一系列值等於特徵數量的權重來定義)與非線性模型(如:神經網路,由其每一層的一系列權重所定義)而言,這兩類模型都可以近似等於條件概率分佈。

對於典型的分類問題而言,(一系列可被學習的)引數θ用作定義一個 x 到範疇分佈(它們基於不同的標籤)的對映。一個判別式模型會將概率 N(N 等於類的數量)作為輸出。每個 x 都屬於一個單獨的類,但是模型的不確定性是由在類上輸出的一個分佈來反映的。一般來說,概率最大的類會在做出決定的時候被選擇。

理解神經網路中的目標函式

在影象分類中,網路會基於影象類別輸出一個範疇分佈。上圖描述了一張測試影象中的前五個類(以概率大小為標準篩選)。


我們注意到,判別式迴歸模型(discriminative regression model)經常只會輸出一個預測值,而不是一個基於所有真值的分佈。這與判別式分類模型(discriminative classification model)不同,後者會輸出一個基於可能的類的分佈。那麼這是否意味著判別式模型因迴歸任務而瓦解了呢?模型的輸出難道不應該告訴我們哪些迴歸值(regression value)會比其它值更有可能嗎?

說判別式迴歸模型只有一個輸出其實會讓人誤解,實際上,一個迴歸模型的輸出與一個著名的概率分佈有關:高斯分佈。事實證明,判別式迴歸模型的輸出代表了一個高斯分佈的均值(一個高斯分佈完全由一個均值與標準差決定)。有了這個資訊,你就可以在輸入*x*的情況下決定每個真值的相似度了。

通常,只有這個分佈的均值才會建模,高斯分佈的標準差要麼沒有建模,要麼就是在所有 x 上保持一個常值(constant)。因此,在判別式迴歸模型中,θ規定了從 x 到高斯分佈(y 從中取樣得來)均值的一個對映。基本上每當要做出決定時,我們都會選擇均值,因為模型能夠通過提高標準差來表達哪個 x 是不確定的。

理解神經網路中的目標函式

當沒有訓練資料的時候,一個模型是需要保持不確定的,相反,當有訓練資料的時候,模型需要變得確定。上圖展示了這樣的一個模型,圖片來自 Yarin Gal 的博文。


在迴歸問題裡,其他的概率模型(比如高斯過程)在對不確定性進行建模的過程中效果好得多。因為當要同時對均值與標準差建模的時候,判別式迴歸模型會有過於自信的傾向。

高斯過程(Gaussian process)可以通過對標準差精確建模來量化不確定性。其僅有的一個缺點在於,高斯過程不能很好地擴大到大型資料集。在下圖中你可以看到,GP 模型在具有大量資料的區域周圍置信區間很小。在資料點很少的區域,置信區間又變得很大。

理解神經網路中的目標函式

GP 模型在資料點上是確定的,但是在其他地方是不確定的(圖片來自 Sklearn)。


通過在訓練集上訓練,判別式模型可以學習資料(代表了一個類或是真值)中的特徵。如果一個模型能夠將高概率賦給正確地的樣本類,或是一個接近測試集中真值(true value)的均值(mean),那麼我們說這個模型表現的不錯。

連結神經網路


當用神經網路來進行分類或迴歸任務時,上述提到的引數分佈(範疇分佈與高斯分佈)的建模就通過神經網路來完成。

這一點在當我們要決定神經網路引數θ的最大似然估計(MLE)的時候比較清楚。MLE 相當於找到訓練資料集似然度(或等效對數似然度)最大時的引數θ。更具體的來說,下圖的表述得到了最大化:

理解神經網路中的目標函式


當 p(Y | X, θ) 由模型確定時,它表示了訓練資料中真實標籤的概率。如果 p(Y | X, θ) 接近於 1,這意味著模型能夠確定訓練集中正確的標籤/均值。在給定由 N 個觀察對組成的訓練資料(X,Y)的條件下,訓練資料的似然度可被改寫成對數概率的總和。

在分類與迴歸的情況下,p(y|x, θ) 作為一個(x, y)的後驗概率,可以被改寫成範疇分佈和高斯分佈。在優化神經網路的情況下,目標則是去改變引數,具體方式是:對於一系列輸入 X,概率分佈 Y 的正確的引數可以在輸出(迴歸值或類)中得到。一般這可以通過梯度下降和其變體來實現。因此,為了得到一個 MLE 估計,我們的目標是優化關於真實輸出的模型輸出:

  • 最大化一個範疇分佈的對數值相當於最小化真實分佈與其近似分佈的交叉熵。
  • 最大化高斯分佈的對數值相當於最小化真實均值與其近似均值的均方差。

因此,前述圖片中的表達就可以被改寫,分別變成交叉熵損失和均方差,以及分類和迴歸的神經網路的目標函式。

相較於更加傳統的概率模型,神經網路從輸入資料到概率或是均數習得的非線性函式難以被解釋。雖然這是神經網路的一個顯著的缺點,但是其可以模擬大量複雜函式的能力也帶來了極高的好處。根據這部分衍生討論的內容,我們可以明顯看到,神經網路的目標函式(在確定引數的 MLE 似然度過程中形成)可以以概率的方式來解釋。

神經網路一個有趣的解釋與它和那些一般的線性模型(線性迴歸、邏輯迴歸)的關係有關。相比於選擇特徵的線性組合(就像在 GLM 做的一樣),神經網路會產生一個高度非線性的特徵組合。

最大後驗概率(MAP)


但是如果神經網路可以被解釋成概率模型,那為什麼它們給出的概率預測質量很差,而且還不能處理那些對抗性樣本呢?為什麼它們需要這麼多資料?

在選擇好的函式逼近器時,根據不同的搜尋空間我傾向於選擇不同的模型(邏輯迴歸,神經網路等等)。當面對一個極大的搜尋空間,也即意味著你可以很靈活地模擬後驗概率時,依然是有代價的。比如,神經網路被證明是一個通用的函式逼近器。也就是說只要有足夠的引數,它們就可以模擬任何函式。然而,為了保證函式在整個資料空間上能夠得到很好的校準,一定需要極大的資料集才行。

通常,一個標準的神經網路都會使用 MLE 來進行優化,知道這一點很重要。使用 MLE 進行優化可能會讓模型發生過擬合,所以模型需要大量資料來讓過擬合問題減弱。機器學習的目標不是去尋找一個對訓練資料解釋度最好的模型。我們更需要的是找到一個可以在訓練集外的資料上也有很好泛化能力的模型。

在這裡,最大後驗概率(MAP)方法是一個有效的可選方案,當概率模型遭遇過擬合問題時我們經常會使用它。所以 MAP 相當於神經網路的語境下的什麼呢?對於目標函式它會有什麼影響呢?

與 MLE 類似,MAP 也可以在神經網路的語境下被改寫成一個目標函式。就本質而言,使用了 MAP 你就是在最大化一系列引數θ(給定資料下,在θ上假設一個先驗概率分佈)的概率:

理解神經網路中的目標函式

使用 MLE 時,我們只會考慮方程的第一個元素(模型在何種程度上解釋了訓練資料)。使用了 MAP,為了降低過擬合,模型滿足先驗概率也很重要(θ在何種程度上滿足先驗概率)。

對θ使用均值為 0 的高斯先驗概率與把 L2 正則化應用到目標函式上是一致的(確保了有很多小權重),然而在θ上使用一個拉普拉斯先驗概率與把 L1 正則化應用到目標函式上是一致的(確保很多權重的值為 0)。

理解神經網路中的目標函式

左邊是 L1 正則化,右邊是 L2 正則化。


一種完全貝葉斯方法


在 MLE 和 MAP 兩種情況中,都只使用了一個模型(它只有一組引數)。對於複雜的資料尤其如此,比如影象,資料空間中特定的區域沒有被覆蓋這個問題不太可能出現。模型在這些地方的輸出由模型的隨機初始化與訓練過程決定,模型對處於資料空間覆蓋區域之外的點會給出很低的概率估計。

儘管 MAP 保證了模型在這些地方的過擬合程度不會太高,但是它還是會讓模型變得過於自信。在完全貝葉斯方法中,我們通過在多個模型上取平均值來解決這個問題,這樣可以得到更好的不確定性預測。我們的目標是模擬引數的一個分佈,而不是僅僅一組引數。如果所有的模型(不同引數設定)在覆蓋區域之外都給出了不同的預測,那麼這意味著這個區域有很大的不確定性。通過對這些模型取平均,最終我們會得到一個在那些區域不確定的模型,這正是我們想要的。

原文連結:https://www.kdnuggets.com/2017/11/understanding-objective-functions-neural-networks.html

相關文章