李飛飛發布的谷歌AutoML真的能讓AI民主化么?

李飛飛發布的谷歌AutoML真的能讓AI民主化么?

來自專欄數據汪5 人贊了文章

大數據文摘出品

作者:笪潔瓊、蔣寶尚、魏子敏

昨天的谷歌雲全球NEXT大會(Google Cloud Next 18)上,李飛飛宣布,谷歌AutoML Vision進入公共測試版,並推出了兩款新的AutoML產品:AutoML Natural Language和AutoML Translation。

這款谷歌力推的產品在今年1月份面世之時,就擔負著讓AI民主化的重大使命,同時也與李飛飛作為「AI民主化推進者」的形象深度綁定。

作為谷歌雲的首席科學家,李飛飛在這一產品發布時,連發三條推特表達激動之情:

「我很榮幸地宣布AutoML Vision面世。無需精通機器學習,每個人都能用這款AI產品定製機器學習模型。這是『AI民主化』的重要進展!」

——李飛飛

這個名為Cloud AutoML的宏大項目浮出水面之時,被業內稱為「Google Cloud發展的戰略轉型」——一直以來面向機器學習人工智慧開發者的Google Cloud,這次將服務對象轉向了普羅大眾。

當時這一產品的主要對象還是圖像識別,昨天的谷歌雲大會上,產品線已經拓展到翻譯、視頻和自然語言處理領域。

谷歌的宏偉願景由此可見一斑——你只需在改系統中上傳自己的標籤數據,大能得到一個訓練好的機器學習模型。整個過程,從導入數據到標記到模型訓練,都可以通過拖放界面完成。

其實在谷歌發布AutoML前後,機器學習自動化的產品風潮已經吹起:2017年底,微軟發布CustomVision.AI,涵蓋圖像、視頻、文本和語音等各個領域。今年 1 月,他們又推出了完全自動化的平台 Microsoft Custom Vision Services(微軟定製視覺服務)。

鏈接:

customvision.ai

此外,另一個比較火爆的AI自動化產品OneClick.AI 是 2017 年底出現在市場上的一個自動化機器學習(AML)平台,其中既包括傳統的演算法,也包括深度學習演算法。

鏈接:

oneclick.ai

同年,國內也出現了不少相關產品,稱能夠解放演算法工程師,讓AI自動化。

那麼,這些機器學習自動化工具真的可以替代演算法工程師甚至AI團隊嗎?

昨天在谷歌更新兩款新的AutoML新產品後,業內掀起了對這一話題的探討。Keras之父,同時也是谷歌大腦人工智慧和深度學習研究員的Fran?ois Chollet 發布推特表達了對這一產品的質疑:

我們很快會發現AutoML與強化學習同樣的問題:人們將整個問題領域(非常廣泛和非常重要)與極其特殊的(有缺陷的)方法聯繫起來。?

Fast.ai創始人、USF副教授Rachel Thomas則通過一個系列的3篇文章,詳細論述了「深度學習自動化」這一業內風潮,她講述了機器學習從業者工作上最大的難點、AutoML的發展過程,並詳細描述了谷歌這款產品的原理以及存在的問題,探討很有價值。

大數據文摘對這一個系列的文章進行了精華編譯,來一起看看,谷歌AutoML真的能讓AI民主化么?

機器學習從業者到底在做什麼?

媒體頭條經常報道機器學習人才匱乏,同時,經常有公司宣稱「本公司的產品能夠幫助無專業背景的人能使用機器學習」。

谷歌人工智慧主管Jeff Dean在TensorFlow開發者大會上表達了他的觀點:數以千萬計的公司坐擁大量數據,這些數據非常適合用來做機器學習,但是他們缺乏必要的專業知識和技能。

事實上,機器學習(特別是深度學習)中最耗時和最難的兩個方面其實是:處理數據格式化和培養深度學習模型。

問題來了:我們可以通過自動化解決這兩個麻煩的問題嗎?

CMU和DeepMind的研究人員最近發布了一篇有趣的新論文,稱為差異化架構搜索(DARTS),它提供了一種神經架構搜索的替代方法,這是目前機器學習的一個非常熱門的領域。

神經架構搜索在去年是一個大熱門,谷歌首席執行官 Sundar Pichai 和谷歌的AI負責人Jeff Dean 都提出:神經架構搜索及其所需要的大量計算能力,這兩點是普及機器學習的必要條件。

自去年一月份以來,谷歌一直往這個方向努力,並且得到了科技媒體的廣泛關注。

關於谷歌AutoML的大量外媒報道??

2018年3月,在TensorFlow開發者峰會的主題演講期間,谷歌AI負責人Jeff Dean提出,未來谷歌可能會用100倍的計算能力,取代機器學習專業知識。 同時,他也以神經架構搜索為例,說明了為什麼我們需要100倍的計算能力才能使更多人能夠使用機器學習。

Jeff Dean在TensorFlow開發者峰會上的Keynote??

AutoML到底是什麼?用自動化機器學習工具「武裝」非機器學習專家,這件事真的對嗎?接下來我們將深入研究這些問題。

AutoML到底是什麼?

一般來說,AutoML這個術語多被用來描述模型選擇和/或超參數優化的自動化方法。

這些方法適用於許多類型的演算法,例如隨機森林,梯度增強機器,神經網路等,AutoML庫、研討會、研究和競賽都可以被囊括進這一領域。

初學者常會有這樣的看法:為模型選擇調參模型是個碰運氣的過程,而自動化工具可以使這部分工作變得更容易,即使是經驗豐富的機器學習從業者,也可以為其工作提高效率。

在谷歌發布AutoML之前,業內已經存在不少AutoML庫。其中最早的是2013年發布的AutoWEKA,其可以自動選擇模型並選擇超參數。

其他值得注意的AutoML庫包括auto-sklearn(將AutoWEKA擴展為python)、H2O AutoML和TPOT。 AutoML.org(以前稱為ML4AAD,用於自動演算法設計的機器學習)自2014年以來,一直被用在ICML等機器學習學術會議上。

AutoML真的有用嗎?

AutoML提供了一種選擇模型和優化超參數的方法。 它可通過獲取基線,從而了解問題的性能級別。 這是否意味著我們不在需要數據科學家?並不是,因為機器學習從業者還有其他一些有意義的事情要做。

對於許多機器學習項目,選擇模型只是構建機器學習產品的複雜過程的一部分。 如果參與者沒有看到各個部分是如何相互關聯的,那麼項目就會失敗。 雖然AutoML可以幫助選擇模型並選擇超參數,但是最重要的是判斷機器學習還需要哪些專業的知識,以及如何解決出現的問題。

什麼是神經結構搜索?

那麼什麼是神經結構搜索呢?谷歌CEO Sundar Pichai曾表示:「設計神經網路非常耗時,需要具有專門背景知識的人,並且,對專業知識的高要求限制了創業公司和小的社區使用它。

這種使用「神經網路設計神經網路」的方法被稱為神經結構搜索,通常使用強化學習或進化演算法來設計新的神經網路結構。

這很有用,因為它使我們發現了更多複雜的體系結構,並且這些體系結構可以針對特定的目標進行優化。但是神經結構搜索非常耗費算力。

確切地說,神經架構搜索通常涉及學習「單元」之類的東西,從而通過組裝一堆重複的單元格來創建神經網路:

關於神經結構搜索的學術論文的文獻很多,所以我將在這裡重點介紹幾篇最近的論文:

1.「人工智慧」這一術語在谷歌人工智慧研究人員Quoc Le和Barret Zoph的工作中有著突出的地位。研究成果在2017年5月在Google I / O上展出。此項研究是使用強化學習來尋找計算機視覺的新架構,並取得了與現有架構類似的結果。

相關論文鏈接:

ai.googleblog.com/2017/

左邊更簡單的架構是由人設計的,右邊更複雜的架構是由神經網路設計的??

2.Nasne來自可擴展圖像識別的學習可轉移結構。此工作在小數據集上搜索體系結構構件,然後為大型數據集(ImageNet)構建體系結構。這項研究非常耗費算力,花費了1800個GPU日(相當於1個GPU工作5年時間)來學習架構(谷歌的團隊使用了500個GPU 4天!)

相關論文鏈接:

arxiv.org/abs/1802.0154

3.高效的神經架構搜索(ENAS):使用的GPU小時數比以前現有的自動模型設計方法少得多,特別是比標準的神經架構搜索要少1000倍。

相關論文鏈接:

arxiv.org/abs/1707.0701

什麼是DARTSRTS?

可區分的架構搜索(DARTS),這項研究最近由卡內基梅隆大學和DeepMind的一個團隊發布。 DARTS假設候選架構的空間是連續的,這允許它使用基於梯度的aproach,這比大多數神經架構搜索演算法效率高得多。

要學習Cifar-10的網路,DARTS僅需4個GPU日,相比之下,NASNet需要1800 GPU日,AmoebaNet為3150個GPU日(所有學習精度相同)。 這是效率的巨大提升!對這一方向的探索雖然還有很長的路要走,但這是一個很有前景的研究方向。 鑒於谷歌經常將神經架構搜索與巨大的計算能力等同起來,有效的架構搜索方法很可能未被充分探索。

神經架構搜索有用嗎?

在TensorFlow DevSummit主題演講中,Jeff Dean建議深度學習工作的一個重要部分是嘗試不同的架構。

ioJeff Dean的幻燈片顯示,神經架構搜索可以對20種不同的模型進行嘗試,從而來找到最準確的。

但是,選擇模型只是構建機器學習產品的複雜過程的一部分。 在大多數情況下,架構選擇遠不是問題中最難,最耗時或最重要的部分。 目前,沒有證據表明每個新問題最好用它自己獨特的架構建模。

谷歌等公司致力於架構設計,並共享他們發現的架構,所以這些公司正在提供重要且有用的服務。 然而,只有那些致力於基礎神經結構設計的研究人員才需要基礎架構搜索方法。

怎麼才能讓機器學習從業者更有效率?

AutoML領域,包括神經架構搜索,主要關注的問題是:我們如何自動化模型選擇和超參數優化? 但是,自動化忽視了人類輸入的重要作用。

另一個問題:人類和計算機如何協同工作才能使機器學習更有效?而Augmented ML的重點就在於解決這個問題。

augmented ML的一個例子是Leslie Smith的學習速率查找器,它在Quickai庫中實現,並在免費深度學習課程中作為關鍵技術。學習速率是一個超參數,它可以決定模型訓練的速度,甚至決定模型是否成功。

通過查看生成的圖表,學習速率查找器允許人類非常快的找到良好學習速度。它比AutoML更快地解決了同樣的問題,提高了數據科學家對訓練過程的理解。

關注於自動選擇超參數還有另一個問題:它忽略了某些類型的模型的有用性以及需要調優的超參數較少、對超參數的選擇不那麼敏感的可能性。例如,隨機森林相對於梯度增強器的一個關鍵好處是,隨機森林更穩健,而梯度增強器往往對超參數的微小變化相當敏感。因此,隨機森林被廣泛應用於工業領域。

谷歌的AutoML:從炒作開始

在發 布穀歌的Au toML時谷歌首席執行官Sundar Pi曾如此公開表示了谷歌的願景:我們希望AutoML能力能夠達到今天一個人類博士的水平,並且可以在三、五年內使滿足數十萬神經網路設計的特殊需求。

在TensorFlow開發者峰會上,Jeff Dean的演講??

在TensorFlow開發者峰會上,Jeff Dean還提到,計算能力的巨大提升可以替代機器學習的專業知識,而讓他有自信這麼說的,是一種對計算能力要求極高,但是有很強遷移能力等神經架構——搜索神經架構。

這引發了一系列問題:成千上萬的開發人員需自己根據他們的特殊需求設計新的神經網路?還是神經網路本身已經可以有一種有效的方法類推自行設計?

大量的計算能力真的可以取代機器學習專業知識嗎?

在思考谷歌力推這一產品背後的利益動機之前,讓我們先來了解一下,谷歌的AutoML到底是什麼?

谷歌的AutoML到底是什麼?

儘管AutoML這一術語早已存在,但直到2017年5月,谷歌才將這一名詞帶入更多人的視野中,其用AutoML命名了自家一款神經架構搜索方法。

谷歌CEO Sundar Pichai在Google I /O大會後的一篇博文中寫道,「神經網路的設計非常耗時且對專業要求很高,為此,我們創建了一種名為AutoML的方法,希望讓神經網路自己設計神經網路。我們希望證明,神經網路是可以設計神經網路的,這就是一種名為AutoML的方法。」

之後,在今年1月,谷歌雲發布了一套被稱為AutoML的機器學習產品,在昨天的谷歌雲NEXT 18大會上,李飛飛宣布了這一產品的新進展:進入公共測試版,並推出了兩款新的AutoML產品:AutoML Natural Language和AutoML Translation。

根據的顯示產品頁面,Cloud AutoML Vision依賴於兩種核遷技術:遷移學習和神經架構搜索。

什麼是遷移學習?

簡單來說,遷移學習是一種具備強大「舉一反三」能力的技術,通過利用已經訓練過類似的大型數據集的預訓練模型,可以讓擁有較小數據集或較少計算能力的模型獲得最好的結果。遷移學習不必從頭開始,它通常可以比不使用遷移學習的模型使用更少的數據和計算時間,但達到更高的準確性。

AI神經結構搜索與遷移學習:兩種相反的方法

遷移學習的基本原則是利用神經網路架構,對相似的問題進行經驗推廣:例如,許多圖像具有各種各樣的底層特徵(例如角落,圓圈,狗臉或輪子)。

而神經架構搜索的基本原則恰恰相反,其認為,每個數據集都擁有一個讓其表現最佳的獨特架構。

圖像分類器學習到的4個特徵:方框、圓圈、狗臉和輪子,例子來自Matthew Zeiler和Rob Fergus??

當神經架構搜索發現一個新的體系結構時,你必須從頭開始學習該體系結構的權重,而在遷移學習中,必須從一個預先訓練的模型的現有權重開始。在這個意義上,你不能用同樣的問題來搜索和進行遷移學習:如果正在學習一種新的體系結構,你需要訓練它的新的權重;而如果在一個預先訓練的模型上使用轉移學習,就不能對模型進行實質性的改變。

當然,可以將遷移學習應用於神經架構搜索學習的體系結構,只需要少數研究人員使用神經結構搜索從而找到適合的模型,但是,並不是所有的機器學習實踐者都需要使用神經結構來搜索問題。

神經架構搜索有什麼用處

神經架構搜索有利於尋找新的架構。谷歌的AmoebaNet就是通過神經結構搜索學到的,而且,隨著學習進度的推進,AmoebaNet已經有了很大的進步。

AmoebaNet沒有擴展能力的獎勵功能,因此它不能像ResNet一樣擴展到多台機器,但是可以在將來學習可擴展的神經網路,針對不同的質量進行優化。

需要更多探討

並沒有證據表明,所有的數據集都使用自定義模型建模的效果好於對模型進行的微調。由於神經結構搜索需要更多的數據集,這對於較小的數據集尤其是一個問題。甚至谷歌自己的一些研究也使用了遷移學習,並沒有對所有的數據集都找到一個新的體系結構,比如Nasnet,它在Cifar 10上學習了一個體系結構的構件,然後使用這個構件為ImageNet創建了一個體系結構。

此外,我們還不知道,谷歌追捧的,對神經架構搜索的海量計算是一種高級的方法。例如,最近的一些論文,比如高效的神經架構搜索(ENAS)和可微架構搜索(DARTS),提出了更有效的演算法。DARTS每天只需要4個GPU,相比之下,NASNet需要1800GPU日和AmoebaNet 3150 GPU日(在cifar 10上能得到了同樣的精度)。

傑夫迪恩是ENAS論文的作者,該論文提出了一種技術,這種技術的計算成本是1000倍,這似乎與他在一個月後的TF DevSummit大會上的強調不一致,比他使用的方法是100倍的成本高得多。

那麼,為什麼大家都對谷歌AutoML進行追捧呢?

考慮到以上的限制,為什麼谷歌 AutoML的宣傳與它的有效性(至少到目前為止)是如此的不相稱?

我可以想到這些原因:谷歌的AutoML強調了將學術研究實驗室嵌入一家盈利性公司的一些危險和誘惑,試圖圍繞有趣的學術研究來建立產品,而不去評估它們是否滿足了實際需要。這也是許多人工智慧初創企業的故事,比如MetaMind或幾何智能(Geometric Intelligence),它們最終都是在沒有生產產品的情況下被收購的。

我對創業公司創始人的建議是,不要只僱傭學術研究人員。

谷歌擅長營銷。人工智慧被許多局外人視為一個難以訪問和令人生畏的領域,他們不認為自己有辦法評估索賠,尤其是來自像谷歌這樣受人崇拜的公司。許多記者也因此成為了這一問題的犧牲品,並且不加批判地將谷歌的炒作轉化為熱情洋溢的文章。我定期與那些在機器學習中不工作的人進行交流,卻對他們從未使用過的各種Google ML產品感到興奮,也無法解釋任何東西。

當谷歌人工智慧研究人員發布了一項「重建真正的人類基因組的深度學習技術」時,谷歌對自己的成果進行了誤導性的報道,並將他們自己的研究成果與獲得諾貝爾獎的發現(傲嬌!)進行了比較,而這則新聞是由《連線》雜誌找到的。

然而,美國約翰霍普金斯大學生物醫學工程、計算機科學和生物統計學教授Steven Salzberg駁斥了谷歌的帖子。Salzberg指出,這項研究並沒有真正重建人類基因組,「只是對現有軟體的一種漸進式改進,甚至可能比這還要少。」許多其他基因組研究人員也加入了薩爾茨伯格的觀點。

在谷歌上有一些很不錯的工作正在進行,但如果我們不需要對如此多的誤導性宣傳進行篩選,以弄清楚什麼是標準的,那就更容易理解了。

谷歌的DeepVariant「不過是對現有軟體的一種漸進式改進,甚至可能比這還要小。」

讓我們相信有效利用深度學習的關鍵在於更大的計算能力,這是一種既得利益,因為這是一個他們明顯能擊敗了我們的領域。AutoML通常在計算上非常昂貴,比如在谷歌的例子中,使用450 K40 GPUs 7天(相當於3150 GPU日)來學習AmoebaNet。

雖然工程師和媒體經常對裸金屬的力量和更大的東西非常看好,但歷史表明,創新往往是由約束和創造力產生的。谷歌使用最昂貴的計算機進行儘可能大的數據;這真的能概括出我們這些人在有限資源的有限世界中所面臨的問題嗎?

創新來自於做不同的事情,而不是做更大的事情。最近的比較快成功的是。在斯坦福大學的「道恩斯基」比賽中,人工智慧就是一個例子。創新來自於做不同的事情,而不是做更大的事情。

——瑞秋托馬斯

我們如何解決機器學習專業知識的短缺?

回到Jeff Dean在他的TensorFlow DevSummit大會上提出的關於全球機器學習從業者短缺的問題,有可能採取不同的方法。

我們可以從以下幾個方面減少使用深度學習的最大障礙:

  • 使深度學習更容易使用揭露關於深入學習的專業知識神話
  • 增加對缺乏使用雲計算GPU的資金或信用卡的用戶的訪問
  • 使深度學習更容易使用

讓深度學習更容易使用的研究產生了巨大的影響,使訓練更好的網路變得更快更簡單。現在已經成為令人興奮的標準實踐,發現例子有:

  • 半路出家的人可以在不過度擬合的情況下對較小的數據集進行培訓。
  • 批量標準化允許更快的培訓。
  • 修正的線性單元有助於避免梯度爆炸。

提高易用性的最新研究包括:

  • 學習率的發現者使訓練過程更加穩固。
  • 超級融合加快了訓練,只需要更少的計算資源。
  • 對現有架構的「自定義頭」(例如,修改ResNet,最初是為分類而設計的,以便它可以用於查找邊界框或執行樣式傳輸),從而在一系列問題中更容易地復用架構。

以上的發現都沒有涉及到裸金屬(bare-metal)的力量;相反,所有這些都是創造性的想法,以不同的方式來做事。

關於如何進行深度學習的誤區

另一個障礙是,許多「神話」讓人們相信,深度學習並不適合他們:錯誤地認為他們的數據太小,他們沒有專業的教育或背景,或者他們的電腦配置不夠好。

有一個這樣的神話說,只有機器學習的博士才有能力使用深度學習,而許多負擔不起昂貴專家費用的公司甚至都懶得去嘗試。然而,公司不僅有可能去培訓他們已經擁有的員工,能成為機器學習專家,這甚至更棒,因為你現在所擁有的員工已經擁有了你所在領域的專業知識!

我在麻省理工學院技術評論會議上的演講中,我談到了6個誤區,這些誤區讓人們錯誤地相信,使用深度學習比實際應用更困難。

對於絕大多數與我交談過的人來說,深度學習的難度遠遠低於他們的預期:一年的編程經驗和對GPU的訪問。

編譯後記

在AI自動化的浪潮下,不少創業公司充滿疑惑,既然未來人工智慧的發展方向是走向自動化,我到底還需要自己的數據科學團隊嗎?

大數據文摘曾在本月初就這一問題採訪了微軟大中華區CTO韋青,他的回答或許有一定的參考性:

AI團隊只能是自己的。

微軟、阿里或者百度,提供的就像電力一樣,是一種「智能力」,企業要把這種智能力轉化成自己行業的演算法。第三方不會知道企業的流程怎麼才是最優秀的,好的做法應該是由第三方為企業提供最優秀的基礎演算法和充分的算力,企業自己把數據採集上來,培養自己的專家,當然這個專家也可以由第三方幫忙培養,但一定要了解行業經驗、行業知識,結合自己的行業知識和經驗來得出適合自己的演算法。

企業在這個過程中可以源源不斷地使用第三方提供的計算力,這種計算力的表現形式只是最基本的compute,就是說第三方會提供一些基礎的演算法,但是不可能幫助企業解決人工智慧的問題,這方面企業一定要靠自己。

企業要培養自己的人才,但沒有必要培養所謂算力的人才,因為算力是勞動密集型、資金密集型的;也不是要培養演算法的人才,而是要培養利用演算法的行業人才。

就像要擰螺絲,最終目的只是要把兩個傢具擰在一起,而並不是要螺絲和螺絲刀,沒有必要自己去開個螺絲刀廠,只需要從德國買一個最好的螺絲刀過來擰上,就可以了。


推薦閱讀:

詳解人工智慧(AI) 機器學習(ML) 深度學習(DL)
終結每小時20刀的AutoML!開源AutoKeras了解下
8 個超贊的深度學習課程(附評分)
機器學習實戰|人口普查收入預測案例(很全!建議收藏)
AUC的理解與計算

TAG:科技 | 機器學習 | 谷歌Google |