CMU和DeepMind的研究者最近發表了一篇有趣的論文——Differentiable Architecture Search (DARTS),提出了一種替代神經架構搜索的方法,目前是機器學習的熱門領域。去年,神經架構搜索被“捧”得很高,因為谷歌CEO桑德拉·皮查伊和谷歌AI的負責人杰夫·迪恩提出,神經架構搜索和大量的計算力對于機器學習的普及至關重要。于是媒體們對谷歌的這一工作進行了全面報道。
在今年3月舉辦的TensorFlow DevSummit大會上,杰夫·迪恩估計在未來,谷歌云可以用比目前高100倍的計算力替代人類機器學習專家。他將需要昂貴計算成本的神經架構搜索作為主要案例,解釋了為什么我們需要100倍計算力才能讓機器學習惠及更多人。
那么,到底什么是神經架構搜索?這是讓機器學習普及的關鍵嗎?這篇文章將重點解決這一問題。而在下篇文章中,我們會詳細了解谷歌的AutoML。神經架構搜索是AutoML的一部分,在其剛剛出現時同樣受到了熱烈的追捧。
目錄
什么是AutoML?
AutoML有多有用?
什么是神經架構搜索?
什么是DARTS?
神經架構搜索有什么用處?
除此之外還有什么方法能提高機器學習從業者的效率?
什么是AutoML?
AutoML這個術語曾被用來描述選擇機器學習模型或參數優化的自動化方法。這些方法的所用的算法有很多種,例如隨機森林、梯度提升、神經網絡等等。AutoML包括開源的AutoML庫、研討會、研究項目和比賽。初學者可能會感覺他們只是在為模型測試不同的參數,將這一過程自動化可能會讓機器學習的過程更容易,同時還能提升有經驗的從業者的速度。
AutoML庫有很多種,最“古老”的是AutoWEKA,于2013年發布,它可以自動選擇模型和參數。其他的庫包括auto-sklearn、H2O AutoML和TPOT。
AutoML有多有用?
AutoML提供了一種可以選擇模型、優化超參數的方法。它同樣能用來評估某一問題所處的水平如何。那么這意味著數據科學家可以被替代嗎?目前還不行,因為我們需要考慮機器學習從業者實際的工作是什么。
對很多機器學習項目來說,選擇一個合適的模型只是搭建機器學習產品中的一部分。在上一篇文章中,我們說過如果參與者并不理解機器學習模型各部分之間是如何連接的,這一項目可能會失敗。我認為這一過程需要30多種不同的步驟,其中兩個非常費時,即數據清洗和模型訓練。雖然AutoML可以幫助選擇模型和超參數,但是仍需要關注其他數據專家的需要和現存的問題。
在下一篇文章中,我會提出一些AutoML的替代方法,能讓機器學習從業者工作得更高效。
什么是神經架構搜索?
神經架構搜索是AutoML最受人關注的部分,谷歌CEO桑德拉·皮查伊曾寫道:“設計神經網絡非常耗費時間,并且需要一名專家將它限制在更小的科學和工程社區里。這就是我們創建AutoML的原因,證明了我們可以讓神經網絡設計神經網絡。”
他提到的“神經網絡設計神經網絡”是指神經架構搜索;通常強化學習或演化算法使用來設計新的神經網絡架構的。這非常有用,因為它能讓我們發現更復雜的架構,同時還能根據具體目標進行優化調整。神經架構搜索通常需要大量計算力。
準確的說,神經架構搜索經常包括學習類似圖層的東西,可以組合成重復的單元以創建一個神經網絡:
有關神經架構搜索的論文非常多,這里我們著重分析最近的幾篇:
AutoML開始進入人們的視野就是由于谷歌AI的研究者Quoc Le和Barret Zoph于2017年5月在谷歌I/O大會上發表的論文:Neural Architecture Search With Reinforcement Learning。該論文使用強化學習為CV領域CIFAR10和NLP中的Penn Tree Bank問題尋找新的結構,并達到了與現有架構相似的結果。
地址:arxiv.org/pdf/1611.01578.pdf
Learning Transferable Architecture for Scalable Image Recognition中的NASNet。這一項目從較小數據集(CIFAR10)中尋找建造模塊,之后在大數據集(ImageNet)上搭建結構。不過這一項目也需要大量計算,需要1800個GPU(相當于用1個GPU訓練5年的時間)才能學會架構。
地址:ai.googleblog.com/2017/11/automl-for-large-scale-image.html
Regularized Evolution for Image Classifier Architecture Search中的AmoebaNet。這一研究比上一個NASNet更耗費計算力,需要3150個GPU(相當于用1個GPU訓練9年的時間)。AmoebaNet中包含從演化算法中訓練來的單元,說明經過進化的結構可以達到甚至超越人類水平和強化學習圖像分類器。fast.ai對此進行了改進,學習進程加快同時改變了訓練過程中圖像的尺寸后,AmoebaNet目前是在單一機器上訓練ImageNet最便宜的方法。
地址:arxiv.org/abs/1802.01548
Efficient Neural Architecture Search(ENAS):該方法比之前提到的兩種方法都更節省計算力,重要的是,它比標準的神經架構搜索便宜1000倍。在單一GPU上訓練只花了16個小時。
地址:arxiv.org/pdf/1802.03268.pdf
什么是DARTS?
可微分的結構搜索(differentiable architecture search)是最近由CMU和DeepMind的研究人員發布的一種方法,它假設候選架構是連續而不是離散的,利用基于梯度的方法比黑箱搜索更有效。
為了學習CIFAR10上的結構,DARTS只需要4個GPU,大大提升了效率。雖然還需要進一步研究,但這已經為今后的研究指明了方向。
神經架構搜索有多有用?
在TensorFlow DevSummit上,杰夫·迪恩表示深度學習的一個重要部分正嘗試不同的結構。這是他在演講中提到的唯一一個有關機器學習的觀點。
然而選擇模型只是復雜過程的一部分。大多數情況下,結構選擇才是更難、更耗時或更重要的地方。目前,沒有證據表明每個新問題最好的方法是在自身結構上建模。
像谷歌這樣致力于結構設計和分享的機構為我們提供了很重要的服務。但是基礎的結構搜索方法只有一小部分研究者在基礎神經架構的設計上才需要使用到,我們可以直接用遷移學習得來的結構。
除此之外還有什么方法能提高機器學習從業者的效率?
AutoML領域關注的核心問題即,如何讓模型選擇和超參數優化自動化?然而自動化往往忽視了人類輸入的重要角色。而另一個重要問題是:人類如何與計算機合作,從而讓機器學習更有效呢?增強機器學習(augmented machine learning)是關注如何讓人與機器更好合作的話題,其中一個案例是Leslie Smith的leaning rate finder這篇論文,其中提到學習率是一個可以決定模型訓練速度的超參數,或者可以決定模型能否成功訓練。學習速率查詢器可以讓人類很容易地找到一個良好的學習率,比AutoML更快。
學習速率和損失之間的關系
在對超參數自動化的方法選擇上還有另一個問題:一些類別的模型運用很廣泛,需要調整的參數很少,對超參數的改變并不敏感,這一點常被忽略。例如,隨機森林優于梯度提升機器的地方就在于隨機森林更穩定,GBM對超參數微小的變化就很敏感。結果自然隨機森林應用的更廣泛。所以尋找能高效地改變超參數的方法將非常有用。
結語
現在我們對AutoML和神經架構搜索有了大致了解,在下一篇連載文章中,我們將近距離觀察谷歌的AutoML工具。
-
AI
+關注
關注
87文章
30758瀏覽量
268903 -
自動化
+關注
關注
29文章
5563瀏覽量
79241 -
機器學習
+關注
關注
66文章
8408瀏覽量
132572
原文標題:揭秘AutoML和神經網絡結構搜索,機器學習自動化真能普及大眾嗎?
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論