【译】An Opinionated Introduction to AutoML and Neural Architecture Search
這是系列文章的第2部分。 在這里查看第1部分和第3部分 。
來自CMU和DeepMind的研究人員最近發布了一篇有趣的新論文,稱為差異化架構搜索(DARTS) ,它提供了一種神經架構搜索的替代方法,這是目前機器學習的一個非常熱門的領域。 神經架構搜索在去年受到了大肆宣傳,Google首席執行官Sundar Pichai和谷歌的AI負責人Jeff Dean宣傳神經架構搜索及其所需的大量計算能力 對于向大眾提供機器學習至關重要 。 谷歌在神經架構搜索方面的工作得到了科技媒體的廣泛和崇拜(見這里 , 這里 , 這里和這里的例子)。
關于谷歌的AutoML和神經架構搜索的許多文章中的一小部分的頭條新聞
在2018年3月TensorFlow DevSummit的主題演講 (大約22:20左右開始)期間,Jeff Dean認為,未來谷歌可能會用100倍的計算能力取代機器學習專業知識 。 他給出了計算上昂貴的神經架構搜索作為一個主要的例子(他給出的唯一例子),為什么我們需要100倍的計算能力才能使更多人能夠訪問ML。
在TensorFlow開發者峰會上滑出Jeff Dean的主題演講
什么是神經結構搜索? 將機器學習提供給非機器學習專家是關鍵嗎? 我將在這篇文章中深入研究這些問題,在下一篇文章中,我將專門研究Google的AutoML。 神經架構搜索是一個名為AutoML的更廣泛領域的一部分 ,它也受到了很多炒作,我們將首先考慮。
第2部分目錄:
- 什么是AutoML?
- AutoML有用嗎?
- 什么是神經結構搜索?
- DARTS怎么樣?
- 神經架構搜索有用嗎?
- 我們怎么能讓機器學習從業者更有效?
什么是AutoML?
傳統上,術語AutoML用于描述模型選擇和/或超參數優化的自動化方法 。 這些方法適用于許多類型的算法,例如隨機森林,梯度增強機器,神經網絡等。 AutoML領域包括開源AutoML庫 , 研討會 , 研究和競賽 。 初學者常常覺得他們只是猜測他們為模型測試不同的超參數,并且自動化過程可以使這部分機器學習管道變得更容易,并且即使對于經驗豐富的機器學習從業者也可以加快速度。
有許多AutoML庫,其中最早的是AutoWEKA ,它于2013年首次發布,并自動選擇模型并選擇超參數。 其他值得注意的AutoML庫包括auto-sklearn (將AutoWEKA擴展為python), H2O AutoML和TPOT 。 AutoML.org (以前稱為ML4AAD,用于自動算法設計的機器學習)自2014年以來一直在學術機器學習會議ICML中組織 AutoML研討會 。
AutoML有用嗎?
AutoML提供了一種選擇模型和優化超參數的方法。 它還可用于獲取基線以了解問題可能的性能級別。 這是否意味著可以替換數據科學家? 還沒有,因為我們需要保持機器學習從業者所做的其他事情的背景。
對于許多機器學習項目,選擇模型只是構建機器學習產品的復雜過程的一部分。 正如我在上一篇文章中所述 ,如果參與者沒有看到管道的各個部分是如何相互關聯的,那么項目就會失敗 。 我想到了過程中可能涉及的30多個不同步驟 。 我強調了機器學習(特別是深度學習)中最耗時的兩個方面: 清潔數據 ( 是的,這是機器學習中不可分割的一部分 )和培訓模型 。 雖然AutoML可以幫助選擇模型并選擇超參數,但重要的是要了解仍然需要哪些其他數據專業知識以及仍然存在的難題。
我將建議一些替代AutoML的方法,以使機器學習從業者在最后一節更有效。
什么是神經結構搜索?
現在我們已經介紹了AutoML的一些內容,讓我們來看看該領域特別活躍的子集: 神經架構搜索 。 谷歌首席執行官桑達·皮采( Sundar Pichai) 寫道 , “設計神經網絡非常耗費時間,并且需要專業知識將其用途限制在較小的科學家和工程師社區。 這就是為什么我們創建了一種名為AutoML的方法,表明神經網絡可以設計神經網絡 ?!?/p>
Pichai所說的使用“神經網絡設計神經網絡”被稱為神經結構搜索 ; 通常使用強化學習或進化算法來設計新的神經網絡架構。 這很有用,因為它允許我們發現比人們想象的要復雜得多的架構,并且這些架構可以針對特定目標進行優化。 神經架構搜索通常在計算上非常昂貴。
確切地說,神經架構搜索通常涉及學習像層(通常稱為“單元”)之類的東西,它可以組裝成一堆重復的單元格來創建神經網絡:
來自Zoph等的圖。 人。 2017.左邊是堆疊細胞的完整神經網絡,右邊是細胞的內部結構
關于神經結構搜索的學術論文的文獻很多,所以我將在這里重點介紹幾篇最近的論文:
- “ 人工智能 ”這一術語在Google人工智能研究人員 ( 此處論文 )Quoc Le和Barret Zoph的工作中突顯了“主流”的突出地位,該工作 于2017年5月在Google I / O上展出。 這項工作使用強化學習來找到計算機視覺問題Cifar10和NLP問題Penn Tree Bank的新架構,并取得了與現有架構類似的結果。
來自Le和Zoph博客文章的圖表:左邊更簡單的架構是由人設計的,右邊更復雜的架構是由神經網絡設計的。
-
NASNet來自可擴展圖像識別的學習可轉換架構 ( 博客文章 )。 這項工作在一個小數據集(Cifar10)上搜索一個架構構建塊,然后為一個大型數據集(ImageNet)構建一個架構。 這項研究計算密集 ,花費1800個GPU天(相當于1個GPU的近5年)來學習架構(谷歌團隊使用500個GPU 4天 !)。
-
AmoebaNet來自Regularized Evolution for Image Classifier Architecture Search這項研究的計算密集程度甚至超過了NASNet,它相當于3150 GPU天(相當于1 GPU的近9年)來學習架構(Google使用的團隊450 K40 GPU 7天!)。 AmoebaNet由通過進化算法學習的“細胞”組成,表明人工進化的體系結構可以匹配或超越人工制作和強化學習設計的圖像分類器。 在結合fast.ai的預付款(例如積極的學習計劃)和隨著培訓的進展改變圖像大小之后,AmoebaNet現在是在單臺機器上訓練ImageNet的最便宜的方式 。
-
高效的神經架構搜索(ENAS) :使用的GPU小時數比以前現有的自動模型設計方法少得多,特別是比標準的神經架構搜索要便宜1000倍。 這項研究使用單個GPU進行了16個小時。
DARTS怎么樣?
可區分的架構搜索(DARTS) 。 這項研究最近是由卡內基梅隆大學和DeepMind的一個團隊發布的,我對這個想法感到很興奮。 DARTS假設候選架構的空間是連續的,而不是離散的,這允許它使用基于梯度的aproach,這比大多數神經架構搜索算法使用的低效黑盒搜索效率高得多。
來自DARTS的圖表,它將所有可能的架構的空間視為連續的,而不是離散的
要學習Cifar-10的網絡, DARTS僅需4個GPU天 ,相比之下,NASNet為1800 GPU天,AmoebaNet為 3150個GPU天 (所有學習精度相同)。 這是效率的巨大提升! 雖然需要更多的探索,但這是一個很有前景的研究方向。 鑒于Google經常將神經架構搜索與巨大的計算費用等同起來,有效的架構搜索方法很可能未被充分探索。
神經架構搜索有用嗎?
在他的TensorFlow DevSummit主題演講中 (從22:20開始),Jeff Dean建議深度學習工作的一個重要部分是嘗試不同的架構。 這是Dean在他的簡短演講中強調的機器學習的唯一一步,我對他的重點感到驚訝。 Sundar Pichai的博文包含了類似的斷言。
Jeff Dean的幻燈片顯示,神經架構搜索可以嘗試20種不同的模型來找到最準確的
但是,選擇模型只是構建機器學習產品的復雜過程的一部分。 在大多數情況下,架構選擇遠不是問題中最難,最耗時或最重要的部分。 目前,沒有證據表明每個新問題最好用它自己獨特的架構建模,大多數從業者認為不太可能出現這種情況。
谷歌等組織致力于架構設計,并與我們其他人共享他們發現的架構,這些組織正在提供重要且有用的服務。 然而,只有那些致力于基礎神經結構設計的研究人員才需要基礎架構搜索方法。 我們其他人可以使用他們通過轉移學習找到的架構。
我們怎么能讓機器學習從業者更有效? AutoML與增強ML
AutoML領域,包括神經架構搜索 ,主要關注的問題是: 我們如何自動化模型選擇和超參數優化? 然而,自動化忽視了人類輸入的重要作用。 我想提出另一個問題: 人類和計算機如何協同工作以使機器學習更有效? 增強型ML的重點在于弄清楚人和機器如何最好地協同工作以利用它們的不同優勢。
擴充ML的一個例子是Leslie Smith的學習速率查找器 ( 此處為紙 ),它在fastai庫 (位于PyTorch之上的高級API)中實現,并作為我們免費深度學習課程中的關鍵技術進行教學 。 學習率是一個超參數,可以確定模型訓練的速度,甚至可以確定它是否成功訓練。 學習速率查找器允許人通過查看生成的圖表在單個步驟中找到良好的學習速率。 它比AutoML更快地解決同一問題,提高了數據科學家對培訓過程的理解,并鼓勵采用更強大的多步驟方法來訓練模型。
來自Surmenok博客文章的關于學習率發現者的圖表,顯示了學習率與失敗之間的關系
關注自動化超參數選擇存在另一個問題:它忽略了某些類型的模型更廣泛有用,具有更少的超參數進行調整以及對超參數選擇不太敏感的可能性。 例如,隨機森林對梯度增強機器(GBM)的一個主要好處是隨機森林更加穩健,而GBM往往對超參數的微小變化相當敏感。 因此,隨機森林在工業中得到廣泛應用。 研究有效刪除超參數的方法(通過更智能的默認值或通過新模型)可以產生巨大的影響。 當我在2013年第一次對深度學習感興趣時,感到壓倒性地感到有如此多的超參數,我很高興新的研究和工具幫助消除了許多(特別是初學者)。 例如,在fast.ai課程中,初學者只需要選擇一個超參數,即學習率,我們甚至會給你一個工具來做到這一點!
敬請關注...
現在我們已經了解了AutoML和神經架構搜索領域的概況,我們可以在下一篇文章中仔細研究Google的AutoML。
?
http://www.fast.ai/2018/07/16/auto-ml2/
總結
以上是生活随笔為你收集整理的【译】An Opinionated Introduction to AutoML and Neural Architecture Search的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【译】What do machine l
- 下一篇: 【译】Google's AutoML: