吴恩达老师深度学习视频课笔记:超参数调试、Batch正则化和程序框架
????????Tuning process(調試處理):神經網絡的調整會涉及到許多不同超參數的設置。需要調試的重要超參數一般包括:學習率、momentum、mini-batch size、隱藏單元(hidden units)、層數、學習率衰減。一般對于你要解決的問題而言,你很難提前知道哪個參數最重要。超參值的搜索過程可以隨機取值和精確搜索,考慮使用由粗糙到精細的搜索過程。
????????超參數搜索過程:Re-test hyper parameters occasionally、Babysitting one model(計算機資源有限時)、Training many models in parallel。
????????Batch Normalization(Batch 歸一化):會使超參數搜索變得容易,使神經網絡對超參數的選擇更加穩定(robust)。在神經網絡中已知一些中間值,假設有一些來自隱藏層的隱藏單元值從z(1)到z(m)即z[l](i),歸一化第l層的隱藏單元z(i),歸一化z到含均值0和標準單元方差(normalized z to have mean zero and standard unit variance),如下圖。因此z的每一個分量都含有平均值0和方差1.但是我們不想讓隱藏單元總是含有平均值0和方差1,因為隱藏單元有不同的分布會更有意義,因此由znorm(i)變為z~(i),這里的γ和β是學習參數。γ和β的作用是可以隨意設置z~(z tilde)的平均值。采用Batch Normalization后會使用現在的z~(i)替代原來的z(i)已方便神經網絡的后續計算。
????????將Batch Norm應用到神經網絡:如下圖,Batch歸一化是發生在計算z和計算a之間。
????????Batch歸一化通常和訓練集的mini-batch一起使用,如下圖。參數b在Batch歸一化中沒有意義,所以必須去掉它,由β替代。Batch歸一化一次只能處理一個mini-batch數據,它在mini-batch上計算均值和方差。
????????將Batch歸一化應用到梯度下降法中,如下圖。
????????Softmax layer/Softmax 激活函數:實現過程如下圖所示,以識別四種類別為例。圖中的輸出層L為(4,1)向量,代表對應類所對應的概率。softmax用于多分類中。softmax回歸或softmax激活函數將logistic激活函數推廣到C類而不僅僅是兩類。
????????softmax中用到的損失函數(loss function):實現過程如下圖所示,以識別四種類別為例。
????????深度學習軟件框架:Caffe/Caffe2、CNTK、DL4J、Keras、Lasagne、mxnet、PaddlePaddle、TensorFlow、Theano、Torch。每一個框架都是針對某一個特定用戶或開發者群體的。
????????選擇深度學習框架的標準:便于編程;運行速度;框架是否真的開放(truly open)。
????????GitHub:?https://github.com/fengbingchun/NN_Test?
總結
以上是生活随笔為你收集整理的吴恩达老师深度学习视频课笔记:超参数调试、Batch正则化和程序框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴恩达老师深度学习视频课笔记:优化算法
- 下一篇: OpenCV中基于LBP算法的人脸检测测