亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

以下文章來源于Datawhale ,作者Michael

高爾夫球員剛開始學習打高爾夫球時,通常會花很長時間練習揮桿。慢慢地,他們才會在此基礎上練習其他擊球方式,學習削球、左曲球和右曲球。本章仍著重介紹反向傳播算法,這就是我們的“揮桿基本功”——神經網絡中大部分工作、學習和研究的基礎。

本文將著重講解利用交叉熵代價函數改進神經網絡的學習方法。

干貨:深入淺出神經網絡的改進方法

 

一、交叉熵代價函數

大多數人不喜歡被他人指出錯誤。我以前剛學習彈鋼琴不久,就在聽眾前做了一次首秀。我很緊張,開始時錯將八度音階的曲段演奏得很低。我不知所措,因為演奏無法繼續下去了,直到有人指出了其中的錯誤。我當時非常尷尬。不過,盡管不愉快,我們卻能因為明顯的錯誤而快速地學到正確的知識。下次我肯定能演奏正確!然而當錯誤不明確的時候,學習會變得非常緩慢。學習速度下降的原因實際上也是一般的神經網絡學習緩慢的原因,并不僅僅是特有的。

引入交叉熵代價函數

如何解決這個問題呢?研究表明,可以使用交叉熵代價函數來替換二次代價函數。

將交叉熵看作代價函數有兩點原因。第一,它是非負的,C > 0。可以看出(57)的求和中的所有單獨項都是負數,因為對數函數的定義域是(0, 1)。求和前面有一個負號。

第二,如果對于所有的訓練輸入x,神經元實際的輸出都接近目標值,那么交叉熵將接近0。假設在本例中,y = 0而a ≈ 0,這是我們想要的結果。方程(57)中的第一個項會消去,因為y = 0,而第二項實際上就是−ln(1 − a) ≈ 0;反之,y = 1而a ≈ 1。所以實際輸出和目標輸出之間的差距越小,最終交叉熵的值就越小。

綜上所述,交叉熵是非負的,在神經元達到較高的正確率時接近0。我們希望代價函數具備這些特性。其實二次代價函數也擁有這些特性,所以交叉熵是很好的選擇。然而交叉熵代價函數有一個比二次代價函數更好的特性:它避免了學習速度下降的問題。

代價函數曲線要比二次代價函數訓練開始部分陡峭很多。這個交叉熵導致的陡度正是我們期望的,當神經元開始出現嚴重錯誤時能以最快的速度學習。

二、改進神經網絡的應用實踐

使用交叉熵來對MNIST數字進行分類

如果程序使用梯度下降算法和反向傳播算法進行學習,那么交叉熵作為其中一部分易于實現。我們會使用一個包含30個隱藏神經元的網絡,小批量的大小也設置為10,將學習率設置為η,訓練30輪。network2.py的接口和network.py的略有區別,但用法還是很好懂的。可以在Python shell中使用help(network2.Network.SGD)這樣的命令來查看network2.py的接口文檔。

>>> import mnist_loader
>>> training_data, validation_data, test_data = 
... mnist_loader.load_data_wrApper()
>>> import network2
>>> net = network2.Network([784, 30, 10], cost=network2.CrossEntropyCost)
>>> net.large_weight_initializer()
>>> net.SGD(training_data, 30, 10, 0.5, evaluation_data=test_data,
... monitor_evaluation_accuracy=True)

注意,net.large_weight_initializer()命令使用第1章介紹的方式來初始化權重和偏置。這里需要執行該命令,因為后面才會改變默認的權重初始化命令。運行上面的代碼,神經網絡的準確率可以達到95.49%,這跟第1章中使用二次代價函數得到的結果(95.42%)相當接近了。

對于使用100個隱藏神經元,而交叉熵及其他參數保持不變的情況,準確率達到了96.82%。相比第1章使用二次代價函數的結果(96.59%)有一定提升。看起來是很小的變化,但考慮到誤差率已經從3.41%下降到3.18%了,消除了原誤差的1/14,這其實是可觀的改進。

跟二次代價相比,交叉熵代價函數能提供類似的甚至更好的結果,然而這些結果不能證明交叉熵是更好的選擇,原因是在選擇學習率、小批量大小等超參數上花了一些心思。為了讓提升更有說服力,需要對超參數進行深度優化。然而,這些結果仍然是令人鼓舞的,它們鞏固了先前關于交叉熵優于二次代價的理論推斷。

轉自:Datawhale ; Michael Nielsen,計算機科學家;

本文內容節選自《深入淺出神經網絡與深度學習》一書,由Michael Nielsen所著,李航等推薦。本書深入了講解神經網絡和深度學習技術,作者以技術原理為導向,輔以貫穿全書的 MNIST 手寫數字識別項目示例,講解了如何利用所學知識改進深度學習項目,值得學習。

分享到:
標簽:神經網絡
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定