改善深層神經網絡:超參數調整、正則化以及優化 —— 3.2 爲超範圍

上一節已經看到,在超參數範圍內,隨機取值可以提升搜索效率,但隨機取值並不是在有效範圍內的隨機均勻取值,而是選擇合適的標尺用於探究超參數。

假設要選取隱藏單元的數量n[l]n^{[l]},對於給定層,假設選擇的取值範圍是從50到100中某點,這種情況下,對於50-100的數軸,可以隨機在其上取點,這是一個搜索特定超參數的很直觀的方式。

或者如果要選取神經網絡的層數,稱之爲字母L,也許會選擇層數爲2到4中的某個值,接着順着2,3,4隨機均勻取樣才比較合理,還可以應用網格搜索。這是集合隨機均勻取值的例子。

但這對於某些超參數是不適用的,假設在搜索超參數α\alpha學習速率,假設其值最小是0.0001,或者最大值是1,如果畫一條從0.0001到1的數軸,沿其隨機均勻取值,那麼90%的數值將會落在0.1到1之間,結果就是在0.1到1之間應用了90%的資源,而在0.0001到0.1之間只有10%的搜索資源,這看上去不太對,反而用對數標尺搜索超參數的方式會更合理,因此這裏不使用線性軸,分別依次取0.0001,0.001,0.01,1,在對數軸上均勻隨機取點,這樣在0.0001到0.001之間就會有更多的搜索資源可,還有在0.001到0.01之間等等。分別取對數可以得到0.0001-1之間的對數範圍是-4-0,然後可以設置α\alpha的值,基於隨機取樣的超參數值α=10r\alpha=10^r。所以總結一下,在對數座標上取值,取最小值的對數得到a值,取最大值的對數得到b值,所以現在在對數軸上的10a10^a10b10^b區間取值,在a和b之間隨機均勻的選取r值,將超參數設置爲10r10^r,這就是在對數軸上取值的過程。

最後,另一個棘手的例子是給β\beta取值,用於計算指數的加權平均值,假設β\beta是從0.9到0.999之間的某個值。請記住這一點,當計算指數的加權平均值時,取0.9就像在10個值中計算平均值,有點類似於計算10天的溫度平均值,而取0.999就是在1000個值中取平均。如果想在0.9到0.999區間搜索,就不能用線性軸取值,所以考慮這個問題最好的方法就是探究1β1-\beta,此值在0.1到0.001區間內,所以我們會給1β1-\beta取值,採用對數軸,0.1的對數取值爲-1,0.001的對數取值爲-1。這裏設定了1β=10r1-\beta=10^r,所以β=110r\beta=1-10^r,然後這就變成了超參數隨機取值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章