本文記錄官方note中比較新穎和有價值的觀點(從反向傳播開始)
一 反向傳播
1 “反向傳播是一個優美的局部過程。在整個計算線路圖中,每個門單元都會得到一些輸入並立即計算兩個東西:1. 這個門的輸出值,和2.其輸出值關於輸入值的局部梯度。門單元完成這兩件事是完全獨立的,它不需要知道計算線路中的其他細節。”
2 反向傳播的編程中要學會分段計算,即在前向傳播過程中把有用的中間變量緩存下來。
3 輸入的大小對梯度有巨大影響,因此數據預處理很重要。例如乘法門會將大梯度分給小輸入,小梯度分給大輸入,因此當輸入變化時,需要調整學習率。
二 神經網絡介紹
1 生物動機:神經網絡模型與實際的生物神經有一定的相似之處,但只是一個粗糙的近似模型,通常生物中更復雜,表現在突觸不是線性的權重,輸出的峰值信號的精確時間點很重要,等等。
2 “正則化損失從生物學角度可以看做逐漸遺忘,因為它的效果是讓所有突觸權重在參數更新過程中逐漸向着0變化。”
3 常見激活函數及其特點:
sigmoid:飽和性導致梯度消失,非零中心性導致梯度下降低效。
Tanh:仍然具有飽和性,但是輸出是0中心的。
Relu:計算簡單,收斂比tanh快6倍。缺點是會死亡。
Leaky ReLU,PRelu,elu等Relu變種:克服了Relu會死亡的缺點,但是效果不穩定。
Maxout:是Relu和Leaky ReLU的一般化歸納,繼承了Relu的優點,克服了Relu的缺點,缺點是參數量翻倍。
選擇激活函數的准則:“用ReLU非線性函數。注意設置好學習率,或許可以監控你的網絡中死亡的神經元占的比例。如果單元死亡問題困擾你,就試試Leaky ReLU或者Maxout,不要再用sigmoid了。也可以試試tanh,但是其效果應該不如ReLU或者Maxout。”
4 有研究證明,擁有至少一個隱層的神經網絡就可以近似任何連續函數。
參考文獻:
賀完結!CS231n官方筆記授權翻譯總集篇發布 https://zhuanlan.zhihu.com/p/21930884