1. 程式人生 > >一文看懂深度學習新王者「AutoML」:是什麼、怎麼用、未來如何發展?

一文看懂深度學習新王者「AutoML」:是什麼、怎麼用、未來如何發展?

原作:George Seif
夏乙 安妮 編譯整理
量子位 出品 | 公眾號 QbitAI

AutoML和神經架構搜尋(NAS),是深度學習領域的新一代王者。

這些方法能快糙猛地搞定機器學習任務,簡單有效,高度符合當代科技公司核心價值觀。

640?wx_fmt=gif

它們背後原理如何,怎樣使用?

技術部落格TowardDataScience有一篇文章,就全面介紹了關於AutoML和NAS你需要了解的一切。

NAS

要了解AutoML,還得從NAS說起。

在開發神經網路的過程中,架構工程事關重大,架構先天不足,再怎麼訓練也難以得到優秀的結果。

當然,提到架構,很多人會想到遷移學習:把ImageNet上訓練的ResNet拿來,換個我需要的資料集再訓練訓練更新一下權重,不就好了嘛!

640?wx_fmt=gif

這種方法的確也可行,但是要想得到最好的效果,還是根據實際情況設計自己的網路架構比較靠譜。

設計神經網路架構,能稱得上機器學習過程中門檻最高的一項任務了。想要設計出好架構,需要專業的知識技能,還要大量試錯。

NAS就為了搞定這個費時費力的任務而生。

這種演算法的目標,就是搜尋出最好的神經網路架構。它的工作流程,通常從定義一組神經網路可能會用到的“建築模組”開始。比如說Google Brain那篇NasNet論文,就為影象識別網路總結了這些常用模組:

640?wx_fmt=png

其中包含了多種卷積和池化模組。

論文:Learning Transferable Architectures for Scalable Image Recognition


地址:https://arxiv.org/pdf/1707.07012.pdf

NAS演算法用一個迴圈神經網路(RNN)作為控制器,從這些模組中挑選,然後將它們放在一起,來創造出某種端到端的架構。

這個架構,通常會呈現出和ResNet、DenseNet等最前沿網路架構一樣的風格,但是內部模組的組合和配置有所區別。一個架構的好壞,往往就取決於選擇的模組和在它們之間構建的連線。

接下來,就要訓練這個新網路,讓它收斂,得到在留出驗證集上的準確率。這個準確率隨後會用來通過策略梯度更新控制器,讓控制器生成架構的水平越來越高。

過程如下圖所示:

640?wx_fmt=png

這個過程很直觀了。簡單來說,很有小朋友搭積木的風範:讓一個演算法挑出一些積木,然後把它們組裝在一起,做成一個神經網路。訓練、測試,根據這個結果來調整選積木的標準和組裝的方式。

640?wx_fmt=gif

這個演算法大獲成功,NasNet論文展現出非常好的結果,有一部分原因是出於他們做出的限制和假設。

論文裡訓練、測試NAS演算法發現的架構,都用了一個比現實情況小得多的資料集。當然,這是一種折衷的方法,要在ImageNet那麼大的資料集上訓練驗證每一種搜尋結果,實在是太耗費時間了。

所以,他們做出了一個假設:如果一個神經網路能在結構相似的小規模資料集上得到更好的成績,那麼它在更大更復雜的資料集上同樣能表現得更好。

在深度學習領域,這個假設基本上是成立的。

上面還提到了一個限制,這指的是搜尋空間其實很有限。他們設計NAS,就要用它來構建和當前最先進的架構風格非常類似的網路。

在影象識別領域,這就意味著用一組模組重複排列,逐步下采樣,如下圖所示:

640?wx_fmt=png

這些模組也都是當前研究中常用的。NAS演算法在其中所做的新工作,主要是給這些模組換個連線方式。

下面,就是它發現的ImageNet最佳神經網路架構:

640?wx_fmt=png

架構搜尋的進展

這篇NASNet論文帶動了行業內的一次進步,它為深度學習研究指出了一個全新方向。

但是,用450個GPU來訓練,找到一個優秀的架構也需要訓練3到4天。也就是說,對於除了Google之外的普通貧民使用者們,這種方法還是門檻太高、效率太低。

640?wx_fmt=gif

NAS領域最新的研究,就都在想方設法讓這個架構搜尋的過程更高效。

2017年穀歌提出的漸進式神經架構搜尋(PNAS),建議使用名叫“基於序列模型的優化(SMBO)”的策略,來取代NASNet裡所用的強化學習。用SMBO策略時,我們不是隨機抓起一個模組就試,而是按照複雜性遞增的順序來測試它們並搜尋結構。

這並不會縮小搜尋空間,但確實用更聰明的方法達到了類似的效果。SMBO基本上都是在講:相比於一次嘗試多件事情,不如從簡單的做起,有需要時再去嘗試複雜的辦法。這種PANS方法比原始的NAS效率高5到8倍,也便宜了許多。

論文:Progressive Neural Architecture Search
地址:https://arxiv.org/pdf/1712.00559.pdf

高效神經架構搜尋(ENAS),是谷歌打出的讓傳統架構搜尋更高效的第二槍,這種方法很親民,只要有GPU的普通從業者就能使用。作者假設NAS的計算瓶頸在於,需要把每個模型到收斂,但卻只是為了衡量測試精確度,然後所有訓練的權重都會丟棄掉。

論文:Efficient Neural Architecture Search via Parameter Sharing
地址:https://arxiv.org/pdf/1802.03268.pdf

因此,ENAS就要通過改進模型訓練方式來提高效率。

在研究和實踐中已經反覆證明,遷移學習有助在短時間內實現高精確度。因為為相似任務訓練的神經網路權重相似,遷移學習基本只是神經網路權重的轉移。

ENAS演算法強制將所有模型的權重共享,而非從零開始訓練模型到收斂,我們在之前的模型中嘗試過的模組都將使用這些學習過的權重。因此,每次訓練新模型是都進行遷移學習,收斂速度也更快。

下面這張表格表現了ENAS的效率,而這只是用單個1080Ti的GPU訓練半天的結果。

640?wx_fmt=png ENAS的表現和效率

深度學習新方法AutoML

很多人將AutoML稱為深度學習的新方式,認為它改變了整個系統。有了AutoML,我們就不再需要設計複雜的深度學習網路,只需執行一個預先設定好的NAS演算法。

最近,Google提供的Cloud AutoML將這種理念發揮到了極致。只要你上傳自己的資料,Google的NAS演算法就會為你找到一個架構,用起來又快又簡單。

AutoML的理念就是把深度學習裡那些複雜的部分都拿出去,你只需要提供資料,隨後就讓AutoML在神經網路設計上盡情發揮吧。這樣,深度學習就變得像外掛一樣方便,只要有資料,就能自動創建出由複雜神經網路驅動的決策功能。

640?wx_fmt=png 谷歌雲的AutoML pipeline

不過,AutoML價格也並不算親民,每小時收費20美元。此外,一旦你開始訓練,則無法匯出模型,並且得用谷歌提供的API在雲上執行你的網路,這些限制看起來都不是很方便,

AutoKeras也是一個使用了ENAS演算法的GitHub專案,可以使用pip安裝。它是用Keras編寫的,因此很容易控制和使用,甚至可以自己深入研究ENAS演算法並嘗試進行一些改動。

如果你喜歡用TensorFlow或者Pytorch,也有一些開源專案可用:

https://github.com/melodyguan/enas

https://github.com/carpedm20/ENAS-pytorch

總的來說,若你想使用AutoML,現在已經有很多不同的選擇,這完全取決於你是否會使用你想要的演算法,以及你對這件事的預算如何。

AutoML和NAS未來會怎樣?

過去幾年,在深度學習工作的自動化上,整個領域都在大步向前,讓深度學習更貼近大眾、更易用。

不過,進步的空間永遠都有。

架構搜尋已經越來越高效了,用ENAS,一個GPU一天就能找出一種新的網路架構。的確鵝妹子嚶,但是這個搜尋空間依然非常有限,而且,現在NAS演算法所用的基本結構和模組還是人工設計的,只是將組裝的過程自動化了。

將來要想取得重大突破,在更廣闊的搜尋範圍裡搜尋真正的新架構是一個重要方向。

如果這樣的演算法出現,甚至能為我們揭示龐大複雜深度神經網路中隱藏的祕密。

當然,要實現這樣的搜尋空間,需要設計出更高效的演算法。

最後,附上原文傳送門:
https://towardsdatascience.com/the-end-of-open-ai-competitions-ff33c9c69846

這篇文章全面介紹了用來自動尋找神經網路架構的AutoML,量子位之前還介紹過很多深度學習其他工作的自動化框架,比如自動特徵工程、自動調參等等。

640?wx_fmt=png

作者系網易新聞·網易號“各有態度”簽約作者

加入社群

量子位AI社群19群開始招募啦,歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話介面回覆關鍵字“交流群”,獲取入群方式;

此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。

進專業群請在量子位公眾號(QbitAI)對話介面回覆關鍵字“專業群”,獲取入群方式。(專業群稽核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。

640?wx_fmt=jpeg

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態

相關推薦

深度學習王者AutoML是什麼怎麼未來如何發展

原作:George Seif夏乙 安妮 編譯整理量子位 出品 | 公眾號 QbitAIAutoM

遷移學習怎樣預訓練模型搞定深度學習

【宣告:鄙人菜鳥一枚,寫的都是初級部落格,如遇大神路過鄙地,請多賜教;內容有誤,請批評指教,如有雷同,屬我偷懶轉運的,能給你帶來收穫就是我的部落格價值所在。】 引言   跟傳統的監督式機器學習演算法相比,深度神經網路目前最大的劣勢是什麼?   貴!

深度學習與機器學習的差異

作者:oschina 如果你經常想讓自己弄清楚機器學習和深度學習的區別,閱讀該文章,我將用通俗易懂的語言為你介紹他們之間的差別。機器學習和深度學習變得越來越火。突然之間,不管是瞭解的還是不瞭解的,所有人都在談論機器學習和深度學習。無論你是否主動關注過資料科學,你

機器學習流程(客戶流失率預測)

本文轉自:https://my.oschina.net/sizhe/blog/1594791 1 定義問題 客戶流失率問題是電信運營商面臨得一項重要課題,也是一個較為流行的案例。根據測算,招攬新的客戶比保留住既有客戶的花費大得多(通常5-20倍的差距)。因此,如何保留住

深度學習,將深度學習拉下神壇

首先講一下我的經歷,本科,以前幹java後端的,深度學習實習兩個月,現在正式做深度學習快一年了,我之所以說這些就是要說明深度學習不是天書。順便駁斥那些所謂的大牛張口閉口高等數學,線性代數,凸優化之類的云云,我想說的是深度學習裡面用到的數學超過了60分水平了嗎?你們工作中真的天天求導,天天梯度下降嗎?今天我就用

乾貨丨深度學習(附學習資源,據說點贊2W+)

文章來源:新智元 人工智慧(AI)和機器學習(ML)都屬於目前最熱門的話題。 在日常生活中,AI這個術語我們隨處可見。你或許會從立志高遠的開發者那裡聽說她(他)們想要學習AI。你又或許會從運營者那裡聽到他們想要在他們的的服務中實施AI。但往往這些人中的絕大多數都並不明白什麼是AI。 在你閱讀

深度學習從神經元到BERT

阿里妹導讀:自然語言處理領域的殿堂標誌 BERT 並非橫空出世,背後有它的發展原理。今天,螞蟻金服財富對話演算法團隊整理對比

深度學習基礎系列()| kersa構建模型的各層含義(掌握輸出尺寸和可訓練引數數量的計算方法)

      我們在學習成熟神經模型時,如VGG、Inception、Resnet等,往往面臨的第一個問題便是這些模型的各層引數是如何設定的呢?另外,我們如果要設計自己的網路模型時,又該如何設定各層引數呢?如果模型引數設定出錯的話,其實模型也往往不能運行了。   所以,我們需要首

深度學習理論】卷積神經網路

本文主要介紹了神經網路中的卷積神經網路,適合初學者閱讀。概述深度學習和人工智慧是 2016 年的熱詞;2017 年,這兩個詞愈發火熱,但也更加容易混淆。我們將深入深度學習的核心,也就是神經網路。大多數神經網路的變體是難以理解的,並且它們的底層結構元件使得它們在理論上和圖形上是

深度學習機器學習常用損失函數(Loss Function)

back and 們的 wiki 導出 歐氏距離 classes 自變量 關於 最近太忙已經好久沒有寫博客了,今天整理分享一篇關於損失函數的文章吧,以前對損失函數的理解不夠深入,沒有真正理解每個損失函數的特點以及應用範圍,如果文中有任何錯誤,請各位朋友指教,謝謝~

能源汽車行業如何踐行智能制造

生態 演練 產品質量 完整 獲得 制造 執行 安全 產業 當前中國的新能源汽車制造呈現出比以往任何時期都更加繁榮的景象,新能源汽車為汽車制造業帶來的變革效應正在日益顯現。 就整車生產而言,固有的傳統汽車廠商正在加碼新能源汽車,在國家政策鼓勵下,全新的新能汽車企業正在湧現。從

BDTC 2018探祕大資料應用(附 PPT 下載)

12 月 8 日,北京新雲南皇冠假日酒店,由中國計算機學會主辦,CCF 大資料專家委員會承辦,CSDN、中科天璣資料科技股份有限公司協辦的 2018 中國大資料技術大會(BDTC)圓滿落下帷幕。 從 2008 第一屆 Hadoop 沙龍,到 2018 的千人大會,活動已

BDTC 2018探祕大資料應用(附PPT下載)

12 月 8 日,北京新雲南皇冠假日酒店,由中國計算機學會主辦,CCF 大資料專家委員會承辦,CSDN、中科天璣資料科技股份有限公司協辦的 2018 中國大資料技術大會(BDTC)圓滿落下帷幕。 從 2008 第一屆 Hadoop 沙龍,到 2018 的千人大會,活動已

監督學習無監督學習半監督學習強化學習這四種深度學習方式

 一般說來,訓練深度學習網路的方式主要有四種:監督、無監督、半監督和強化學習。在接下來的文章中,計算機視覺戰隊將逐個解釋這些方法背後所蘊含的理論知識。除此之外,計算機視覺戰隊將分享文獻中經常碰到的術語,並提供與數學相關的更多資源。 監督學習(Supervised

機器學習資料科學深度學習和統計學之間的區別

  明晰了資料科學家所具有的不同角色,以及資料科學與機器學習、深度學習、人工智慧、統計學等領域的區別。這些概念的區別也一直是人工智慧領域熱烈討論的一個話題,Quora、多個技術部落格都曾有過解答。機器之心之前編譯的一篇文章《人工智慧、機器學習、深度學習,三者之間的同心圓關係》也對此問題進行了探討,但似乎業內

Python多程序與多執行緒程式設計(工作學習面試必讀)

程序(process)和執行緒(thread)是非常抽象的概念, 也是程式設計師必需掌握的核心知識。多程序和多執行緒程式設計對於程式碼的併發執行,提升程式碼效率和縮短執行時間至關重要。小編我今天就來嘗試下用一文總結下Python多程序和多執行緒的概念和區別, 並詳細介紹如何使

天搞深度學習--李宏毅教程分享

最好 的語音 電機 存在 aabb 工程學 bad 成功 並不是 原標題:【286頁幹貨】一天搞懂深度學習(臺灣資料科學年會課程) 本文是2016 臺灣資料科學年會前導課程“一天搞懂深度學習”的全部講義PPT(共268頁),由臺灣大學電機工程學助理教授李宏毅

世界杯迄今最火的場比賽 世界杯背後的阿裏雲黑科技

bottom 由於 otto 直播平臺 line 關於 變換 cdn 剪輯 摘要: 世界杯“法阿之戰”中帕瓦爾世界波以及姆巴佩梅開二度一定讓你印象深刻,而梅西的飲恨離開也讓不少球迷碎了心。但你知道,比賽當天的阿裏雲藏著什麽秘密嗎?世界杯“法阿之戰”中帕瓦爾世界波以及姆巴佩梅

機器學習大殺器XGBoost原理

結構 近似算法 機器 form con gin fff .cn tran http://blog.itpub.net/31542119/viewspace-2199549/ XGBoost是boosting算法的其中一種。Boosting算法的思想是將許多弱分類器集成在

外匯風險準備金率調整為 20%的含義

成本 關系 白銀 賣出 說了 通過 http 影響 重要性 要理解央行將遠期售匯業務的外匯風險準備金率調整為 20%這個操作,先要理解遠期售匯這項業務。國際貿易在中國是非常旺盛的行業,有很多企業都有結售匯的需要,而一般企業進行結售匯都是跟銀行進行。打個比方,A公司從外國進口