深度學習在許多領域都取得了重大突破和進展。這是因為深度學習具有強大的自動表示能力。實踐證明,網絡結構的設計對數據的特征表示和最終的性能至關重要。為了獲得良好的數據特征表示,研究人員設計了各種復雜的網絡結構。然而,網絡架構的設計在很大程度上依賴于研究人員的先驗知識和經驗。因此,一個自然的想法是盡量減少人為的干預,讓算法自動設計網絡的架構。因此,這需要更深入到強大的智慧。
近年來,大量相關的神經結構搜索算法(NAS)已經出現。他們對NAS算法進行了各種改進,相關研究工作復雜而豐富。為了減少初學者進行NAS相關研究的難度,對NAS進行全面系統的調查是必不可少的。之前的相關調查開始主要從NAS的基本組成部分: 搜索空間、搜索策略和評估策略對現有工作進行分類。這種分類方法比較直觀,但是讀者很難把握中間的挑戰和標志性作品。因此,在本次調查中,我們提供了一個新的視角:首先概述最早的NAS算法的特點,總結這些早期NAS算法存在的問題,然后為后續的相關研究工作提供解決方案。并對這些作品進行了詳細而全面的分析、比較和總結。最后,提出了今后可能的研究方向。
概述
深度學習已經在機器翻譯[1-3]、圖像識別[4,6,7]和目標檢測[8-10]等許多領域展示了強大的學習能力。這主要是因為深度學習對非結構化數據具有強大的自動特征提取功能。深度學習已經將傳統的手工設計特征[13,14]轉變為自動提取[4,29,30]。這使得研究人員可以專注于神經結構的設計[11,12,19]。但是神經結構的設計很大程度上依賴于研究者的先驗知識和經驗,這使得初學者很難根據自己的實際需要對網絡結構進行合理的修改。此外,人類現有的先驗知識和固定的思維范式可能會在一定程度上限制新的網絡架構的發現。
因此,神經架構搜索(NAS)應運而生。NAS旨在通過使用有限的計算資源,以盡可能少的人工干預的自動化方式設計具有最佳性能的網絡架構。NAS- RL[11]和MetaQNN[12]的工作被認為是NAS的開創性工作。他們使用強化學習(RL)方法得到的網絡架構在圖像分類任務上達到了SOTA分類精度。說明自動化網絡架構設計思想是可行的。隨后,大規模演化[15]的工作再次驗證了這一想法的可行性,即利用演化學習來獲得類似的結果。然而,它們在各自的方法中消耗了數百天的GPU時間,甚至更多的計算資源。如此龐大的計算量對于普通研究者來說幾乎是災難性的。因此,如何減少計算量,加速網絡架構的搜索[18-20,48,49,52,84,105]就出現了大量的工作。與NAS的提高搜索效率,NAS也迅速應用領域的目標檢測(65、75、111、118),語義分割(63、64、120),對抗學習[53],建筑規模(114、122、124),多目標優化(39、115、125),platform-aware(28日34、103、117),數據增加(121、123)等等。另外,如何在性能和效率之間取得平衡也是需要考慮的問題[116,119]。盡管NAS相關的研究已經非常豐富,但是比較和復制NAS方法仍然很困難[127]。由于不同的NAS方法在搜索空間、超參數技巧等方面存在很多差異,一些工作也致力于為流行的NAS方法提供一個統一的評估平臺[78,126]。
隨著NAS相關研究的不斷深入和快速發展,一些之前被研究者所接受的方法被新的研究證明是不完善的。很快就有了改進的解決方案。例如,早期的NAS在架構搜索階段從無到有地訓練每個候選網絡架構,導致計算量激增[11,12]。ENAS[19]提出采用參數共享策略來加快架構搜索的進程。該策略避免了從頭訓練每個子網,但強制所有子網共享權值,從而大大減少了從大量候選網絡中獲得性能最佳子網的時間。由于ENAS在搜索效率上的優勢,權值共享策略很快得到了大量研究者的認可[23,53,54]。不久,新的研究發現,廣泛接受的權重分配策略很可能導致候選架構[24]的排名不準確。這將使NAS難以從大量候選架構中選擇最優的網絡架構,從而進一步降低最終搜索的網絡架構的性能。隨后DNA[21]將NAS的大搜索空間模塊化成塊,充分訓練候選架構以減少權值共享帶來的表示移位問題。此外,GDAS-NSAS[25]提出了一種基于新的搜索架構選擇(NSAS)損失函數來解決超網絡訓練過程中由于權值共享而導致的多模型遺忘問題。
在快速發展的NAS研究領域中,類似的研究線索十分普遍,基于挑戰和解決方案對NAS研究進行全面、系統的調研是非常有用的。以往的相關綜述主要根據NAS的基本組成部分: 搜索空間、搜索策略和評估策略對現有工作進行分類[26,27]。這種分類方法比較直觀,但不利于讀者捕捉研究線索。因此,在本次綜述查中,我們將首先總結早期NAS方法的特點和面臨的挑戰。基于這些挑戰,我們對現有研究進行了總結和分類,以便讀者能夠從挑戰和解決方案的角度進行一個全面和系統的概述。最后,我們將比較現有的研究成果,并提出未來可能的研究方向和一些想法。
【導讀】這本書對自動化機器學習(AutoML)的一般化方法進行了全面的闡述,并且收集了以這些方法為基礎的系統的描述和一系列關于自動化機器學習系統領域的挑戰。最近,機器學習在商業領域取得的成就和該領域的快速增長對機器學習產生了大量的需求,尤其是可以很容易地使用,并且不需要專家知識的機器學習方法。然而,當前許多表現優異的機器學習方法的大多都依賴人類專家去手動選擇適當的機器學習架構以及模型的超參數(深度學習架構或者更加傳統的機器學習方法)。為了克服這個問題,AutoML基于優化原理和機器學習本身去逐步實現機器學習的自動化。這本書可以為為研究人員和高年級學生提供一個進入這個快速發展的領域的切入點,同時也為打算在工作中使用AutoML的從業者提供參考。
第一部分 自動機器學習方法
每個機器學習系統都有超參數,而自動化機器學習最基本的任務就是自動設置這些超參數來優化性能。尤其是最近的深度神經網絡嚴重依賴對于神經網絡的結構、正則化和優化等超參數的選擇。自動優化超參數(HPO)有幾個重要的用例:?
第二部分 自動化機器學習系統
越來越多的非領域專家開始學習使用機器學習工具,他們需要非獨立的解決方案。機器學習社區通過開源代碼為這些用戶提供了大量復雜的學習算法和特征選擇方法,比如WEKA和mlr。這些開源包需要使用者做出兩種選擇:選擇一種學習算法,并通過設置超參數對其進行定制。然而想要一次性做出正確的選擇是非常具有挑戰性的,這使得許多用戶不得不通過算法的聲譽或直覺來進行選擇,并將超參數設置為默認值。當然,采用這種方法所獲得的性能要比最佳方法進行超參數設置差得多。
第三部分 自動化機器學習面臨的挑戰
直到十年之前,機器學習還是一門鮮為人知的學科。對于機器學習領域的科學家們來說,這是一個“賣方市場”:他們研究產出了大量的算法,并不斷地尋找新的有趣的數據集。大的互聯網公司積累了大量的數據,如谷歌,Facebook,微軟和亞馬遜已經上線了基于機器學習的應用,數據科學競賽也吸引了新一代的年輕科學家。如今,隨著開放性數據的增加,政府和企業不斷發掘機器學習的新的應用領域。然而,不幸的是機器學習并不是全自動的:依舊很難確定哪個算法一定適用于哪種問題和如何選擇超參數。完全自動化是一個無界的問題,因為總是有一些從未遇到過的新設置。AutoML面臨的挑戰包括但不限于:
AutoML: A Survey of the State-of-the-Art
深度學習已經滲透到我們生活的方方面面,給我們帶來了極大的便利。然而,針對某一特定任務構建高質量的深度學習系統的過程不僅耗時,而且需要大量的資源和人力,阻礙了深度學習在產業界和學術界的發展。為了緩解這一問題,越來越多的研究項目關注于自動化機器學習(AutoML)。在本文中,我們提供了一個全面的和最新的研究,在最先進的汽車。首先,根據機器學習的特點,詳細介紹了自動化技術。在此基礎上,總結了神經結構搜索(NAS)的研究現狀,這是目前自動化領域研究的熱點之一。我們還將NAS算法生成的模型與人工設計的模型進行了比較。最后,提出了有待進一步研究的幾個問題。
近年來,移動設備得到了越來越大的發展,計算能力越來越強,存儲空間越來越大。一些計算密集型的機器學習和深度學習任務現在可以在移動設備上運行。為了充分利用移動設備上的資源,保護用戶的隱私,提出了移動分布式機器學習的思想。它使用本地硬件資源和本地數據來解決移動設備上的機器學習子問題,只上傳計算結果而不是原始數據來幫助全局模型的優化。該體系結構不僅可以減輕服務器的計算和存儲負擔,而且可以保護用戶的敏感信息。另一個好處是帶寬的減少,因為各種各樣的本地數據現在可以參與培訓過程,而不需要上傳到服務器。本文對移動分布式機器學習的研究現狀進行了綜述。我們調查了一些廣泛使用的移動分布式機器學習方法。我們還就這一領域的挑戰和未來方向進行了深入的討論。我們相信這項調查能夠清晰地展示移動分布式機器學習的概況,并為移動分布式機器學習在實際應用中的應用提供指導。