




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第18章自動機器學習18.1自動機器學習基礎18.2數(shù)據(jù)準備18.3模型生成18.4模型評估18.5經(jīng)典NAS算法本章小結
18.1自動機器學習基礎
18.1.1初識自動機器學習目前成功的機器學習應用遠非完全自動化,而大多通過經(jīng)驗自動改進,其模型是由專家通過反復試驗設計的,這意味著即使是專家也需要大量資源和時間才能構建性能良好的模型。為了減少龐大的開發(fā)成本,研究人員提出了實現(xiàn)整個機器學習流程自動化的想法,即自動機器學習(AutoML)。
自動機器學習是自動化和機器學習的交集,是兩個領域相互作用的產物。
1.定義1(ML)
機器學習(ML)是由E、T和P指定的一種計算機程序。
從這個定義中我們可以看到,AutoML本身也是一個在輸入數(shù)據(jù)(即E)和給定任務(即T)上具有良好泛化性能(即P)的計算機程序。然而,傳統(tǒng)的機器學習研究多集中在學習方法的發(fā)明和分析上,而不關心這些方法的配置是否容易。比如,最近的研究趨勢是從簡單模型到深度模型,這些模型可以提供更好的性能,但也很難配置。相反,AutoML強調如何使用和控制簡單的學習方法。
2.定義2(AutoML)
自動化機器學習(AutoML)試圖在有限的計算預算范圍內代替人類來識別適合機器學習的計算機程序(由定義1中的E、T和P指定)的(部分或全部)配置。
從上面的討論中我們可以看到,盡管需要良好的學習性能,但AutoML要求以自動方式獲得這種性能。
這就設置了AutoML的三個主要目標:
(1)良好的性能:可以在各種輸入數(shù)據(jù)和學習任務上實現(xiàn)良好的泛化性能;
(2)減少人工參與:可以自動完成機器學習方法的配置;
(3)高計算效率:該程序可以在有限的預算內返回合理的輸出。
18.1.2自動機器學習的構成
完整的AutoML系統(tǒng)可以動態(tài)組合各種技術,以形成易于使用的端到端ML流程體系(如圖18.1所示)。圖18.1AutoML流程概述
AutoML流程包含多個過程:數(shù)據(jù)準備、特征工程、模型生成和模型評估。模型生成可以進一步分為搜索空間和優(yōu)化方法。搜索空間定義了ML模型的設計原理。該原理可以分
為兩類:傳統(tǒng)ML模型(如SVM和KNN)和神經(jīng)體系結構。優(yōu)化方法分為超參數(shù)優(yōu)化(HPO)和架構優(yōu)化(AO),其中前者指與訓練相關的參數(shù)(如學習率和批量大小),而后者
指與模型相關的參數(shù)(如神經(jīng)架構的層數(shù)和KNN的近鄰數(shù))。NAS由三個重要模塊組成:神經(jīng)體系結構的搜索空間、AO方法和模型評估方法。NAS的目的是通過從預定義的搜索空間中選擇和組合不同的基本操作來搜索具有魯棒性且性能良好的神經(jīng)體系結構。
18.2數(shù)據(jù)準備
ML管道化的第一步是數(shù)據(jù)準備。圖18.2展示了數(shù)據(jù)準備流程。由圖18.2可以看出,應從三個方面概括數(shù)據(jù)準備工作:數(shù)據(jù)收集、數(shù)據(jù)清理和數(shù)據(jù)增強。數(shù)據(jù)收集是構建新數(shù)據(jù)集或擴展現(xiàn)有數(shù)據(jù)集的必要步驟。數(shù)據(jù)清理過程用于過濾嘈雜的數(shù)據(jù),因此不會影響后續(xù)模型訓練。數(shù)據(jù)增強在增強模型魯棒性和改善模型性能方面起著重要作用。圖18.2數(shù)據(jù)準備流程圖
18.2.1數(shù)據(jù)收集
目前,ML的深入研究已達成共識,即必須有良好的數(shù)據(jù)。因此出現(xiàn)了許多開放數(shù)據(jù)集。在ML研究的早期開發(fā)了手寫數(shù)字數(shù)據(jù)集,即MNIST。之后還開發(fā)了一些更大的數(shù)據(jù)集,如CIFAR-10、CIFAR-100和ImageNet。
然而對于某些特定的任務(如與醫(yī)療或其他私人事務相關的任務),通過上述方法找到一個合適的數(shù)據(jù)集通常是很困難的。針對這一問題,提出了兩種方法:數(shù)據(jù)搜索(Data
Searching)和數(shù)據(jù)合成(DataSynthesis)。
數(shù)據(jù)搜索是指基于互聯(lián)網(wǎng)通過搜索網(wǎng)絡數(shù)據(jù)直接收集數(shù)據(jù)集。在此過程中需要過濾不相關的數(shù)據(jù)。數(shù)據(jù)合成可以使用盡可能與真實世界匹配的數(shù)據(jù)模擬器,或者使用生成對抗
網(wǎng)絡(GenerativeAdversarialNetworks,GAN)來合成數(shù)據(jù)。
18.2.2數(shù)據(jù)清理
收集的數(shù)據(jù)中不可避免地會有噪聲,噪聲會對模型的訓練產生負面影響。因此,如有必要,則必須執(zhí)行數(shù)據(jù)清理這一過程。傳統(tǒng)上,數(shù)據(jù)清理需要專業(yè)知識,但接觸專家的機會
有限,而且費用高昂。因此,數(shù)據(jù)清理的工作正從眾包(Crowdsourcing)轉向自動化。傳統(tǒng)的數(shù)據(jù)清理方法適用于固定數(shù)據(jù)集。但是,現(xiàn)實世界中每天都會產生大量數(shù)據(jù)。換句話說,如何在連續(xù)過程中清理數(shù)據(jù)成為值得研究的問題,對于企業(yè)而言更是如此。
18.2.3數(shù)據(jù)增強
在某種程度上,數(shù)據(jù)增強(DataAugmentation,DA)也可以被視為數(shù)據(jù)收集的工具,因為它可以基于現(xiàn)有數(shù)據(jù)生成新數(shù)據(jù)。此外,DA也作為一種正則化函數(shù)來避免模型訓練的
過度擬合而受到越來越多的關注
對于圖像數(shù)據(jù),仿射變換包括旋轉、縮放、隨機裁剪和反射;彈性變換包含對比偏移、亮度偏移、模糊和通道混洗等操作;高級變換包括隨機擦除、圖像融合、剪切和混合等。基于神經(jīng)的變換可以分為三類:對抗性噪聲、神經(jīng)式變換和GAN技術。對于文本數(shù)據(jù),可以通過同義詞插入或先將文本翻譯成外文,再將其翻譯回原始語言來擴充。
上述增強技術仍然需要人工選擇增強操作,然后針對特定任務形成特定的DA策略,這需要大量的專業(yè)知識和時間。最近研究人員提出了許多方法來搜索不同任務的增強策略。AutoAugment是一項開創(chuàng)性的工作,它通過使用強化學習來自動搜索最佳DA策略。但是AutoAugment的效率不高,因為一次增強搜索將花費近500個GPU小時。為了提高搜索效率,研究人員隨后使用不同的搜索策略提出了許多改進的算法,如基于梯度下降的方法、基于貝葉斯優(yōu)化的方法、在線超參數(shù)學習(OnlineHyper-ParameterLearning)的方法、基于貪婪搜索和隨機搜索的方法等。
18.3模型生成
一旦獲得特征,我們就需要找到一個模型來預測標簽。模型生成包含兩個部分:選取一些分類器,設置相應的超參數(shù)。在這個AutoML設置中,任務是自動選擇分類器并設置其超參數(shù),以獲得良好的學習性能。
18.3.1傳統(tǒng)模型
前述章節(jié)中已經(jīng)提出了許多分類方法,如樹分類器、線性分類器、核函數(shù)等。每種分類器在使用數(shù)據(jù)建模時都有自己的優(yōu)缺點。表18.1列出了在Scikit-Learn中實現(xiàn)的一些現(xiàn)成
的分類器。由表18.1可以看出,每個分類器都具有不同的超參數(shù)。傳統(tǒng)上來說,不同分類器及其超參數(shù)的選擇通常是根據(jù)自己的經(jīng)驗以試錯的方式來決定的。一般來說,超參數(shù)可以是離散的,如KNN中的近鄰數(shù),也可以是連續(xù)的,如logistic回歸中的懲罰值。
18.3.2NAS
NAS目標是搜索適合學習問題的良好的深度網(wǎng)絡體系結構,其特點主要有三個:首先,NAS本身是當前具有良好前景的研究課題,目前已有諸多論文發(fā)表;第二,深度網(wǎng)絡的應用領域相對清晰,即從低語義水平的數(shù)據(jù)(如圖像像素)中學習;最后,由于應用領域是明確的,因此特定領域的網(wǎng)絡體系結構可以滿足其學習目的,其中特征工程和模型選擇均由NAS完成。
圖18.3給出了NAS流程,它分為以下三個方面:搜索空間、架構優(yōu)化(AO)和模型評估。圖18.3NAS流程
神經(jīng)結構可以表示為有向無環(huán)圖DirectAcyclicGraph,DAG),它由有序節(jié)點Z和連接節(jié)點對的邊組成,其中每個節(jié)點表示張量z,每條邊表示從一組候選操作集合O中選擇的操作集合o。每個節(jié)點的入度數(shù)隨搜索空間的設計而變化。由于計算資源的限制,為入度設置了最大閾值N。這里我們假設節(jié)點的索引從1開始,給出節(jié)點k處的計算公式:
1.整體結構的搜索空間
整體結構神經(jīng)網(wǎng)絡的空間是最直觀的搜索空間之一。圖18.4展示了整體結構模型的兩個簡化示例。這些模型是通過堆疊預定數(shù)量的節(jié)點而構建的,其中每個節(jié)點代表一個層并
具有指定的操作。最簡單的結構是圖18.4(a)所示的模型,而圖18.4(b)所示的模型則相對復雜,因為它允許有序節(jié)點之間存在任意跳躍連接,并且這些連接在實踐中已被證明是有
效的。盡管整個結構易于實現(xiàn),但它有幾個缺點。例如,模型越深,泛化能力越好,但是尋找這樣一個深層網(wǎng)絡過程煩瑣且計算量大。此外,所生成的架構缺乏可移植性,即在小型數(shù)據(jù)集上生成的模型可能不適合較大的數(shù)據(jù)集,需要為較大的數(shù)據(jù)集生成新模型。圖18.4整體結構模型的兩個簡化示例
2.基于單元的搜索空間
為了使生成的模型具有可移植性,許多文獻提出了基于單元的搜索空間,其中神經(jīng)結構由固定數(shù)量的重復單元結構組成。這種設計方法基于以下觀察:許多性能良好的人工設
計的模型也是通過堆疊固定數(shù)量的模塊來構建的。ResNet系列通過堆疊更多瓶頸模塊來構建許多變體,如ResNet50、ResNet101和ResNet152。這個重復的模塊被稱為單元。
圖18.5(a)提供了一個基于單元的神經(jīng)網(wǎng)絡的示例。該網(wǎng)絡由兩種單元組成,即標準單元和還原單元。因此,搜索完整的神經(jīng)體系結構的問題就簡化為在基于單元的搜索空間中搜索最佳單元結構。大多數(shù)工作的內部單元結構的設計范例參考了Zoph等人的工作成果NASNet),這是最早提出的基于單元的搜索空間的探索。圖18.5(b)顯示了標準單元結構的示例。圖18.5一個基于單元的神經(jīng)網(wǎng)絡的示例與一個標準單元結構的示例
搜索單元結構比搜索整體結構更有效。為了說明這一點,假設有M個預定義的候選操作,整體結構和基于單元的結構的層數(shù)均為L,單元中的塊數(shù)為B,那么,可能的整體結構數(shù)為
可能的像元數(shù)為[MB×(B+2)!]4,但是有兩種單元(即標準單元和還原單元),因此基于單元的搜索空間的最終大小為
顯然,搜索整體結構的復雜度隨層數(shù)成倍增長。
值得注意的是,基于單元的搜索空間的NAS方法通常包括兩個階段:搜索和評估。具體而言,首先選擇搜索階段中表現(xiàn)最佳的模型,然后在評估階段對該模型進行從頭訓練或微調。但是,兩個階段之間的模型深度存在很大的差距。如圖18.6(a)所示,對于DARTS(見18.5.3節(jié)),在搜索階段生成的模型僅由8個單元組成,以減少GPU內存的消耗,而在評估階段,單元數(shù)量擴展到20個。搜索階段為淺層模型找到了最佳的單元結構,但這并不意味著它在評估階段仍適合深層模型。換句話說,簡單地添加更多的單元可能會損害模型性能。
為了彌合這一差距,Chen等人提出了一種基于DARTS的改進方法,即漸進DARTS(Progressive-DARTS,P-DARTS),該方法將搜索階段分為多個階段,并在每個階段結束時逐漸增加搜索網(wǎng)絡的深度,從而縮小了搜索和評估之間的差距。但是,在搜索階段增加單元數(shù)可能會帶來較大的計算開銷。因此,為了減少計算量,P-DARTS通過搜索空間近似方法將候選操作的數(shù)量從5逐漸減少到3和2,如圖18.6所示。實驗結果顯示,P-DARTS在CIFAR-10的測試數(shù)據(jù)集上獲得了2.50%的錯誤率,優(yōu)于DARTS的2.83%的錯誤率。圖18.6DARTS和P-DARTS之間的差異
3.層級搜索空間
基于單元的搜索空間使生成的模型具有可移植性,大多數(shù)基于單元的方法遵循兩級層級結構:內部是單元級,為單元中的每個節(jié)點選擇操作和連接;外部是網(wǎng)絡級,控制著空間
分辨率的變化。然而,這些方法只關注單元層,而忽略了網(wǎng)絡層。如圖18.5所示,每當固定數(shù)量的標準單元格被堆疊時,添加一個還原單元,特征圖的空間維度將減半。
為了共同學
習可重復單元和網(wǎng)絡結構的良好結合,Liu等人定義了網(wǎng)絡級架構的一般表述,如圖18.7所示(圖18.7中,開頭的三個空心圓點表示固定的“干”結構,每個實心圓點是一個單元結構,
箭頭表示最終選擇的網(wǎng)絡級結構)。從圖18.7中可以復制許多現(xiàn)有的良好網(wǎng)絡設計。通過這種方式,我們可以充分探索網(wǎng)絡中不同數(shù)量的通道以及每個圖層的特征圖的大小。圖18.7網(wǎng)絡級搜索空間
在單元級別,單元中的塊數(shù)(B)仍然是手動預定義的,并且在搜索階段是固定的。換句話說,B是一個新的超參數(shù),它需要通過人工輸入進行調整。為了解決這個問題,Liu等人提出了一種新穎的分層遺傳表示體系(HierarchicalGeneticRepresentationScheme),通過迭代合并低層單元來生成高層單元。如圖18.8所示,圖18.8三級層級結構表示形式的示例
對于HierNAS和PNAS,一旦搜索到一個單元結構,就會在網(wǎng)絡的所有層中使用,這會限制層級的多樣性。此外,許多搜索到的單元結構是復雜且分散的,這不利于實現(xiàn)高精度和低延遲。為了緩解這兩個問題,Tan等人提出了MnasNet,它使用新穎的分解層級搜索(FactorizedHierarchicalSearch,FHS)空間為最終網(wǎng)絡的不同層級生成不同的單元結構,即MBConv。圖18.9展示了MnasNet的分解層級搜索空間。圖18.9MnasNet的分解層次搜索空間
4.基于形態(tài)的搜索空間
Chen等人提出了Net2Net技術,通過在神經(jīng)網(wǎng)絡層之間插入本征形態(tài)變換,在現(xiàn)有網(wǎng)絡的基礎上設計新的神經(jīng)網(wǎng)絡。IdMorph變換是功能可保持的,有兩種類型:深度IdMorph變換和寬度IdMorph變換。IdMorph變換使得用更深或更寬的等效模型替換原始模型成為可能。
具體而言,與Net2Net相比,網(wǎng)絡變形具有以下優(yōu)點:
①它可以嵌入非本征(NonIdentity)層并處理任意非線性激活函數(shù);
②它可以在單個操作中同時執(zhí)行深度、寬度和內核大小變形,而Net2Net只能分別考慮深度和寬度的變化。
實驗結果表明,網(wǎng)絡變形可以極大地加速訓練過程,其訓練時間僅為原來的VGG16的1/15,并取得了更好的效果。
18.3.3模型優(yōu)化
機器學習的最后步驟模型評估是最耗時的步驟,通常需要進行優(yōu)化。對于經(jīng)典學習模型,優(yōu)化不是問題,因為它們通常采用凸損失函數(shù),并且從各種優(yōu)化算法中得到的性能幾乎相同。因此,效率是選擇優(yōu)化算法的重點。
但是,隨著學習方法變得越來越復雜,如從SVM到深度網(wǎng)絡,優(yōu)化不僅是計算預算的主要消耗者,對學習性能也有很大的影響。因此,算法選擇的目標是自動找到優(yōu)化算法,使效率
和性能達到平衡。在本節(jié)中,我們討論優(yōu)化器的基本技術。
這里有三個重要問題:
(1)優(yōu)化器可以在哪種搜索空間上運行?
(2)需要什么樣的反饋?
(3)在找到一個好的配置之前,需要生成/更新多少個配置?
1.架構優(yōu)化
定義搜索空間后,我們需要搜索性能最佳的體系結構,這個過程稱為體系結構優(yōu)化(ArchitectureOptimization,AO)。傳統(tǒng)上,神經(jīng)網(wǎng)絡的體系結構被視為一組靜態(tài)超參數(shù),這些超參數(shù)是根據(jù)在驗證集上觀察到的性能進行調整的。但是,此過程高度依賴人類專家,并且需要大量時間和資源進行反復試驗。因此,研究人員提出了許多AO方法,以使人們擺脫煩瑣的過程,并自動搜索新穎的體系結構。
1)進化算法
進化算法(EA)是一種通用的基于種群的元啟發(fā)式優(yōu)化算法(MetaheuristicOptimizationAlgorithm,MOA),它從生物學進化中汲取了靈感。與窮舉法等傳統(tǒng)優(yōu)化算法相比,進化算法是一種成熟的全局優(yōu)化方法,具有較高的魯棒性和廣泛的適用性。它可以有效地解決傳統(tǒng)優(yōu)化算法難以解決的復雜問題,而不受問題性質的限制。
如圖18.10所示,典型的進化算法包括以下四個步驟:
(1)選擇。
(2)交叉。
(3)突變。
(4)更新。圖18.10進化算法的步驟
2)強化學習
Zoph等人最早將強化學習(ReinforcementLearning,RL)用于神經(jīng)結構搜索的研究。圖18.11概述了基于RL的NAS算法。代理通常是遞歸神經(jīng)網(wǎng)絡(RNN),在每個步驟t執(zhí)行操作At,從搜索空間中采樣新架構,以接收狀態(tài)St的觀測值以及來自環(huán)境的獎勵Rt來更新代理的采樣策略。環(huán)境是指使用標準的神經(jīng)網(wǎng)絡訓練程序來訓練和評估代理生成的網(wǎng)絡,然后返回相應的結果(如準確性)。圖18.11基于RL的NAS算法
3)梯度下降
前面的搜索策略是從一個離散的搜索空間中采樣神經(jīng)體系結構。以前神經(jīng)網(wǎng)絡架構的主流搜索方法是強化學習和進化學習。它們的搜索空間都是不可微的,DARTS提出了一種可微的方法,可以用梯度下降來解決架構搜索的問題,所以在搜索效率上比之前不可微的方法快幾個數(shù)量級。可以這樣通俗地理解:DARTS對之前不可微的方法定義了一個搜索空間,神經(jīng)網(wǎng)絡的每一層可以從搜索空間中選一種構成一個神經(jīng)網(wǎng)絡,運行該神經(jīng)網(wǎng)絡的訓練結果,不斷測試其他神經(jīng)網(wǎng)絡組合。這種方法從本質上來說是從很多組合中盡快搜索到效果很好的一種。但是這個過程是黑盒,需要大量的驗證過程,所以需要較高的時間代價。
DARTS作為一個開創(chuàng)性的算法,提出通過使用softmax函數(shù)放寬離散空間,在連續(xù)和可微的搜索空間上搜索神經(jīng)體系結構。它把搜索空間連續(xù)松弛化,將每個操作邊看成所有子操作的混合(softmax權值疊加),聯(lián)合優(yōu)化,更新子操作混合概率上的邊超參(即架構搜索任務)和與架構無關的網(wǎng)絡參數(shù)。在聯(lián)合優(yōu)化過程中將梯度下降應用于單步優(yōu)化參數(shù)權重,加快搜索網(wǎng)絡收斂,再用優(yōu)化后的參數(shù)權重求解操作權重。該方法開創(chuàng)性地用梯度下降來解決架構搜索的問題,在使效率快了幾個數(shù)量級的同時取得了良好的搜索效果。
4)基于代理模型的優(yōu)化
另一種體系結構優(yōu)化方法是基于代理模型的優(yōu)化(SurrogateModel-BasedOptimization,SMBO)算法。SMBO的核心在于:它通過反復記錄過去的評估結果來建立
目標函數(shù)的代理模型,并使用代理模型來預測最有前途的體系結構。這類方法可以大大縮短搜索時間,從而提高效率。
基于代理模型的優(yōu)化算法可大致分為貝葉斯優(yōu)化方法(包括高斯過程(GaussianProcess,GP)、隨機森林(RandomForests,RF)、樹狀結構Parzen估計方法(Tree-structuredParzenEstimator,TPE))和神經(jīng)網(wǎng)絡。
貝葉斯優(yōu)化(BO)是超參數(shù)優(yōu)化最流行和最完善的方法之一。最近,許多后續(xù)工作努力將這些SOTABO方法應用于架構優(yōu)化。例如,在一些研究中將生成的神經(jīng)體系結構的驗
證結果建模為高斯過程,指導尋找最佳的神經(jīng)體系結構。但是基于GP的貝葉斯優(yōu)化方法的缺點在于:推理時間隨著樣本數(shù)量以三次方縮減,并且不善于處理可變長度神經(jīng)網(wǎng)絡。
Camero等人提出了三種固定長度編碼方案,通過采用隨機森林作為代理模型來解決可變長度問題。
5)網(wǎng)格搜索和隨機搜索
網(wǎng)格搜索(GS)和隨機搜索(RS)都是簡單的優(yōu)化方法,并且已應用于多項NAS研究。例如,在MnasNet中,單元和塊的數(shù)量是手動預定義的。其中,Ncell×Nblocks是搜索的塊結
構。顯然,Ncell×Nblocks設置得越大,搜索的空間越大,需要的資源就越多。對SOTANAS方法和隨機搜索進行有效性比較,結果表明,隨機搜索是具有競爭力的NAS的基礎。具體來說,具有提前停止策略的隨機搜索的性能與ENAS的相,ENAS是基于強化學習的經(jīng)典NAS方法。
6)混合優(yōu)化方法
上述架構優(yōu)化方法各有優(yōu)缺點。進化算法是一種成熟的全局優(yōu)化方法,具有很強的魯棒性。然而,進化算法需要大量的計算資源,其進化操作(如交叉和突變)是隨機進行的。雖
然基于RL的方法(如ENAS)可以學習復雜的體系結構模式,但是RL-agent的搜索效率和穩(wěn)定性并不能得到保證,因為RL-agent需要嘗試大量的動作來獲得積極的回報。基于梯度
下降的方法(如DARTS)通過將分類候選操作放寬為連續(xù)變量,大大提高了搜索效率。然而,本質上,它們都是從超級網(wǎng)絡中尋找子網(wǎng)絡,這限制了神經(jīng)結構的多樣性。因此,一些科研人員提出結合不同的優(yōu)化方法來獲取它們的最佳結構。
(1)EA+RL。Chen等人將強化突變整合到進化算法中,避免了進化的隨機性,提高了搜索效率。另一個并行開發(fā)的類似方法是進化神經(jīng)混合代理(Evolutionary-Neuralhybrid
Agents,Evo-NAS),它同時吸收了基于強化學習的方法和進化算法的優(yōu)點。Evo-NAS代理的變異由RL訓練的神經(jīng)網(wǎng)絡指導,可以有效地探索廣闊的搜索空間并有效采樣網(wǎng)絡結構。
(2)EA+GD。最具代表性的是Yang等人結合進化算法和基于梯度下降的方法的改良算法。該算法在一個超級網(wǎng)絡中共享參數(shù),并在某些訓練代數(shù)內對訓練集進行調整。然后種群和超級網(wǎng)絡直接遺傳給下一代,大大加速了進化過程。
(3)EA+SMBO。Sun等人使用隨機森林作為替代指標來預測模型性能,從而加快了進化算法的適應性評估。
(4)GD+SMBO。與DARTS不同(DARTS學習候選操作的權重),Nao提出了一種變分自動編碼器來生成神經(jīng)體系結構,并進一步構建回歸模型作為替代方案來預測所生成體系結構的性能。具體來說,編碼器將神經(jīng)體系結構的表示映射到連續(xù)空間,然后預測器網(wǎng)絡將神經(jīng)體系結構的連續(xù)表示作為輸入并預測相應的準確性。最后,解碼器用于從連續(xù)的網(wǎng)絡表示中得出最終的體系結構。
2.超參數(shù)優(yōu)化
常用的超參數(shù)優(yōu)化方法包括網(wǎng)格搜索、隨機搜索、貝葉斯優(yōu)化、基于梯度的優(yōu)化、進化優(yōu)化和基于總體的優(yōu)化。
1)網(wǎng)格搜索和隨機搜索
圖18.12顯示了網(wǎng)格搜索(GridSearch,GS)和隨機搜索(RandomSearch,RS)之間的區(qū)別:GS將搜索空間劃分為固定的間隔,并在評估所有點后選擇性能最佳的點;RS從隨機繪制的一組點中選擇最佳點。圖18.12優(yōu)化二維空間函數(shù)f(x,y)=g(x)+h(y)≈g(x)的9個試驗中的網(wǎng)格搜索和隨機搜索
2)貝葉斯優(yōu)化
貝葉斯優(yōu)化(BayesianOptimization,BO)是對求解代價昂貴的黑盒函數(shù)進行全局優(yōu)化的有效方法。
BO是基于代理模型的優(yōu)化(SMBO)方法,該方法建立了從超參數(shù)到在驗證集上評估的客觀指標的概率模型映射。它很好地平衡了探索(評估盡可能多的超參數(shù)集)和開發(fā)(將更多資源分配給那些有前途的超參數(shù))之間的平衡。
SMBO算法提出在初始時需要預定義幾個輸入,包括評估函數(shù)f、搜索空間Θ、獲取函數(shù)S、概率模型M和記錄數(shù)據(jù)集D。具體來說,D是記錄了許多樣本對(θi,yi)的數(shù)據(jù)集,其中θi∈Θ表示采樣的神經(jīng)體系結構,yi是采樣的神經(jīng)體系結構的評估結果。初始化后,SMBO的步驟如下:
(1)調整概率模型M以適應記錄數(shù)據(jù)集D。
(2)利用獲取函數(shù)S從概率模型M中選擇下一個有前途的神經(jīng)網(wǎng)絡結構。
(3)所選神經(jīng)結構的性能將由f來評估,這是一個昂貴的步驟,因為它要求在訓練集上訓練神經(jīng)網(wǎng)絡并在驗證集上對其進行評估。
(4)通過添加一對新的結果(θi,yi)來更新記錄數(shù)據(jù)集D。
3)基于梯度的優(yōu)化
另一種HPO方法是基于梯度的優(yōu)化(Gradient-basedOptimization,GO)算法。與上述黑盒HPO方法(如GS、RS和BO)不同,GO算法使用梯度信息優(yōu)化超參數(shù),大大提高了HPO的效率。Maclaurin等人提出了一種可逆動態(tài)存儲方法,通過梯度信息有效地處理了數(shù)千個超參數(shù)。但是,優(yōu)化過多的超參數(shù)在計算上具有挑戰(zhàn)性。
18.4模型評估
一旦生成了新的神經(jīng)網(wǎng)絡,就必須對其性能進行評估。一種直觀的方法是訓練網(wǎng)絡使其收斂,然后評估其性能。但是,此方法需要大量時間和計算資源。目前研究人員已經(jīng)提出了幾種加速模型評估過程的算法。
18.4.1低保真
由于模型訓練時間與數(shù)據(jù)集和模型的大小、高度相關,因此可以以不同方式加速模型評估。首先,可以減少圖像的數(shù)量或圖像的分辨率(就圖像分類任務而言)。例如,FABOLAS在訓練集的一個子集上訓練模型,以加速模型估計。在T.Mitchell所著論著中提供了ImageNet64×64及其變體32×32、16×16,而這些較低分辨率的數(shù)據(jù)集可以保留與原始ImageNet數(shù)據(jù)集相似的特征。其次,可以通過減小模型來實現(xiàn)低保真模型評估,如通過每層使用較少的濾波器進行訓練。此外,Zela等人從經(jīng)驗上證明,在短時間或長時間的訓練后,性能之間的相關性很弱,因此證實了無須長時間搜索網(wǎng)絡配置。
18.4.2權重共享
一旦一個網(wǎng)絡被評估,它就會被舍棄。因此,權重共享技術被用來加速NAS的進程。例如,Wong和Lu等人提出了遷移神經(jīng)自動機器學習,即利用先前任務的知識來加速網(wǎng)絡
設計。ENAS在子網(wǎng)絡之間共享參數(shù),使得網(wǎng)絡設計比文獻[2]提出的快約1000倍。基于網(wǎng)絡變形的算法也可以繼承以前架構的權重,單路徑NAS使用單路徑過參數(shù)化ConvNet,用共享卷積核參數(shù)對所有架構決策進行編碼。
8.4.3代理模型
基于代理的方法是另一種功能強大的工具,其功能類似于黑盒的功能。通常,一旦獲得一個良好的近似值,就可以找到直接優(yōu)化原始昂貴目標的配置。例如,漸進神經(jīng)體系結構搜索(PNAS)引入了代理模型來控制搜索方法。盡管已證明ENAS的效率很高,但PNAS的效率更高,因為PNAS評估的模型數(shù)量是ENAS評估的模型數(shù)量的5倍多,而PNAS的總計算速度比ENAS的快約8倍。但是,當優(yōu)化空間太大而難以量化,并且每個配置的評估都非常昂貴時,基于代理的方法不適用。
Luo等人提出了SemiNAS,這是一種半監(jiān)督的NAS方法。該方法利用大量未標記的架構來進一步提高搜索效率,所生成模型的精度不需要在訓練模型后進行評估,只需要通過控制器來預測其精度。
18.4.4早停法
早停法首先用于防止經(jīng)典ML過度擬合。最近的幾項研究中使用了這種方法,通過停止在驗證集上預測性能較差的評估來加速模型評估。例如,可以通過提出的一種學習曲線
模型預測網(wǎng)絡的性能。該模型是從文獻中選擇的一組參數(shù)曲線模型的加權組合。此外,有文獻提出了一種用于早停的方法,該方法基于快速計算梯度的局部統(tǒng)計信息,不再依賴于驗證集,并且允許優(yōu)化器充分利用所有訓練數(shù)據(jù)。
18.4.5資源感知
早期的NAS研究更加關注尋找可實現(xiàn)更高性能(如分類精度)的神經(jīng)體系結構,而不論相關的資源消耗(即GPU的數(shù)量和所需的時間)如何。許多后續(xù)研究都在研究資源感知
算法,以權衡性能與資源預算。為此,這些算法將計算成本α作為資源約束添加到損失函數(shù)中。這些算法的計算成本的類型不同,可能是:①參數(shù)規(guī)模;②乘法累加(MAC)操作的數(shù)量;③浮點運算(FLOP)的數(shù)量;④實際延遲。例如,MONAS將MAC視為約束,并且由于MONAS使用基于策略的強化學習算法進行搜索,因此可以將約束直接添加到獎勵函數(shù)中。
MnasNet提出了一種自定義的加權函數(shù),以近似帕累托最優(yōu)解:
式中,LAT(m)表示在目標設備上測得的推理延遲;T是目標延遲;w是權重變量,定義為.
其中,α和β的推薦值均為-0.07
就可微神經(jīng)體系結構搜索(DNAS)框架而言,約束條件(即損失函數(shù))應可微。為此,FBNet使用延遲查找表模型LatencyLookupTableModel,LLTM),根據(jù)每個操作的運行時間來估計網(wǎng)絡的總體等待時間。損失函數(shù)定義為
其中,CE(α,θα)表示權重為θα的架構α的交叉熵損失。像MnasNet一樣,該損失函數(shù)具有兩個需要手動設置的超參數(shù):α和β分別控制損失函數(shù)的大小和延遲。在SNAS中,所生成
子網(wǎng)絡的時間成本與one-hot隨機變量為線性關系,從而確保了資源約束的可微性。
18.5經(jīng)典NAS算法
18.5.1NASNetNAS方法是最早提出的基于單元搜索空間的算法(此處NAS指本節(jié)的搜索方法)。.
這項工作的主要貢獻是設計了一個新的搜索空間,這樣在CIFAR-10數(shù)據(jù)集上找到的最佳架構可以擴展到更大、更高分辨率的圖像數(shù)據(jù)集。這個搜索空間即NASNe搜索空間NASNet搜索空間的靈感來自于這樣一個認識:CNN的結構通常與重復。模塊有關,這些模塊通常是卷積濾波器組、非線性激活和殘差連接的組合,以獲得性能較優(yōu)的結果(如Inception和ResNet模型中存在的重復模塊)。這些觀察結果表明,控制器RNN可能預測以這些基序表示的通用卷積單元。然后可以將該單元串聯(lián)堆疊,以處理任意空間維度和濾波深度的輸入。
在NASNet方法中,卷積網(wǎng)絡的總體架構是手動確定的。它們的結構是由卷積單元重復多次組成的,每個卷積單元具有相同的結構,但參數(shù)權重不同。為了為任何尺寸的圖像構建可伸縮的體系結構,當將特征圖作為輸入時,我們需要兩種類型的卷積單元來提供兩個主要功能:①返回相同尺寸特征圖的卷積單元;②返回高度和寬度減少為原來的1/2的特征圖的卷積單元。分別將第一類和第二類卷積單元命名為標準單元和還原單元,標準單元的輸出保留與輸入相同的空間尺寸,通常根據(jù)實際需求手動設置標準單元的重復次數(shù)。
這些結構由控制器RNN搜索。在定義的搜索空間中搜索單元的結構。在該搜索空間中,每個單元都將兩個初始隱藏狀態(tài)I1和I2作為輸入,它們是前兩個較低層或輸入圖像中兩個單元的輸出。給定這兩個初始隱藏狀態(tài),控制器RNN遞歸地預測卷積單元的其余結構(見圖18.13)。控制器對每個單元的預測分為B個塊,其中每個塊具有5個預測步驟,這些預測步驟由5個不同的softmax分類器進行。
(1)從前兩個單元或從先前的塊中創(chuàng)建的一組隱藏狀態(tài)中選擇一個隱藏狀態(tài)。
(2)從第(1)步中選擇相同的操作來選擇第二個隱藏狀態(tài)。
(3)選擇一個操作應用于在步驟(1)中選擇的隱藏狀態(tài)。
(4)選擇一個操作應用于在步驟(2)中選擇的隱藏狀態(tài)。
(5)選擇一種方法來組合步驟(3)和(4)的輸出以創(chuàng)建新的隱藏狀態(tài)。圖18.13NASNet塊的搜索流程
在步驟(5)中,控制器RNN選擇一種方法來組合兩個隱藏狀態(tài):①兩個隱藏狀態(tài)之間的逐元素加法;②沿著濾波器維度的兩個隱藏狀態(tài)之間的級聯(lián)。最終將卷積單元中生成的
所有未使用的隱藏狀態(tài)沿通道連接在一起,以提供最終的單元輸出。
簡而言之,NASNet的主要貢獻如下
(1)首次提出了單元搜索;
(2)重新設計了搜索空間,以便AutoML找到最佳層并靈活進行多次堆疊來創(chuàng)建最終網(wǎng)絡;
(3)在CIFAR-10上執(zhí)行了架構搜索,并將學到的最好架構轉移到ImageNet圖像分類和COCO目標檢測中。
(4)使用RNN采樣網(wǎng)絡并通過強化學習進行優(yōu)化。
18.5.2PNAS
PNAS既不是基于強化學習的,也不屬于進化算法。首先搜索可重復的單元(可以看作殘差塊),若搜索到性能良好的單元,則可以自由選擇其疊加方式,形成一個完整的網(wǎng)絡。這樣的策略在殘差網(wǎng)絡中已經(jīng)出現(xiàn)過多次。當確定了單元結構后將其疊加成一個完整的網(wǎng)絡,一個網(wǎng)絡通常由這三個要素來確定:單元的結構,單元重復的次數(shù)N,每一個單元中的卷積核個數(shù)F。為了控制網(wǎng)絡的復雜度,N和F通常由手工設計。可以理解為:N控制網(wǎng)絡的深度,F控制網(wǎng)絡的寬度。
在本節(jié)的搜索空間中,每個單元由五個塊組成,塊結構與圖18.13(b)所示的結構相同。每塊可能的輸入為:①前一個單元的輸出;②前前一個單元的輸出;③當前單元的當前塊前的所有輸出。搜索空間如圖18.14所示。圖18.14PNAS的搜索空間
18.5.3DARTS
DARTS提出通過使用softmax函數(shù)放寬離散空間,在連續(xù)和可微的搜索空間上搜索神經(jīng)體系結構:
通過前面定義的搜索空間,我們的目的是通過梯度下降優(yōu)化α矩陣。我們把神經(jīng)網(wǎng)絡原有的權重稱為θ矩陣。為了實現(xiàn)端到端的優(yōu)化,我們希望同時優(yōu)化兩個矩陣以使結果變
好。上述兩層優(yōu)化是有嚴格層次的,為了使兩者都能同時達到優(yōu)化,一個樸素的想法是:在訓練集上固定α矩陣的值,然后梯度下降θ矩陣的值,在驗證集上固定θ矩陣的值,之后梯度下降α的值,循環(huán)往復,直到這兩個值都比較理想。需要注意的是,驗證集和訓練集的劃分比例是1∶1,因為對于α矩陣來說,驗證集就是它的訓練集。這表明這是一個雙層優(yōu)化問題。訓練和驗證損失分別用Ltrain和Lval表示。
因此,可以得出總損失函數(shù):
如果嚴格按照以上公式來實現(xiàn),則為了更新α矩陣,需更新θ矩陣,而θ矩陣的更新過于耗時。下面使用一種簡化后的操作計算α矩陣的梯度:
其中,ξ是內部優(yōu)化一步的學習率。通過簡單一步訓練調整θ來近似θ*(α),不需要訓練至收斂來求解內部優(yōu)化,可將搜索效率提升數(shù)十倍。
圖18.15給出了DARTS。其中,單元由N(此處N=4)個有序節(jié)點組成,節(jié)點zk
(k從0開始)連接到節(jié)點zi,i∈{k+1,…,N}。每個邊緣ei,j上的操作最初是候選操作的混合,每個候選操作的權重均相等。因此,神經(jīng)體系結構α是一個超級網(wǎng)絡,它包含所有可能的子神經(jīng)體系結構。在搜索結束時,最終的體系結構是通過保留所有混合操作的最大權重運算得到的。圖18.15(a)中,數(shù)據(jù)只能從較低級別的節(jié)點流到較高級別
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年09月江蘇鎮(zhèn)江市京口區(qū)衛(wèi)健系統(tǒng)事業(yè)單位集中招聘18人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2024年09月江蘇淮安區(qū)招聘衛(wèi)健系統(tǒng)事業(yè)單位人員123人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025年悅來基礎設施加固灌漿分包合同
- 2025建筑工程材料供應合同樣本
- 粘土磚瓦熱工性能分析考核試卷
- 印刷技術在保健品裝潢的應用考核試卷
- 2024年09月山東日照市委重大疾病和傳染病防治工作領導小組辦公室招聘9人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 五金行業(yè)銷售心理學考核試卷
- 2024年09月北京順義天竺鎮(zhèn)衛(wèi)生院招聘醫(yī)療護理等崗位14人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2024年09月假如中藥會說話-猜猜我是誰筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 庫欣病診治專家共識要點解讀(2025年)解讀課件
- 2024年中國礦產資源集團大數(shù)據(jù)有限公司招聘筆試真題
- 防雷安全風險分級管控要求 油庫、氣庫建設工程和場所
- 華僑大學《幼兒行為觀察與指導》2023-2024學年第一學期期末試卷
- 【2025版】人教版一年級數(shù)學下冊教學工作計劃(含進度表)
- ISO 37001-2025 反賄賂管理體系要求及使用指南(中文版-雷澤佳譯-2025)
- 《第2課 體驗開源硬件與編程工具應用 主題2 認識microbit加速度傳感器及其應用》參考課件
- 2025年河南機電職業(yè)學院單招職業(yè)技能測試題庫及參考答案
- 第11課《山地回憶》課件-2024-2025學年統(tǒng)編版語文七年級下冊
- 科學防癌預防先行
- DB4403-T 81-2020 綠化遷移技術規(guī)范
評論
0/150
提交評論