前言算法
如下內容是我的學習以後的感悟,轉載請註明出處~函數
超參數調試學習
在深度學習中,超參數有不少,好比學習率α、使用momentum或Adam優化算法的參數(β1,β2,ε)、層數layers、不一樣層隱藏優化
單元數hidden units、學習率衰退、mini=batch的大小等。其中一些超參數比其餘參數重要,其優先級能夠分爲如下幾級,如圖,紅色spa
框最優先,橙色次之,紫色再次之,最後沒有框住的通常直接取經驗值(固然你也能夠本身取)。調試
那麼如何來調試超參數呢?blog
如下圖的2維超參數爲例(即只調兩個超參數,固然有時候須要調的超參數不少時,就須要不少維,不便畫出)首先能夠在必定的範資源
圍內對這兩個超參數隨機取值(如圖中黑點),若發現其中幾個黑點的效果最好,則縮小範圍(即藍色方框)進行細化參數,尋找最適合深度學習
的超參數。此法從粗略搜索再到精密搜索,能夠達到很好的效果。it
上面提到的隨機取值,並不是是在有效值範圍內的隨機均勻取值,而是選擇合適的標尺。好比對於隱藏單元數n和隱藏層數L,以下圖所
示,其合適的標尺剛好是在有效範圍內均勻取值,能夠實現很好的調試效果。
然而,這對某些超參數是不適用的,好比學習率α,其範圍在0.0001到1之間,有經驗的咱們懷疑α有很大可能在0.0001到0.1之間,但
是若是隨機均勻取值,那麼在0.1到1之間將用去90%的資源,這看上去不對啊,資源沒有用在刀刃上。所以,咱們須要選擇更加合適的標
尺——對數標尺,分別取0.000一、0.00一、0.0一、0.一、1,這樣能夠充分利用資源,達到理想的效果。固然,若是你懷疑α是在0.9到0.999之
間,那麼(1-α)就在0.1到0.001之間,其實作法是同樣的。
有時候,你訓練好超參數不久,你的數據在逐漸的改變,意味着以前訓練好的超參數再也不適用於現今的數據,那麼該如何作呢?咱們需
要常常照看模型。通常有如下兩種方式,第一種是隻有一個模型,以下圖中左邊所示,該模型的代價函數隨時間的變化而變化,咱們須要不
斷調整其超參數,使曲線不上升;第二種就是建許多個模型,以下圖中右邊所示,每一個模型的代價函數隨時間的變化而變化,咱們只須要挑
當時表現比較好的模型用於預測數據便可。能夠看出,在計算量容許的狀況下,第二種方式是很是好的。
以上是所有內容,若是有什麼地方不對,請在下面留言,謝謝~