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