李建明,陳 斌,江志偉,覃 健
(1.中國科學(xué)院成都計(jì)算機(jī)應(yīng)用研究所,成都 610041;2.中國科學(xué)院大學(xué),北京 100049;3.哈爾濱工業(yè)大學(xué)(深圳)國際人工智能研究院,廣東深圳 518055;4.中科院廣州電子技術(shù)有限公司,廣州 510070)
網(wǎng)絡(luò)架構(gòu)是影響卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的重要因素,有些學(xué)者致力于改進(jìn)神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)以提升其性能[1-5]。其中,比較有代表性的網(wǎng)絡(luò)架構(gòu)有:谷歌網(wǎng)絡(luò)(GoogLenet)[2]、殘差網(wǎng)絡(luò)(Residual Network,ResNet)[3]、稠密卷積神經(jīng)網(wǎng)絡(luò)(Dense convolutional Network,DenseNet)[4]、壓縮激活網(wǎng)絡(luò)(Squeeze-and-Excitation Network,SENet)[5]等。雖然這些網(wǎng)絡(luò)架構(gòu)在ImageNet 數(shù)據(jù)集上的表現(xiàn)逐年得到了提升,但其設(shè)計(jì)過程由專家手動實(shí)現(xiàn),需要專家耗費(fèi)大量時間進(jìn)行試錯實(shí)驗(yàn),所以這種方法效率較低。自神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Neural Architecture Search,NAS)[6]被提出以來,越來越多的研究開始采用此類方法,模擬人類專家自動設(shè)計(jì)網(wǎng)絡(luò)架構(gòu),以提升設(shè)計(jì)的效率和架構(gòu)的性能。
按NAS 采用的優(yōu)化方法,目前常用的方法大致可分為三類:基于強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)[6-7]的搜索方法、基于進(jìn)化算法(Evolutionary Algorithm,EA)[8-9]的搜索方法和基于可微分架構(gòu)搜索(Differentiable ARchiTecture Search,DARTS)方法[10]。其中,DARTS 方法在超網(wǎng)絡(luò)端到端的訓(xùn)練中,以基于梯度(gradient-based)的優(yōu)化方式實(shí)現(xiàn)了架構(gòu)搜索,具有計(jì)算資源需求較低、搜索效率高的優(yōu)點(diǎn)[10]。該方法引起了眾多學(xué)者的關(guān)注,并出現(xiàn)了一系列的改進(jìn)方法[11-16]。文獻(xiàn)[11]提出了一種新的可微分神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Differentiable Neural Architecture Search,DNAS)框架,通過逐層構(gòu)建可搜索模塊的方式重新設(shè)計(jì)搜索空間,并引入耿貝爾(Gumbel)采樣建模搜索過程,以得到精度和運(yùn)算效率更高的架構(gòu)。文獻(xiàn)[12]設(shè)計(jì)了5 種不同的搜索空間,以分析DARTS 的退化問題,然后提出了L2 正則化方法以改善該問題。文獻(xiàn)[13]提出了隨機(jī)神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Stochastic Neural Architecture Search,SNAS)算法,通過限制架構(gòu)參數(shù)為獨(dú)熱編碼(one-hot)形式構(gòu)建超網(wǎng)絡(luò),以改善DARTS 因派生cell 的方法而導(dǎo)致超網(wǎng)絡(luò)與派生架構(gòu)出現(xiàn)性能“鴻溝”的問題。文獻(xiàn)[14]提出了公平的可微分網(wǎng)絡(luò)架構(gòu)搜索(Fair-DARTS)方法,采用S 狀彎曲(Sigmoid)函數(shù)替換軟最大(Softmax)函數(shù),使各架構(gòu)參數(shù)能公平地競爭,并設(shè)計(jì)了“零一”損失(zero-one loss)正則化項(xiàng)促使架構(gòu)參數(shù)向0 或1 收斂。盡管以上研究從不同角度分析了DARTS 方法存在的問題,也提出了相應(yīng)改進(jìn),但很少有文獻(xiàn)從搜索空間的角度分析和改進(jìn)DARTS。
針對上述問題,本文提出了優(yōu)化搜索空間下帶約束的可微分神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索算法。首先,以架構(gòu)參數(shù)為量化指標(biāo),本文繪制了各架構(gòu)參數(shù)在DARTS 超網(wǎng)絡(luò)優(yōu)化過程中的變化曲線,結(jié)合其派生策略,指出DARTS 派生架構(gòu)性能欠佳的問題,根源上是由其搜索空間的設(shè)計(jì)導(dǎo)致的,并針對該問題改進(jìn)了搜索空間的設(shè)計(jì)。然后,受文獻(xiàn)[13]啟發(fā),在優(yōu)化搜索空間的基礎(chǔ)上,針對DARTS 因派生策略而導(dǎo)致架構(gòu)決策確定性不足的問題[13],本文將架構(gòu)熵引入DARTS,并將其作為超網(wǎng)絡(luò)待優(yōu)化目標(biāo)函數(shù)的約束項(xiàng),促使超網(wǎng)絡(luò)得到確定性更高、表現(xiàn)更好的架構(gòu)。最后,本文在CIFAR-10 數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),算法搜索環(huán)節(jié)僅耗時8.5 h,算法評測環(huán)節(jié)中,搜得的架構(gòu)在該數(shù)據(jù)集上取得了97.17%的分類準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,本文提出的改進(jìn)方法是有效的,并且提升了搜得網(wǎng)絡(luò)架構(gòu)的表現(xiàn)。
類似于人工設(shè)計(jì)方法中模塊化的設(shè)計(jì)思想,DARTS 以cell 為架構(gòu)搜索的基本單元,并用有向無環(huán)圖表示[10]。該圖包含若干有序結(jié)點(diǎn)和連接結(jié)點(diǎn)的有向邊,其中,結(jié)點(diǎn)表示網(wǎng)絡(luò)的特征圖,有向邊表示結(jié)點(diǎn)間的變換操作。DARTS 定義的cell 共7 個有序結(jié)點(diǎn),分別是2 個輸入結(jié)點(diǎn)(編號k-2、k-1)、4 個中間結(jié)點(diǎn)(編號0、1、2、3)和1 個輸出結(jié)點(diǎn)(output)。其中,各中間結(jié)點(diǎn),每個都通過有向邊與輸入結(jié)點(diǎn)和其前序的中間結(jié)點(diǎn)相連,定義如式(1)所示:
其中:x(j)代表cell 的中間結(jié)點(diǎn),x(i)代表x(j)的前序結(jié)點(diǎn),o(i,j)代表連接x(j)和x(i)的變換操作,i和j代表結(jié)點(diǎn)序號。
DARTS 向cell 中引入了架構(gòu)參數(shù)α,并以堆疊的cell 構(gòu)建超網(wǎng)絡(luò)進(jìn)行端到端的訓(xùn)練,把離散的架構(gòu)搜索問題轉(zhuǎn)化為連續(xù)空間的參數(shù)優(yōu)化問題。該算法主要包含架構(gòu)搜索和架構(gòu)評測兩個環(huán)節(jié)。
在架構(gòu)搜索環(huán)節(jié),cell 中的邊代表的變換操作,是候選操作和架構(gòu)參數(shù)加權(quán)求和的混合操作,其中各架構(gòu)參數(shù)作為對應(yīng)候選操作的權(quán)重。為了使各架構(gòu)參數(shù)具有相同的取值范圍,該算法采用了Softmax 函數(shù)對各架構(gòu)參數(shù)進(jìn)行松弛化操作,把架構(gòu)參數(shù)的值歸一化到(0,1)區(qū)間。經(jīng)Softmax 后,式(1)中的變換操作重寫如下:
其中:o(x)表示候選操作表示松弛化后的變換操作,表示有向邊(i,j)中候選操作o或o′對應(yīng)的架構(gòu)參數(shù),i和j表示結(jié)點(diǎn)序號。O表示候選操作集合,共包含8 個候選操作,分別為3×3/5×5 可分離卷積(sep_conv)、3×3/5×5 空洞 可分離卷積(dil_conv)、3×3平均/最大池化(avg/max_pool)、跳連操作(skip_connect)和無連接(none)。
在架構(gòu)評測環(huán)節(jié),DARTS 先對搜索環(huán)節(jié)得到的cell 進(jìn)行派生,得到簡化的cell。派生過程包含兩步簡化操作,分別為1)候選操作簡化:在有向邊包含的8 個候選操作中,僅保留權(quán)重最大(none 除外)的操作。2)有向邊簡化:經(jīng)候選操作簡化后,在各中間結(jié)點(diǎn)與所前序結(jié)點(diǎn)相連的邊中,僅保留包含權(quán)重top-2 的兩條邊。然后,以簡化的cell 構(gòu)建評測網(wǎng)絡(luò),以評測結(jié)果作為搜得架構(gòu)的評價指標(biāo)。
本章介紹如何從有向邊和超網(wǎng)絡(luò)兩個層面提升DARTS算法的確定性。本文2.1 節(jié)分析了DARTS 算法中搜索空間設(shè)計(jì)導(dǎo)致搜得架構(gòu)性能欠佳的問題,并設(shè)計(jì)了優(yōu)化的搜索空間。2.2 節(jié)分析DARTS 算法超網(wǎng)絡(luò)存在的確定性不足的問題,并針對性地向DARTS 引入架構(gòu)熵作為目標(biāo)函數(shù)的約束項(xiàng)。
根據(jù)DARTS 算法的策略,在搜索環(huán)節(jié),cell 中的每條有向邊代表的變換操作都由式(2)定義。該公式從兩個角度定義了架構(gòu)參數(shù):1)各架構(gòu)參數(shù)作為權(quán)重,衡量了候選架構(gòu)在變換操作中的重要性;2)松弛化架構(gòu)參數(shù),不僅將各架構(gòu)參數(shù)歸一化到(0,1)區(qū)間,還限制了有向邊中各候選操作對應(yīng)的架構(gòu)參數(shù)之和為1。通過該公式的限制,算法的預(yù)期目標(biāo)是,超網(wǎng)絡(luò)優(yōu)化完成后,以架構(gòu)參數(shù)為量化指標(biāo)比較各候選操作的重要性,并保留架構(gòu)參數(shù)最大的候選操作作為最優(yōu)操作。
為了分析上述策略是否達(dá)到預(yù)期目標(biāo),本文以具有代表性的有向邊Edge(k-2,0)(其中,k-2 和0 表示結(jié)點(diǎn)編號)和有向邊Edge(0,1)為例,繪制邊中架構(gòu)參數(shù)隨超網(wǎng)絡(luò)優(yōu)化次數(shù)的變化曲線,如圖1(a)(b)所示。本文發(fā)現(xiàn),所有有向邊中的架構(gòu)參數(shù)主要呈現(xiàn)這兩種變化趨勢:如圖1(a)的變化趨勢,出現(xiàn)在中間各結(jié)點(diǎn)最淺的連接邊(即中間結(jié)點(diǎn)與輸入結(jié)點(diǎn)的連接邊)中;如圖1(b)的變化趨勢,出現(xiàn)在其他所有的較深的邊中。
圖1(a)中,各架構(gòu)參數(shù)取值較為分散,按派生策略步驟1)勝出的候選操作,基本能實(shí)現(xiàn)DARTS 算法以架構(gòu)參數(shù)選優(yōu)的設(shè)計(jì)思想。圖1(b)中,none 操作對應(yīng)的架構(gòu)參數(shù)最大,且具有壓倒性的優(yōu)勢,同時由于所有架構(gòu)參數(shù)之和為1,其他候選操作對應(yīng)的架構(gòu)參數(shù),被壓制在很小的取值范圍內(nèi),且取值區(qū)分很小。根據(jù)DARTS 的派生策略步驟1),none 操作不參與最大權(quán)重評比[10]。該策略造成了在深層邊中,采用以架構(gòu)參數(shù)為量化指標(biāo)確定最優(yōu)候選操作時,對派生無效的none 操作擠壓了其他有效的候選操作,而有效候選操作的對應(yīng)架構(gòu)參數(shù)卻很小。這就不能很好地實(shí)現(xiàn)算法以架構(gòu)參數(shù)選擇最優(yōu)候選操作的設(shè)想。派生策略步驟1)帶來的問題,還進(jìn)一步影響了派生策略步驟2)。在有向邊簡化時,深層邊中保留下來的有效候選操作,對應(yīng)的架構(gòu)參數(shù)取值較小,難以平等地與淺層邊保留的有效候選操作進(jìn)行競爭。因此,該算法最終偏向于淺層連接的cell 架構(gòu)。文獻(xiàn)[17]也發(fā)現(xiàn)了該問題,并指出這類cell 的泛化性欠佳。
圖1 兩種典型的架構(gòu)參數(shù)變化曲線Fig.1 Two typical curves of changing trends of architecture parameters
由以上分析可知,派生時在有向邊中,none 操作不參與評比的策略引入了人為干預(yù),其派生得到的最優(yōu)候選操作,與超網(wǎng)絡(luò)自動確定的最優(yōu)操作并非完全一致。處理該問題最自然的辦法是,在有向邊中簡化候選操作時,平等地對待none 操作與其他操作。但這種處理方式將導(dǎo)致派生cell 中none 操作過多而有效的卷積操作過少,從而造成派生得到的cell 過于簡單,同時其表征能力大幅下降。文獻(xiàn)[10]討論了這種處理方式但未采用。
本文認(rèn)為上述問題的根源,是候選操作集合中包含了對派生無效的none 操作。從DARTS 的派生策略角度看,搜索環(huán)節(jié)定義的cell 引入了none 操作,并最終導(dǎo)致無效的none 操作在派生環(huán)節(jié)占據(jù)了值最大的架構(gòu)參數(shù)。本文在以上實(shí)驗(yàn)和分析的基礎(chǔ)上,設(shè)計(jì)了優(yōu)化的搜索空間,其候選操作集排除了none 操作,僅包含有7 個有效的候選操作。在較淺的邊中,搜索空間優(yōu)化前的架構(gòu)參數(shù)演變趨勢均如圖1(a)所示。在較深的邊中,搜索空間優(yōu)化前后的架構(gòu)參數(shù)演變,分別如圖1(b)(c)所示。搜索空間優(yōu)化前,圖1(b)中的none 操作在該深層邊中具有壓倒性優(yōu)勢,其他各候選操作受到嚴(yán)重的影響,最優(yōu)操作對應(yīng)的架構(gòu)參數(shù)αdil_conv_3×3=0.08。搜索空間優(yōu)化后,圖1(c)中的各候選操作對應(yīng)架構(gòu)參數(shù)的取值較圖1(b)更加分散,且最優(yōu)候選操作的架構(gòu)參數(shù)αdil_conv_3×3=0.24,大于優(yōu)化前。對比可見,仍以架構(gòu)參數(shù)為量化指標(biāo)選擇最優(yōu)候選操作,優(yōu)化后的搜索空間能使有效的候選操作在派生時勝出。在有向邊簡化時,深層邊中勝出的候選操作能在相同的條件下與淺層邊勝出的候選操作公平地比較,更符合搜索算法和派生策略的預(yù)期。
DARTS 方法創(chuàng)造性地把架構(gòu)參數(shù)融入了搜索cell 的定義中,在架構(gòu)搜索環(huán)節(jié),該策略能把離散的架構(gòu)搜索問題轉(zhuǎn)化為連續(xù)參數(shù)空間的參數(shù)優(yōu)化問題。在架構(gòu)評測環(huán)節(jié),這些被優(yōu)化的架構(gòu)參數(shù)需要從連續(xù)空間的表現(xiàn)形式轉(zhuǎn)換為獨(dú)熱編碼(one-hot)的離散表現(xiàn)形式。為此,DARTS 設(shè)計(jì)了對應(yīng)的派生策略。盡管該策略能夠離散化架構(gòu)參數(shù),得到派生的cell,但架構(gòu)參數(shù)在這兩種表現(xiàn)形式上的差異卻未能得到很好的處理。為了量化上述差異,文獻(xiàn)[16]在有向邊層面,將架構(gòu)參數(shù)和熵聯(lián)系起來定義了確定性,以定量地衡量派生的網(wǎng)絡(luò)架構(gòu)是參數(shù)空間中是最優(yōu)架構(gòu)的可能性大小。文獻(xiàn)[16]認(rèn)為,DARTS 在超網(wǎng)絡(luò)的搜索訓(xùn)練完成后,每條邊的架構(gòu)參數(shù)分布仍然擁有相對較高的熵,較高的熵意味著超網(wǎng)絡(luò)對搜索到架構(gòu)的確定性偏低,即派生得到的架構(gòu)是優(yōu)架構(gòu)的可能性偏低。低確定性進(jìn)而造成了超網(wǎng)絡(luò)與派生得到的架構(gòu)在驗(yàn)證集上的表現(xiàn)出現(xiàn)“鴻溝”(gap),即超網(wǎng)絡(luò)在驗(yàn)證集上的準(zhǔn)確率較高,但派生得到的架構(gòu)(未重新訓(xùn)練時)在驗(yàn)證集的準(zhǔn)確率與前者相差很大。在超網(wǎng)絡(luò)的優(yōu)化過程中,如果搜索算法能讓架構(gòu)參數(shù)以最終要輸出的離散形式為目標(biāo),促使架構(gòu)參數(shù)向one-hot 向量的形式演變,則可以降低架構(gòu)熵,提升超網(wǎng)絡(luò)對搜索結(jié)果的確定性,縮小架構(gòu)參數(shù)在連續(xù)和離散兩種形式之間的差異。
文獻(xiàn)[14]提出的0-1 損失函數(shù),就是為了促使架構(gòu)參數(shù)向0 或1 趨近。不同于文獻(xiàn)[14]方法,受文獻(xiàn)[13]啟發(fā),本文按照DARTS 對cell 的定義,把歸一化到(0,1)區(qū)間的架構(gòu)參數(shù),看作對應(yīng)候選操作被超網(wǎng)絡(luò)選為最優(yōu)操作的概率,結(jié)合熵的定義,以所有歸一化的架構(gòu)參數(shù)向量為基礎(chǔ),定義了架構(gòu)熵,如式(3)所示。該指標(biāo)衡量了超網(wǎng)絡(luò)對搜索結(jié)果的確定性,降低架構(gòu)熵可提升超網(wǎng)絡(luò)的確定性。
其中:Lentropy表示架構(gòu)熵,表示歸一化的架構(gòu)參數(shù),(i,j)表示結(jié)點(diǎn)i和結(jié)點(diǎn)j 之間的有向邊。
本文將Lentropy作為約束項(xiàng),引入DARTS 方法的架構(gòu)搜索環(huán)節(jié)的目標(biāo)函數(shù),以減小架構(gòu)參數(shù)兩種形式之間存在的差異,提升超網(wǎng)絡(luò)對搜得架構(gòu)的確定性。超網(wǎng)絡(luò)目標(biāo)函數(shù)的定義,如式(4)所示。
其中:Lval表示驗(yàn)證集損失,w表示候選操作中的卷積核參數(shù),β為平衡Lval和Lentropy的系數(shù)。
如圖2 所示,以式(3)定義的架構(gòu)熵為量化指標(biāo),對比引入約束項(xiàng)前后該值隨超網(wǎng)絡(luò)訓(xùn)練過程的變化曲線??梢?,引入Lentropy后,架構(gòu)熵明顯降低(均采用前文改進(jìn)的搜索空間)。這表明本文提升超網(wǎng)絡(luò)確定性的方法是有效的。
圖2 約束項(xiàng)引入前后的架構(gòu)熵對比Fig.2 Comparison of architecture entropy before and after introducing constraint
本文搜索階段實(shí)驗(yàn)的操作系統(tǒng)為Windows 10,處理器為Intel i7-7800X,GPU 為1*Nvidia GeForce GTX 1080Ti。評測階段實(shí)驗(yàn)操作系統(tǒng)為Ubuntu 16.04,處理器為2*Xeon E5,測試使用的顯卡為2*Nvidia GeForce GTX 1080Ti。編程語言均為Python 3.6,深度學(xué)習(xí)框架均為Pytorch。
本文與相關(guān)研究[10,13-16]保持一致,采用圖像分類數(shù)據(jù)集CIFAR-10 進(jìn)行架構(gòu)搜索和架構(gòu)評測實(shí)驗(yàn)。該數(shù)據(jù)集的訓(xùn)練集含50 000 張分辨率為32×32 的圖像,測試集含10 000 張分辨率為32×32 的圖像,兩者的圖像類別均為10 類。在架構(gòu)搜索環(huán)節(jié),本文沿用DARTS 的超網(wǎng)絡(luò)訓(xùn)練策略[10],把訓(xùn)練集均分為兩個子集,其中一個子集用于訓(xùn)練候選操作,另一個子集用于訓(xùn)練架構(gòu)參數(shù)。在架構(gòu)評測環(huán)節(jié),以簡化的cell 構(gòu)建評測網(wǎng)絡(luò),重新初始化后,在CIFAR-10 的完整訓(xùn)練集上進(jìn)行訓(xùn)練,在測試集上進(jìn)行評測,并以測試準(zhǔn)確率作為搜得架構(gòu)的評價指標(biāo)。
約束項(xiàng)系數(shù)β起到平衡兩個損失項(xiàng)的作用,其值的選擇非常重要。本文設(shè)計(jì)了一組對比實(shí)驗(yàn),以確定適合的取值。實(shí)驗(yàn)中嚴(yán)格控制其他變量,僅分別設(shè)置β=0、0.01、0.1、1。每組實(shí)驗(yàn)重復(fù)4 次完整的架構(gòu)搜索和架構(gòu)評測實(shí)驗(yàn),并計(jì)算4 次評測結(jié)果的平均值,以此作為β的選擇依據(jù)。如表1 所示,當(dāng)β=0.01 時,4 次實(shí)驗(yàn)的平均準(zhǔn)確率最高。因此,本文以β=0.01 進(jìn)行后續(xù)實(shí)驗(yàn)。
表1 CIFAR-10數(shù)據(jù)集上β不同取值時的平均準(zhǔn)確率Tab.1 Average accuracy on CIFAR-10 dataset with different β
在架構(gòu)搜索環(huán)節(jié),本文采用了與DARTS 方法完全一致的超網(wǎng)絡(luò)[10]。該超網(wǎng)絡(luò)初始通道數(shù)為16,共包含8 個cell,其中第3 個和第6 個cell 為起降維作用的reduction cell,其余cell 為起特征提取作用的normal cell。超網(wǎng)絡(luò)優(yōu)化時,本文采用DARTS 算法的一階近似優(yōu)化策略。超網(wǎng)絡(luò)訓(xùn)練共50 個周期,數(shù)據(jù)批大小為64。優(yōu)化候選操作的卷積核參數(shù)w時,采用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)算法,初始學(xué)習(xí)率lrw=0.025,動量momentum=0.9,權(quán)重衰減系數(shù)為3×10-4。優(yōu)化架構(gòu)參數(shù)α?xí)r,采用自適應(yīng)動量估計(jì)(Adaptive moment estimation,Adam)算法,初始學(xué)習(xí)率lrα=3×10-4,權(quán)重衰減系數(shù)為10-4。
在以上實(shí)驗(yàn)設(shè)置下,本文搜索的架構(gòu)如圖3 所示。
圖3 CIFAR-10數(shù)據(jù)集上搜索到的cellsFig.3 Searched cells on CIFAR-10 dataset
與DARTS 方法搜得的cell[10]相比,本文搜得的cell 擁有層數(shù)更多,結(jié)構(gòu)更深。在2.1 節(jié)中,本文分析了DARTS 搜得cell 較淺的原因,該實(shí)驗(yàn)結(jié)果印證了相關(guān)的分析。采用與DARTS 相同的設(shè)置[10],本文以cell 數(shù)量d=20 構(gòu)建評測網(wǎng)絡(luò)。在CIFAR-10 上的評測結(jié)果,以及與相關(guān)方法所得架構(gòu)在該數(shù)據(jù)集分類準(zhǔn)確率的對比,如表2 所示。
表2 與相關(guān)方法在CIFAR-10數(shù)據(jù)集上的準(zhǔn)確率對比Tab.2 Accuracy comparison with related methods on CIFAR-10 dataset
對比方法中,NASNet-A(由谷歌大腦的研究人員提出并命名)來源于文獻(xiàn)[7],魯棒的可微分架構(gòu)搜索(Robust Differentiable ARchiTecture Search,R-DARTS)來源于文獻(xiàn)[12],漸近的可微分架構(gòu)搜索(Progressive Differentiable ARchiTecture Search,P-DARTS)來源于文獻(xiàn)[15],高效的神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(Efficient Neural Architecture Search,ENAS)來源于文獻(xiàn)[18],使用可微分架構(gòu)采樣的基于梯度的搜索方法(Gradient-based searching approach using Differentiable Architecture Sampling,GDAS)來源于文獻(xiàn)[19]。表中參數(shù)量的單位為M,表示106。
由表2,本文構(gòu)建的評測網(wǎng)絡(luò)在CIFAR-10 上,測試準(zhǔn)確率為97.17%。與DARTS 采用相同的一階近似優(yōu)化策略(DARTS_V1),本文在DARTS 的基礎(chǔ)上提升了0.17 個百分點(diǎn)。同時,本文架構(gòu)的測試準(zhǔn)確率還高于ENAS 和SNAS。對比各方法的搜索時間,本文的架構(gòu)搜索時間與P-DARTS相近,具有較高的搜索效率。綜上,本文提出的方法是有效的,通過提升搜索算法對架構(gòu)的確定性,既提升了DARTS 算法的架構(gòu)搜索效率,還搜索到了性能更好的架構(gòu)。
本文從搜索空間設(shè)計(jì)和超網(wǎng)絡(luò)目標(biāo)函數(shù)兩個方面分析了DARTS 算法存在的問題,針對性地設(shè)計(jì)了優(yōu)化的搜索空間,并引入了架構(gòu)熵作為超網(wǎng)絡(luò)目標(biāo)函數(shù)的約束項(xiàng)。優(yōu)化的搜索空間有效地避免了none 操作擠壓其他候選操作的問題,同時精簡的搜索空間還提升了架構(gòu)搜索效率。引入架構(gòu)熵,促使超網(wǎng)絡(luò)以派生架構(gòu)的形態(tài)為目標(biāo)進(jìn)行架構(gòu)搜索,最終搜得的架構(gòu)在CIFAR-10 上取得了更高的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,本文所提方法是有效的,提升了搜索環(huán)節(jié)對搜得架構(gòu)的確定性。搜索空間是NAS 的基礎(chǔ),本文認(rèn)為未來工作可關(guān)注如何設(shè)計(jì)更具表現(xiàn)力的搜索空間。