即使在中等規模的數據集上,訓練神經網絡也可能很昂貴。根據配置空間(第 19.1.1.2 節),超參數優化需要數十到數百次函數評估才能找到性能良好的超參數配置。正如我們在19.3 節中看到的 ,我們可以通過利用并行資源顯著加快 HPO 的整體時鐘時間,但這并不會減少所需的總計算量。
在本節中,我們將展示如何加速超參數配置的評估。隨機搜索等方法為每個超參數評估分配相同數量的資源(例如,epoch 數、訓練數據點)。圖 19.4.1 描繪了一組使用不同超參數配置訓練的神經網絡的學習曲線。經過幾個 epoch 之后,我們已經能夠在視覺上區分性能良好和次優的配置。然而,學習曲線是嘈雜的,我們可能仍然需要全部 100 個 epoch 來確定表現最好的一個。
多保真超參數優化將更多資源分配給有前途的配置,并盡早停止對性能不佳的配置的評估。這加快了優化過程,因為我們可以為相同的資源總量嘗試更多的配置。
更正式地說,我們擴展了第 19.1.1 節中的定義 ,這樣我們的目標函數 f(x,r)獲得額外的輸入 r∈[rmin,rmax], 指定我們愿意為配置評估花費的資源量x. 我們假設錯誤 f(x,r)隨著r,而計算成本c(x,r)增加。通常, r表示訓練神經網絡的時期數,但它也可以是訓練子集大小或交叉驗證折疊數。
19.4.1。連續減半
使隨機搜索適應多保真度設置的最簡單方法之一是連續減半 (Jamieson 和 Talwalkar,2016 年,Karnin等人,2013 年)。基本思想是從N配置,例如從配置空間隨機采樣,并訓練它們中的每一個 rmin只有時代。然后,我們丟棄一部分表現最差的試驗,并對其余試驗進行更長時間的訓練。重復這個過程,更少的試驗運行更長時間,直到至少有一個試驗達到rmax時代。
更正式地說,考慮最低預算rmin(例如 1 個 epoch),最大預算rmax,例如 max_epochs
在我們之前的例子中,還有一個減半常數 η∈{2,3,…}. 為簡單起見,假設 rmax=rminηK, 和K∈I. 那么初始配置的數量是N=ηK. 讓我們定義一組梯級 R={rmin,rminη,rminη2,…,rmax}.
一輪連續減半的過程如下。我們從跑步開始N試驗到第一梯級rmin. 對驗證錯誤進行排序,我們保持頂部1/η分數(相當于ηK?1配置)并丟棄所有其余的。幸存的試驗被訓練用于下一個梯級(rminηepochs),然后重復該過程。在每個梯級,一個1/η部分試驗存活下來,他們的訓練繼續進行η倍大的預算。有了這個特別的選擇N, 只有一個試驗將被訓練到全部預算rmax. 一旦這樣一輪連續的減半完成,我們就會用一組新的初始配置開始下一輪,迭代直到總預算用完。
我們將第 19.2 節HPOScheduler
的基類子類化 ,以實現連續減半,允許通用 對象對配置進行采樣(在我們下面的示例中,它將是 a )。此外,用戶必須通過最少的資源HPOSearcher
RandomSearcher
rmin, 最大資源 rmax和η作為輸入。在我們的調度程序中,我們維護一個配置隊列,這些配置仍需要針對當前梯級進行評估ri. 每次我們跳到下一個梯級時,我們都會更新隊列。
評論
查看更多