交叉熵代價函數(作用及公式推導)


        交叉熵代價函數(Cross-entropy cost function)是用來衡量人工神經網絡(ANN)的預測值與實際值的一種方式。與二次代價函數相比,它能更有效地促進ANN的訓練。在介紹交叉熵代價函數之前,本文先簡要介紹二次代價函數,以及其存在的不足。


1. 二次代價函數的不足

        ANN的設計目的之中的一個是為了使機器能夠像人一樣學習知識。人在學習分析新事物時。當發現自己犯的錯誤越大時。改正的力度就越大。比方投籃:當運動員發現自己的投籃方向離正確方向越遠,那么他調整的投籃角度就應該越大,籃球就更easy投進籃筐。同理,我們希望:ANN在訓練時,假設預測值與實際值的誤差越大,那么在反向傳播訓練的過程中,各種參數調整的幅度就要更大,從而使訓練更快收斂。然而,假設使用二次代價函數訓練ANN,看到的實際效果是,假設誤差越大。參數調整的幅度可能更小,訓練更緩慢。

        以一個神經元的二類分類訓練為例,進行兩次實驗(ANN經常使用的激活函數為sigmoid函數,該實驗也採用該函數):輸入一個同樣的樣本數據x=1.0(該樣本相應的實際分類y=0);兩次實驗各自隨機初始化參數。從而在各自的第一次前向傳播后得到不同的輸出值。形成不同的代價(誤差):

實驗1:第一次輸出值為0.82

     

實驗2:第一次輸出值為0.98

        

        在實驗1中。隨機初始化參數。使得第一次輸出值為0.82(該樣本相應的實際值為0);經過300次迭代訓練后,輸出值由0.82降到0.09,逼近實際值。而在實驗2中,第一次輸出值為0.98。相同經過300迭代訓練,輸出值僅僅降到了0.20。

        從兩次實驗的代價曲線中能夠看出:實驗1的代價隨着訓練次數添加而高速減少,但實驗2的代價在一開始下降得很緩慢;直觀上看,初始的誤差越大。收斂得越緩慢

        事實上。誤差大導致訓練緩慢的原因在於使用了二次代價函數。

二次代價函數的公式例如以下:



        當中,C表示代價。x表示樣本。y表示實際值,a表示輸出值。n表示樣本的總數。

為簡單起見,相同一個樣本為例進行說明,此時二次代價函數為:



        眼下訓練ANN最有效的算法是反向傳播算法。簡而言之,訓練ANN就是通過反向傳播代價,以降低代價為導向。調整參數。參數主要有:神經元之間的連接權重w,以及每一個神經元本身的偏置b。調參的方式是採用梯度下降算法(Gradient descent)。沿着梯度方向調整參數大小。w和b的梯度推導例如以下:



        當中。z表示神經元的輸入,表示激活函數。從以上公式能夠看出,w和b的梯度跟激活函數的梯度成正比,激活函數的梯度越大,w和b的大小調整得越快,訓練收斂得就越快。

而神經網絡經常使用的激活函數為sigmoid函數。該函數的曲線例如以下所看到的:



        如圖所看到的。實驗2的初始輸出值(0.98)相應的梯度明顯小於實驗1的輸出值(0.82),因此實驗2的參數梯度下降得比實驗1慢。這就是初始的代價(誤差)越大。導致訓練越慢的原因。與我們的期望不符,即:不能像人一樣,錯誤越大,改正的幅度越大,從而學習得越快。

        可能有人會說,那就選擇一個梯度不變化或變化不明顯的激活函數不就解決這個問題了嗎?圖樣圖森破,那樣盡管簡單粗暴地攻克了這個問題,但可能會引起其它很多其它更麻煩的問題。並且,類似sigmoid這種函數(比方tanh函數)有非常多長處,非常適合用來做激活函數。詳細請自行google之。



2. 交叉熵代價函數

        換個思路,我們不換激活函數,而是換掉二次代價函數,改用交叉熵代價函數:



        當中,x表示樣本。n表示樣本的總數。那么,又一次計算參數w的梯度:



        當中(詳細證明見附錄):


        因此,w的梯度公式中原來的被消掉了;另外。該梯度公式中的表示輸出值與實際值之間的誤差。所以。當誤差越大,梯度就越大。參數w調整得越快,訓練速度也就越快。

同理可得。b的梯度為:



        實際情況證明,交叉熵代價函數帶來的訓練效果往往比二次代價函數要好。



3. 交叉熵代價函數是怎樣產生的?

        以偏置b的梯度計算為例。推導出交叉熵代價函數:



        在第1小節中,由二次代價函數推導出來的b的梯度公式為:



        為了消掉該公式中的。我們想找到一個代價函數使得:



        即:



        對兩側求積分。可得:



        而這就是前面介紹的交叉熵代價函數。




附錄:

        sigmoid函數為:


        可證:








免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM