AutoML 系列 Hyperband介紹

2021-10-06 10:34:32 字數 2062 閱讀 8434

背景

隨著資料量的增大以及模型複雜度的增加,使用類似貝葉斯優化等方法進行超引數優化會消耗大量的計算資源,所以有必要尋求一種更加快速的演算法。

該文章的作者將尋找最優超引數的過程視為乙個在給定資源( 迭代次數,資料量,特徵量等 )下,在無限臂***上進行非隨機地探索的過程。在這種想法下提出了 hyperband 演算法框架。

hyperband 就是通過合理的分配資源,從而提高超引數組合的評價速度。

hyperband 演算法框架

successive halving

這個演算法做的事情大致是這樣的,對於一系列超引數組合分配相同的資源,然後對這些超引數組合進行評價,扔掉表現較差的一半超引數,重複上述流程直到只剩下一組超引數。

這個演算法需要超引數組合的總數量n

nn與總資源b

bb作為輸入,這樣,每個待評價的組合平均分配b

n\frac

nb​的資源。但是,對於乙個確定的b

bb來說,我們很難知道是應該選用較大的n

nn配備較少的資源還是較小的n

nn配置較多的資源,哪種選擇會得到更好的結果。

具體來說,如下圖所示,v

1v_1

v1​和v

2v_2

v2​是在兩組超引數配置下驗證集上最終達到的loss大小,可以發現隨著被分配資源的增加,v

1v_1

v1​和v

2v_2

v2​的值也逐漸趨於穩定(陰影部分可以理解為v

1v_1

v1​和v

2v_2

v2​的errorbar)。而當陰影有重合的時候,我們無法分辨出哪種超引數更好。因為我們在拿到乙個任務的時候,是無法事先就知道如下圖所示的那種誤差曲線的,所以也就不知道分配給每組超引數多少的資源能夠達到無陰影重合的情況,也就是有把握說一種超引數要優於另一種超引數。

hyperband演算法框架如下圖所示,對於上面 successive halving 中的n−b

nn-\frac

n−nb

​的問題,hyperband 對於乙個確定的b

bb,在可行的n

nn範圍內對n

nn進行 grid search。

hyperband 需要兩個輸入:

在 hyperband的偽****現的3個函式及其意義如下:

從上面的偽**和對r和η

\eta

η的介紹中,可以看出,當s=0

s=0s=

0時,此時r=r

r=rr=

r,相當於baseline。隨著s的增加,相應的分配個每個超引數組合的資源就變少了,相當於逐漸加大訓練 early stopping 的力度,但是可以在總利用資源相同的情況下,增加探索過的超引數組合的個數,s的增加直到分配給每個超引數組合的資源為一單位。

資源

上面總提到說分配的資源,那麼資源都包括哪些呢?

demo

文中給出了乙個 mnist 資料集的例子,設定了r=81

,η=3

r=81,\eta=3

r=81,η

=3,此時,sma

x=4s_=4

smax​=

4。每次 successive halving 的資源與超引數組合的數量如下表所示。

從實驗結果可以發現,並不是s=0或者s=4效果最好。

automl 演化演算法

快速搜尋 多目標 基本概念 選擇 在進化演算法中存在兩個階段的選擇。經典的選擇演算法 輪盤賭演算法和錦標賽演算法是常見兩種選擇策略。我想問一下 精英 代表歷史最優個體,還是代表每一代的最優個體。由於每一代都執行該策略,所以歷史最優和每代最優一樣一樣滴。分類 進化演算法包括遺傳演算法 遺傳規劃 程式設...

Auto ML自動調參

auto ml自動調參 本文介紹auto ml自動調參的演算法介紹及操作流程。登入pai控制台。單擊左側導航欄的實驗並選擇某個實驗。本文以霧霾天氣 實驗為例。在實驗畫布區,單擊左上角的auto ml 模型自動調參。在自動調參配置頁面,選擇需要調參的演算法,單擊下一步。說明乙個實驗中有多個演算法時請單...

automl學習與整理2

深度學習的發展促進了相關應用的湧現。但是,深度學習模型往往具有非常大的引數搜尋空間,為了保證模型的效果,經常需要機器學習專家耗費大量的時間構建深度學習模型。為了降低深度學習模型的設計成本和難度 提高模型構建效率,學界提出了乙個新的概念 automated machine learning autom...