論文: Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion
我們都知道實現AutoML的基本思路是不斷選取不同的超參數組成一個網絡結構,然后使用這個網絡結構在整個數據集上進行評估 (假設評估值為\(f_H(X)=\mathcal{L}(δ,D^{train},D^{valid})\),X表示某一組超參數) ,最后選擇出評估性能最好的網絡參數。
但是基於full dataset進行評估cost太大,所以很自然地想到基於一部分數據集進行評估,假設此時的評估結果是\(f_L(X)=\mathcal{L}(δ,D^{sub}_{r_L},D^{valid})\),其中\(D^{sub}_{rL}\)表示從訓練集中以\(r_L\)的比例抽取數據。但是這樣又存在另外一個問題,那就是基於一部分數據集進行評估得到的結果往往是不准確的,那怎么辦呢?下面進行一波分析:
令\(R(X)=f_H(X)-f_L(X)\),用來衡量\(f_H\)與\(f_L\)之間的殘差(residual)。所以如果我們能夠得到\(R(X)\),那么我們就能夠用\(R(X)+f_L(X)\)來代替需要花費大量算力的\(f_H(X)\),那么怎么得到\(R(X)\)呢?
本文為了求得\(R(X)\)提出了Transfer Series Expansion (TSE),該方法就是通過學習一系列的基預測器,並將他們線性組合得到了最終的預測器,預測結果即為\(R(X)\)。公式如下:
由公式(1)可以知道我們需要構造出\(k\)個基預測器,換句話說我們需要k個不同的數據集,數據集可以表示為\(D^{predictor}=\{(x_1,y_1),...,(x_m,y_m)\}\),其中\(y_i=R(x_i)\)。很顯然為了得到\(y_i\)還是得花費不少代價。所以作者提出了一個折中的辦法就是令\(y_i=R(x_i)=f_M(x_i)-f_L(x_i)\),其中\(f_M\)表示介於\(f_L\)和\(f_H\)之間的評估,也就是說以\(r_M(0<r_L<r_M<<1)\)的比例從訓練集中抽取出數據進行模型的評估。(文中並沒有詳細介紹如何構造基預測器,只是說使用Random Forest Regressor,所以這里不再對基預測器如何構造進行說明。)。
所以用來構建k個基預測器的數據集對即為\(\{(D^{sub1}_{r_L},D^{sub1}_{r_M}),...,(D^{subk}_{r_L},D^{subk}_{r_M})\}\),注意\((D^{sub1}_{r_L},D^{sub1}_{r_M})\)轉變成一組用於生成基預測器的數據集\(D^{predictor}\)。除此以外其實還需要構造\(\{(D^{sub}_{r_L},D^{train})\}\)用於最后的回歸問題。所以實際上隨機初始化\(k\)個\(D^{sub}_{r_M}\)和\(k+1\)個\(D^{sub}_{r_L}\)。
好了現在假設基預測器都構建好了,那么就可以進入正式的TSE算法步驟了,算法如下:
未完待續...