薛羽,盧暢暢
(南京信息工程大學(xué)軟件學(xué)院,江蘇 南京 210044)
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在自動駕駛[1]、醫(yī)療診斷[2]、智能推薦[3]等領(lǐng)域得到了廣泛的應(yīng)用。卷積神經(jīng)網(wǎng)絡(luò)的性能很大程度上取決于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。設(shè)計卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是一件十分耗時的試錯過程,需要由具有豐富知識的專家進(jìn)行大量的試驗。隨著神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)變得越來越復(fù)雜,完全依靠人工設(shè)計神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)變得不現(xiàn)實。正因為此,作為自動化機(jī)器學(xué)習(xí)(AutoML)的重要組成部分,神經(jīng)架構(gòu)搜索(NAS)越來越引起人們關(guān)注。
神經(jīng)架構(gòu)搜索框架由搜索空間、搜索策略和評估方法三部分組成。早期的學(xué)者們主要使用演化計算(EC)[4]或者強(qiáng)化學(xué)習(xí)(RL)[5]的方法從搜索空間中挑選網(wǎng)絡(luò)并對網(wǎng)絡(luò)精度進(jìn)行評估,網(wǎng)絡(luò)的評估精度將被用來指導(dǎo)下一階段網(wǎng)絡(luò)的挑選。然而網(wǎng)絡(luò)性能評估是一件十分費(fèi)時的工作,這導(dǎo)致整個神經(jīng)架構(gòu)搜索過程往往需要耗費(fèi)昂貴的計算資源才能完成。例如REAL 等[4]使用遺傳算法在CIFAR-10 上進(jìn)行架構(gòu)搜索,整個搜索過程使用了450 塊圖形處理器(GPU)持續(xù)搜索了7 天。同樣在CIFAR-10 數(shù)據(jù)集上,ZOPH等[5]使用強(qiáng)化學(xué)習(xí)的方法在800塊GPU 上搜索了3周。如此巨大的時間消耗決定了基于演化計算的NAS 方法和基于強(qiáng)化學(xué)習(xí)的NAS 方法難以被實際應(yīng)用。
為了縮短神經(jīng)架構(gòu)搜索的資源消耗,學(xué)者們陸續(xù)提出了早停、低保真度估計、曲線外推等方法,但是由于這些方法主觀性過強(qiáng),結(jié)果往往不夠理想。2018 年,PHAM 等[6]提出了One-shot 方法。該方法將搜索空間中的任何可能的神經(jīng)網(wǎng)絡(luò)架構(gòu)視為一個超網(wǎng)絡(luò)的子網(wǎng)絡(luò)。在訓(xùn)練過程中,只需要訓(xùn)練超網(wǎng)絡(luò),子網(wǎng)絡(luò)則直接繼承超網(wǎng)絡(luò)的權(quán)重進(jìn)行性能評估。研究人員一般采用單路徑訓(xùn)練策略訓(xùn)練超網(wǎng)絡(luò),即每次訓(xùn)練超網(wǎng)絡(luò)中的一條子網(wǎng)絡(luò),并對子網(wǎng)絡(luò)所對應(yīng)的超網(wǎng)絡(luò)部分的參數(shù)進(jìn)行優(yōu)化。但是由于所有子網(wǎng)絡(luò)共享一組權(quán)重參數(shù),超網(wǎng)絡(luò)存在嚴(yán)重的權(quán)重耦合現(xiàn)象。GreedyNAS[7]優(yōu)先訓(xùn)練那些當(dāng)前表現(xiàn)優(yōu)異的子網(wǎng)絡(luò),提高了One-shot NAS 的性能。另一種常用的神經(jīng)架構(gòu)搜索方法是可微分架構(gòu)搜索(DARTS)[8]。DARTS在One-shot NAS 的基礎(chǔ)上使用Softmax 函數(shù)將整個搜索空間連續(xù)松弛化,使得可以使用梯度下降的方法交替優(yōu)化超網(wǎng)絡(luò)的權(quán)重參數(shù)和結(jié)構(gòu)參數(shù),進(jìn)一步提高了搜索效率并成功應(yīng)用于工業(yè)界[9]。但DARTS的魯棒性較差,容易出現(xiàn)大量的跳躍連接,且DARTS 搜索結(jié)果單一,難以實現(xiàn)多目標(biāo)搜索。
連續(xù)進(jìn)化結(jié)構(gòu)搜索(CARS)[10]是一種基于演化計算的神經(jīng)架構(gòu)搜索方法。該方法維護(hù)一個超網(wǎng)絡(luò),演化計算種群中的每個個體都是該超網(wǎng)絡(luò)的一個子網(wǎng)絡(luò),在演化計算的過程中,每一代從當(dāng)前種群中隨機(jī)采樣部分子網(wǎng)絡(luò),然后使用這些采樣到的子網(wǎng)絡(luò)對超網(wǎng)絡(luò)進(jìn)行單路徑訓(xùn)練。新生成的子代個體將繼承超網(wǎng)絡(luò)中的權(quán)重并直接進(jìn)行性能評估。這種方法大大縮減了搜索時間,使CARS 僅使用較少的計算資源就完成了搜索。但是CARS 僅僅從演化計算的種群中選取子網(wǎng)絡(luò)訓(xùn)練超網(wǎng)絡(luò),這種方法雖然在一定程度上減少了權(quán)重耦合,但是超網(wǎng)絡(luò)中一開始表現(xiàn)較優(yōu)異的子網(wǎng)絡(luò)會不斷被訓(xùn)練到,從而越來越優(yōu)異,而一開始表現(xiàn)較差的子網(wǎng)絡(luò)可能永遠(yuǎn)都不會被訓(xùn)練到,從而導(dǎo)致算法的全局搜索能力變差。
本文提出一種基于有偏采樣的連續(xù)進(jìn)化神經(jīng)架構(gòu)搜索方法。區(qū)別于CARS 從種群中均勻采樣子網(wǎng)絡(luò),本文采用有偏采樣的方法,通過更改超網(wǎng)絡(luò)訓(xùn)練過程中不同子網(wǎng)絡(luò)架構(gòu)的采樣頻率,以更大的概率訓(xùn)練表現(xiàn)優(yōu)異的子網(wǎng)絡(luò),同時兼顧算法的全局探索能力。此外,本文設(shè)計高效的交叉和變異方式,在保證全局探索能力的同時減少超網(wǎng)絡(luò)的權(quán)重耦合,提高神經(jīng)網(wǎng)絡(luò)的搜索效率。
搜索空間決定了可以搜索到的神經(jīng)網(wǎng)絡(luò)架構(gòu)的范圍?;谌斯ぴO(shè)計的神經(jīng)網(wǎng)絡(luò)會使用重復(fù)模塊的經(jīng)驗,本文采用基于Cell 的搜索空間。與DARTS 的搜索空間類似,整個搜索空間由Normal Cell 和Reduction Cell 兩種Cell 組成,整個網(wǎng)絡(luò)1/3 和2/3 的部位放置Reduction Cell,其余部位放置Normal Cell。Reduction Cell 使用步長為2 的卷積操作將特征圖尺寸減半,同時將卷積通道數(shù)加倍。本文將搜索到的Cell 重復(fù)堆疊成最終的網(wǎng)絡(luò)。
每個Cell由兩個輸入節(jié)點、一個輸出節(jié)點和若干中間節(jié)點組成。每個中間節(jié)點都和其之前的所有節(jié)點相連,每兩個節(jié)點之間有若干可供選擇的候選操作。整個搜索空間可以使用有向無環(huán)圖表示,其中,邊代表各種操作(如卷積或者池化等),節(jié)點代表特征圖。所有中間節(jié)點的輸出拼接起來作為最終的輸出。
如果令最終搜索到的網(wǎng)絡(luò)架構(gòu)中每個中間節(jié)點有兩個輸入,那么每個中間節(jié)點可以使用一個四元數(shù)組(s1,o1,s2,o2)表示,其中,s1、o1表示該節(jié)點的第一個輸入的前繼節(jié)點與其所對應(yīng)的操作,s2、o2表示該節(jié)點的第二個輸入的前繼節(jié)點與其所對應(yīng)的操作。圖1 給出了有4 個中間節(jié)點的網(wǎng)絡(luò)的編碼方式及其對應(yīng)的網(wǎng)絡(luò)。本文分別使用avg_pool_3×3 和max_pool_3×3 表示3×3 平均 池化和3×3 最大 池化,使 用sep_conv_3×3 表 示3×3 可分離卷積,使 用dil_conv_3×3 表示3×3 空洞卷積。在圖1 中,中間節(jié)點4 所選擇的兩個前繼節(jié)點分別是節(jié)點1 和節(jié)點3,節(jié)點1 到節(jié)點4 之間的操作為3×3 空洞卷積,節(jié)點3到節(jié)點4 之間的操作為5×5 空洞卷積。
圖1 編碼方式示意圖Fig.1 Schematic diagram of coding mode
假設(shè)搜索空間有n個中間節(jié)點,每兩個節(jié)點之間有m個候選操作,由于Normal Cell 和Reduction Cell是分別獨(dú)立搜索的,因此該搜索空間中所有可能的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的個數(shù)Tn可由式(1)計算得到:
當(dāng)存在4 個中間節(jié)點,每兩個節(jié)點之間存在10 種候選操作方式時,搜索空間中存在1013種不同的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
為提高神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索的效率,本文提出一個基于有偏采樣的連續(xù)進(jìn)化神經(jīng)架構(gòu)搜索方法。該方法在演化計算每一代對超網(wǎng)絡(luò)進(jìn)行少量的訓(xùn)練,子代網(wǎng)絡(luò)將直接繼承超網(wǎng)絡(luò)的權(quán)重進(jìn)行性能評估而不需要重新訓(xùn)練。為了在搜索過程中減少權(quán)重耦合同時保證算法的全局搜索能力,本文提出有偏采樣的超網(wǎng)絡(luò)訓(xùn)練策略。算法1 給出了基于有偏采樣的連續(xù)進(jìn)化神經(jīng)架構(gòu)搜索算法的偽代碼。
本文使用采樣訓(xùn)練的方式訓(xùn)練超網(wǎng)絡(luò)的參數(shù)。每個被采樣到的神經(jīng)網(wǎng)絡(luò)個體解碼之后都對應(yīng)超網(wǎng)絡(luò)中的一個子網(wǎng)絡(luò)。使用W表示超網(wǎng)絡(luò)的權(quán)重,ci表示第i個被采樣的個體,ωi表示第i個被采樣的個體的權(quán)重,那么ωi=W⊙ci,其中,⊙表示僅保留超網(wǎng)絡(luò)中與個體ci相關(guān)的操作的權(quán)重信息。以x表示輸入圖片,y表示對應(yīng)的標(biāo)簽,fi(x)表示第i個采樣子網(wǎng)絡(luò)個體對輸入圖片x的預(yù)測結(jié)果,那么第i個子網(wǎng)絡(luò)的預(yù)測損失可由式(2)計算得到:
其中:Li表示損失函數(shù)。本文使用標(biāo)準(zhǔn)梯度下降法更新子網(wǎng)絡(luò)的參數(shù)。
由于超網(wǎng)絡(luò)中保存著所有父代網(wǎng)絡(luò)架構(gòu)的權(quán)重信息,新生成的子代個體只要直接繼承超網(wǎng)絡(luò)中對應(yīng)節(jié)點的權(quán)重就相當(dāng)于繼承了父母的權(quán)重。這種方法加速了種群中個體評估過程。
由于子代直接繼承超網(wǎng)絡(luò)中對應(yīng)節(jié)點的權(quán)重信息并進(jìn)行性能評估選出父代個體,因此超網(wǎng)絡(luò)的預(yù)測性能對子代網(wǎng)絡(luò)的排序精度起著決定性的作用。在超網(wǎng)絡(luò)的搜索空間中,往往有數(shù)以億計的可選擇的網(wǎng)絡(luò)架構(gòu),在這些架構(gòu)中,絕大多數(shù)網(wǎng)絡(luò)性能是很差的。本文的目的并不是獲取每一個子網(wǎng)絡(luò)的絕對精度,而是獲取它們之間的相對排序。由于所有的子網(wǎng)絡(luò)共享一組權(quán)重參數(shù),如果對所有的子網(wǎng)絡(luò)進(jìn)行均等訓(xùn)練,不僅會浪費(fèi)大量的資源,還會加重超網(wǎng)絡(luò)的權(quán)重耦合。基于這一考慮,本文提出了有偏采樣的訓(xùn)練策略。在超網(wǎng)絡(luò)訓(xùn)練過程中,本文在保證算法全局搜索能力的同時,盡可能偏向于訓(xùn)練當(dāng)前表現(xiàn)優(yōu)異的神經(jīng)架構(gòu)。
如圖2 所示,本文采用一個超參數(shù)α,在超網(wǎng)絡(luò)訓(xùn)練過程中隨機(jī)生成一個隨機(jī)數(shù),如果這個隨機(jī)數(shù)大于α,則在當(dāng)前種群中使用二元錦標(biāo)賽選擇法選擇一個子網(wǎng)絡(luò)架構(gòu)進(jìn)行單路徑訓(xùn)練,否則隨機(jī)生成一個子網(wǎng)絡(luò)架構(gòu)對超網(wǎng)絡(luò)進(jìn)行單路徑訓(xùn)練。這種訓(xùn)練方法使得超網(wǎng)絡(luò)在訓(xùn)練過程中更偏向于訓(xùn)練當(dāng)前表現(xiàn)優(yōu)異的網(wǎng)絡(luò)。雖然算法在前期由于超網(wǎng)絡(luò)訓(xùn)練不充分,可能存在不穩(wěn)定的現(xiàn)象,但隨著種群的更新,算法不斷趨向于穩(wěn)定并表現(xiàn)出優(yōu)秀的訓(xùn)練結(jié)果。
圖2 有偏采樣Fig.2 Biased sampling
算法2 給出了基于有偏采樣的超網(wǎng)絡(luò)參數(shù)優(yōu)化算法的偽代碼。
選擇、交叉、變異操作被用來產(chǎn)生子代個體。為了防止算法缺乏多樣性從而導(dǎo)致過早收斂,本文采用二元錦標(biāo)賽選擇法選擇父母個體。具體來說,從種群中隨機(jī)選擇兩個個體,然后選擇出這兩個個體中較優(yōu)的一個個體作為父母的一方,并以同樣的方法選擇出父母的另一方。然后,父母雙方將會經(jīng)歷交叉和變異操作產(chǎn)生新的個體。下面詳細(xì)介紹交叉和變異操作。
2.2.1 交叉操作
本文提出兩種交叉方式:節(jié)點層面的交叉和操作層面的交叉。
對于節(jié)點層面的交叉,新生成個體的每個中間節(jié)點的連接方式由父母雙方中隨機(jī)一方的相對應(yīng)節(jié)點連接的方式?jīng)Q定。圖3(a)給出一個有4 個中間節(jié)點的Cell 在節(jié)點層面交叉的示意圖。子代個體的4 個中間節(jié)點分別由父母1、父母2、父母2、父母1決定。
圖3 交叉操作Fig.3 Cross operation
操作層面的交叉指的是子代個體中每個中間節(jié)點的第一個連接方式由父母一方?jīng)Q定,第二個連接方式由父母另一方?jīng)Q定。操作層面的交叉存在一個問題,例如在圖3(b)中,如果父母2 的第一個中間節(jié)點的兩個前繼節(jié)點分別為0、1 而不是1、0,那么經(jīng)過操作層面的交叉之后,子代個體第一個中間節(jié)點的兩個前繼節(jié)點為1、1 或者0、0,這顯然是不合理的,因此,在遇到這種情況時,本文選擇節(jié)點層面的交叉操作。
2.2.2 變異操作
變異操作可以增加結(jié)構(gòu)的多樣性,從而增強(qiáng)算法的全局探索能力。本文使用了交換和更改兩種變異方式。如圖4(a)所示,交換指的是保持節(jié)點的前繼節(jié)點不變,但是將節(jié)點的兩個前繼節(jié)點所對應(yīng)的操作方式互換。圖4(b)給出了更改操作示意圖,更改指的是在符合編碼規(guī)則的前提下,隨機(jī)更改某個中間節(jié)點的前繼節(jié)點或者對應(yīng)的操作。
圖4 變異操作Fig.4 Variation operation
為驗證基于有偏采樣的連續(xù)進(jìn)化神經(jīng)架構(gòu)搜索方法的性能,本文首先在神經(jīng)架構(gòu)搜索數(shù)據(jù)集NATS-Bench[11]上探索 有偏采 樣閾值α對于超網(wǎng)絡(luò)預(yù)測能力的影響,然后在廣泛使用的CIFAR-10 和CIFAR-100 上驗證OEvNAS 的圖片分類精度并結(jié)合實驗結(jié)果闡述所提算法的優(yōu)越性。
CIFAR-10 和CIFAR-100 是被廣泛使用的圖像分類數(shù)據(jù)集。CIFAR-10 中包含60 000 張32×32 像素的圖片,這些圖片被分為10 類,其中有50 000 張訓(xùn)練圖片和10 000 張測試圖片。CIFAR-100 包含100 類圖片數(shù)據(jù),其中每一類包含500 張訓(xùn)練圖片和100 張驗證圖片。訓(xùn)練圖片被用來訓(xùn)練搜索到的神經(jīng)架構(gòu),驗證圖片被用來驗證搜索的神經(jīng)架構(gòu)的性能。
NATS-Bench 是一個廣泛使用神經(jīng)架構(gòu)搜索數(shù)據(jù)集。該數(shù)據(jù)集包含了15 625 種不同的神經(jīng)網(wǎng)絡(luò)架構(gòu)及其在CIFAR-10、CIFAR-100 和ImageNet16-120上的分類精度。
在神經(jīng)架構(gòu)搜索過程中,首先對超網(wǎng)絡(luò)進(jìn)行少量的預(yù)訓(xùn)練,然后使用演化計算進(jìn)行神經(jīng)架構(gòu)搜索。本文將種群大小設(shè)置為50 并使用有偏采樣策略訓(xùn)練超網(wǎng)絡(luò),訓(xùn)練過程中batchsize 大小設(shè)置為64,初始學(xué)習(xí)率設(shè)置為0.025,并使用余弦退火策略更新學(xué)習(xí)率。將搜索到的最后一代網(wǎng)絡(luò)架構(gòu)中性能排在前三的3 個挑選出來進(jìn)行重訓(xùn)練,并選出綜合性能最優(yōu)的一個神經(jīng)架構(gòu)作為最終的搜索結(jié)果。
在新一代個體生成過程中,使用二元錦標(biāo)賽選擇法選出兩個個體作為父代。兩個父代將以0.5 的概率進(jìn)行節(jié)點層面交叉或者操作層面交叉。將變異率設(shè)置為0.1,變異個體將以0.5 的概率進(jìn)行交換或者更改的變異操作。
本文的所有搜索和重訓(xùn)練過程都是在CUDA11.4 上進(jìn)行的,采用的PyTorch 版本是1.11,采用的顯卡是NVIDIA GeForce GTX 3090。
實驗1有偏采樣策略性能驗證
基于有偏采樣的訓(xùn)練策略不僅減少了超網(wǎng)絡(luò)權(quán)重耦合,同時提高了超網(wǎng)絡(luò)的訓(xùn)練效率。為驗證有偏訓(xùn)練策略的有效性,設(shè)計一組基于NATS-Bench 的實驗。
首先使用提出的基于有偏采樣的連續(xù)神經(jīng)架構(gòu)搜索方法在NATS-Bench 搜索空間上進(jìn)行神經(jīng)架構(gòu)搜索,然后使用NATS-Bench 數(shù)據(jù)集給出的精度對搜索到的架構(gòu)進(jìn)行評估。為了對搜索空間進(jìn)行精簡,實驗過程中刪除了NAS-Bench 中的“none”操作。
從表1 所示的實驗結(jié)果可以看出,OEvNAS 除了在CIFAR-10 數(shù)據(jù)集上取得了第二高平均測試精度外,在其他數(shù)據(jù)集上均取得了最高的平均測試精度和驗證精度(加粗表示)。事實上,在3 次獨(dú)立實驗中,OEvNAS 在CIFAR-10 上所獲得的最高測試精度是94.29%,這仍是所有算法中最高的。
表1 在NATS-Bench 上的分類精度Table 1 Classification accuracy on NATS-Bench %
為驗證有偏采樣閾值α對算法性能的影響,挑選3 次獨(dú)立實驗搜索到的架構(gòu)在CIFAR-10 上的驗證精度進(jìn)行分析。如圖5 所示,對于3 個不同的隨機(jī)數(shù)種子,OEvNAS 都呈現(xiàn)出了隨著α的增加精度先增長后下降的趨勢。在3 次獨(dú)立實驗中,算法有2 次在α=0.4時取得了最優(yōu)的分類精度,有1 次在α=0.6 時取得了最優(yōu)的分類精度。
圖5 α 對分類精度的影響Fig.5 Influence of α on classification accuracy
采用有偏采樣的訓(xùn)練方法使得網(wǎng)絡(luò)在訓(xùn)練過程中更傾向于訓(xùn)練當(dāng)前表現(xiàn)性能優(yōu)越的神經(jīng)架構(gòu)。由于不同的子網(wǎng)絡(luò)是共享超網(wǎng)絡(luò)權(quán)重的,這就導(dǎo)致一個操作的權(quán)重可能被數(shù)以千計的網(wǎng)絡(luò)共用,超網(wǎng)絡(luò)權(quán)重存在著嚴(yán)重的耦合現(xiàn)象。在訓(xùn)練超網(wǎng)絡(luò)的時候,大量表現(xiàn)較差的網(wǎng)絡(luò)可能對超網(wǎng)絡(luò)性能衡量起到負(fù)面的干擾作用。通過引入有偏采樣,本文更傾向于從當(dāng)前種群中選出表現(xiàn)較為優(yōu)異的子網(wǎng)絡(luò)訓(xùn)練超網(wǎng)絡(luò),這樣不僅減少了權(quán)重耦合,同時提高了超網(wǎng)絡(luò)的訓(xùn)練效率。
有偏采樣的引入同時導(dǎo)致了一個問題:超網(wǎng)絡(luò)在訓(xùn)練過程中往往傾向于采樣那些表現(xiàn)性能優(yōu)異的子網(wǎng)絡(luò),導(dǎo)致這些網(wǎng)絡(luò)會受到一些不公平的優(yōu)待,從而減小其他子網(wǎng)的比較優(yōu)勢。隨著演化的進(jìn)行,種群中的個體也是在不停地動態(tài)更新的,有偏采樣雖然會使表現(xiàn)優(yōu)異的個體得到較多的訓(xùn)練,但并不阻止其他個體進(jìn)入種群。如果α值設(shè)置得當(dāng),可以在超網(wǎng)絡(luò)性能和全局搜索能力之間取得平衡。下文實驗結(jié)果將驗證,當(dāng)α值取0.4~0.6 時,搜索得到的網(wǎng)絡(luò)架構(gòu)取得了最佳的分類精度,此時既保證了算法的全局探索能力,同時也使超網(wǎng)絡(luò)達(dá)到了最高的預(yù)測性能。
實驗2算法分類精度驗證
根據(jù)在NATS-Bench 數(shù)據(jù)集上的實驗結(jié)果,將有偏采樣的閾值α設(shè)置為0.4,并在本文設(shè)計的搜索空間上進(jìn)行25 個epoch 的神經(jīng)架構(gòu)搜索。將搜索到的Normal Cell 和Reduction Cell 重復(fù)堆疊成20 層的網(wǎng)絡(luò)后使用隨機(jī)梯度下降法對搜索到的網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)重訓(xùn)練。重訓(xùn)練過程中batchsize 大小設(shè)置為64,初始學(xué)習(xí)率為0.025 并使用余弦退火策略更新學(xué)習(xí)率。為了進(jìn)行數(shù)據(jù)增強(qiáng),防止過擬合,在網(wǎng)絡(luò)重訓(xùn)練的過程中采用Cutout 方法并使用輔助損失策略,Cutout裁剪尺寸為16。
表2 中給出了OEvNAS 在CIFAR-10、CIFAR-100上的分類精度并與近幾年的主流算法進(jìn)行了對比。為驗證本文算法在不同的參數(shù)量要求下都能有優(yōu)異的表現(xiàn)并可減少實驗誤差,本文進(jìn)行多次實驗。OEvNAS-A、OEvNAS-B、OEvNAS-C 所示3 行分別給出了本文算法在不同參數(shù)量下的分類精度表現(xiàn)。從表2 中可以看出,OEvNAS 搜索到的神經(jīng)網(wǎng)絡(luò)架構(gòu)在CIFAR-10 上最高取得了97.67%的分類精度。最重要的是,由于本文在網(wǎng)絡(luò)訓(xùn)練的過程中使用了權(quán)重繼承策略和有偏采樣的權(quán)重訓(xùn)練方法,因此可以在較少的計算資源內(nèi)完成架構(gòu)的搜索。與傳統(tǒng)基于演化計算的神經(jīng)架構(gòu)搜索方法相比,極大地減少了搜索過程中所耗費(fèi)的資源,并且提高了搜索到的神經(jīng)結(jié)構(gòu)的性能。
表2 在CIFAR-10 和CIFAR-100 上的分類精度 Table 2 Classification accuracy on CIFAR-10 and CIFAR-100
本文提出一種基于One-shot 模型的演化神經(jīng)架構(gòu)搜索方法(OEvNAS)。在超網(wǎng)絡(luò)的訓(xùn)練過程中,提出有偏訓(xùn)練策略解決權(quán)重耦合問題?;贑IFAR-10 和CIFAR-100 進(jìn)行實 驗,驗 證OEvNAS 搜索到的神經(jīng)架構(gòu)的分類性能。實驗結(jié)果表明,本文模型在測試數(shù)據(jù)集上取得了較好的分類精度。筆者認(rèn)為現(xiàn)在使用的搜索空間中存在大量的冗余結(jié)構(gòu),更優(yōu)化的搜索空間的設(shè)計可以在提高搜索精度的同時減小算法的計算復(fù)雜度,因此,后續(xù)將致力于改進(jìn)搜索空間的設(shè)計,。