每日最新頭條.有趣資訊

谷歌自動化機器學習真的那麽神嗎?

7月24日,在Google Cloud Next大會上,Google帶來Cloud AutoML的全新進展,又成功吸引一大波注意。

Google AI首席科學家李飛飛宣布,推出正式版的Cloud AutoML Vision,同時,新增用作自然語言處理的AutoML Natural Language和用作翻譯的AutoML Translation。至此Google Cloud AutoML擁有視覺、自然語言處理、翻譯等多種服務。

對於承載著AI民主化使命的AutoML,大多數媒體都是一片讚譽。而fast.ai創始者之一Rachel Thomas特意撰寫三篇博文對AutoML的局限進行反思。為了深入理解AutoML,雷鋒網也特意採訪了一些國內致力於AutoML的公司,一起探討AutoML真的是AI的未來,還是大家期望過高?創業公司要進入AutoML領域如何與大公司競爭?

AutoML 真的是給小白的嗎?

要完成一個機器學習項目,不管是影像識別、語音識別還是自然語言處理,其實現的過程都需要包括:數據預處理、特徵選擇、模型算法選擇、調參、上線後模型的再優化、效果評估。

人工設計機器學習模型的過程中,神經網絡的設計是一大難點,需要設計師非常有經驗。Google CEO Sundar Pichai曾經這樣介紹AutoML,“目前,設計神經網絡非常費時,並且需要專家只在科學和工程領域中的一小部分進行研究,為了解決這一問題我們創造了一種名為AutoML的工具,有了它,神經網絡可以設計神經網絡。”

據Google介紹,Google Cloud AutoML有三大核心技術:神經架構搜索技術(Neural Architecture Search Technology)、learning2learn以及遷移學習(transfer learning)。Cloud AutoML主要承擔了機器學習中特徵選擇、模型算法選擇以及調參部分。神經架構搜索技術可以自動搜索出一個好的參數+神經網絡結構組合,而遷移學習則可以記住最終開發者認可的模型,下一次可以做得更好更快。

雷鋒網也曾發文分析,Google Cloud AutoML中的神經架構搜索技術用神經網絡設計神經網絡的方式其實就是如下圖所示:

左邊有一個名為「控制器」(the controller)的 RNN,它設計出一個「child」的模型架構(雷鋒網覺得可以稱之為「雛形/子架構」),而後者能夠通過某些特定任務進行訓練與評估。隨後,反饋的結果(feedback)得以返回到控制器中,並在下一次循環中提升它的訓練設定。這一過程重複上千次——生成新的架構、測試、再把反饋輸送給控制器再次學習。最終,控制器會傾向於設計那些在數據集中能獲得更高準確性的架構,而反之亦然。

AutoML Vision是Google Cloud AutoML的首個版本,據Google介紹,即使是沒有機器學習專業知識的小白,只需了解模型基本概念,就能借這項服務輕鬆搭建定製化的影像識別模型。只需在系統中上傳自己的標簽數據,就能得到一個訓練好的機器學習模型。整個過程,從導入數據到標記到模型訓練,都可以通過拖放式界面完成。

聽起來很厲害,不少人對AutoML Vision也是一片讚譽,特別是李飛飛和李佳也都對此寄予厚望。李飛飛在2018年發布Google Cloud AutoML時,說到:“在差不多一年多以前我們兩個人共同加入谷歌雲的時候,我們都心懷一個使命,那就是讓 AI 平民化。我們的目標是降低 AI 的使用門檻,讓 AI 對盡可能多的開發者、研究者和商業用戶來說變得觸手可及。”

李飛飛表示谷歌AutoML是在TensorFlow和Cloud Vision API之間的產品,能讓非專業機器學習人士根據需求開發機器學習模型,這個定位如何理解,什麽樣的人用TensorFlow,什麽樣的人用Cloud Vision,以及什麽樣的人用AutoML?

智鈾科技創始人夏粉告訴雷鋒網,TensorFlow比較適合於算法科學家,適合於有一定機器學習基礎的人用來研究算法以及應用。Cloud Vision適合於關心AI應用的人,希望用AI模型直接解決應用場景問題,比如說像人臉識別,直接拿API進行人臉識別,這裡的模型是已經建好的模型。AutoML介於兩者之間,它適用於機器學習背景較弱或者沒相關經驗的人來建模,根據手頭場景數據,建立針對該場景的模型。可以說TensorFlow研究如何建模,AutoML是幫助建模,Cloud Vision是直接使用模型。

有不少媒體在報導AutoML時都寫到,無需寫一行代碼就能自動生成機器學習模型,這或許有些言過其實,即使AutoML不寫代碼也能用,但是沒有經驗的人不太可能從中獲得想要的結果。

AutoML有哪些限制

Rachel Thomas在博文中分析到,Google Cloud AutoML目前還有不少限制。第一個最大的限制就是其需要大量的算力,Google 採用的神經架構搜索方法需要用500GPU訓練4天。在2018年3月的TensorFlow開發者峰會上,Jeff Dean表示在未來,Google Cloud將會以100倍的算力取代機器學習專家,而對於算力有強大要求的神經架構搜索就是例證。

其次,機器學習的步驟很複雜,數據清洗和模型訓練是機器學習中最為耗時的部分,雖然AutoML解決了模型的訓練,但是數據清洗依然對數據科學家有很高的要求。

此外,神經架構搜索要做的是尋找新的架構,而目前大多數人其實並不需要全新的架構,通過遷移學習已知的架構就能解決問題。

雲腦科技核心算法工程師徐昊告訴雷鋒網,AutoML目前還面臨三個問題。第一是計算量:目前的AutoML優化算法要能發揮效能,在超參數太空中要能夠采樣足夠多的點。每一個采樣點都是一種超參數的配置,需要經過一次完整的訓練過程。在較大的項目,如在線CTR預估中,模型大數據大,每一次完整的訓練都很耗資源。這種情況下,使用AutoML進行自動調優耗時極長,往往不是項目周期所能接受的。

二是局限性:AutoML算法目前主要針對的是調參,以及部分特徵抽取方面的問題,可以說只是機器學習項目中的一個環節。在實踐中要搭建一個能夠落地的模型,還有很多因素需要考慮。例如對於不同類型數據,如何選取合適的模型;模型大小,特徵選擇與最終deloy時serving延時的trade off等等。

三是人類工程師的參與:AutoML在當前的狀態下,在大項目中完全取代人類工程師難度是很大的。我們認為較好的方式,應該是AutoML能夠與人類工程師協作,AutoML的優化算法能夠展示調參過程與方向,便於工程師參與介入。並且提供合適的接口,將人工經驗引入自動學習的過程。

AutoML還將有哪些細分服務?

與AutoML Vision同理,AutoML Natural Language和AutoML Translation也是為了促進AI民主化,讓更多的公司和開發者能夠輕鬆打造自己的自然語言處理應用,或者是AI翻譯應用。

Cloud AutoML Natural Language能夠用於自動預測客戶所需要的自定義文本類別,比如美國出版與多元化傳媒巨頭赫斯特集團(Hearst)就在使用Google的這項新工具對其內容進行管理,他們的高級副總裁Esfand Pourmand表示,這個工具能夠讓赫斯特生成自定義的AI模型應用於內容管理,其精度高於其他方案。

Cloud AutoML Translation則可以為客戶提供定製化的翻譯需求,日本經濟新聞社(Nikkei Group)數字業務常務董事Hiroyuki Watanabe表示,Cloud AutoML Translation這項工具能夠快速對內容進行定製化的翻譯,其準確率“讓人印象深刻”。

Google Cloud研發負責人李佳談到,“至此,AutoML可以為各行各業缺乏AI經驗的企業和開發者提供自動生成影像、語言、翻譯功能。AutoML的注冊用戶也已經超過18,000家,服務行業橫跨媒體、零售、金融、保險、能源、醫療、環境等等。”

為什麽谷歌要針對不同的應用場景推出相應的AutoML版本?

雲腦科技中國區數據算法負責人黃頌認為,不同領域的數據處理,特徵抽取,模型選擇與調優過程差別較大。例如NLP模型中,需要抽取很多與語法有關、甚至與關鍵詞在句中文中的位置有關的特徵。而Vision模型中,需要抽取與影像histogram有關的特徵,差異較大。Google推出的細分場景的AutoML,應該能夠提高自動學習在各領域的效率。至於先推出AutoML Vision是因為飛飛更懂vision。相對於自然語言領域來說,影像視覺領域目前研究更加充分,數據集也更加豐富。另外,影像和語音領域可以獲得更加原始的數據資訊,而自然語言的文本其實已經是經過人腦處理和抽象的結果,前者更容易為神經網絡所處理。

但對於AutoML來說,背後很多技術是相通的。從AutoML Vision獲得的經驗,也可以遷移。根據谷歌的介紹,新出的兩個系列應該也是搭建在AutoML引擎中的自動調優和Transfer Learning兩大模塊之上,是各自細分領域的更新版。

AutoML的本質是利用優化算法代替人類工程師進行模型調優等工作,從而降低專家成本。在細分領域上,如果該領域的數據特點和處理流程比較獨特(因而不能直接套用其它領域的AutoML方案),或者人類專家在解決此領域問題時存在大量機械重複無創造性的勞動,那這部分工作就很有可能將來被AutoML取代掉。

夏粉認為就像ML(機器學習)裡的研究點非常多一樣,AutoML裡也有很多可研究的技術。並且技術會不斷更新進步,每個場景下適用的數據、特徵、算法以及應用過程都不一樣,需要針對性的AutoML版本,不同場景要用不同的機器學技術來做。AutoML的技術也會逐漸深入細分,比如AutoML Vision裡面有AutoML影像和AutoML影片,NLP裡面也有中文和英文。

創業公司入局AutoML

Google將自家的項目取名為Google Cloud AutoML,在名字上佔了很大的便利,以至於現在很多人以為AutoML就是Google家的。

AutoML的概念其實源自於2012年學術界提出的新觀念——Programming by Optimization(PbO),意在解決編程時人工調校參數的問題。學界和業界對AutoML已有諸多的實踐,我們也看到了一些產品,例如微軟的CustomVision.AI、國內智鈾科技的“小智”、雲腦科技的Deepro平台。

雷鋒網好奇,在這個領域,創業公司如何與大公司競爭?

夏粉告訴雷鋒網,我覺得跟Google AutoML做差異化競爭的話,一個是說AutoML技術點非常多,那麽創業公司可以從裡面挑一個點然後集中精力去做,解決某一類AutoML問題,把它做到商業化、做到垂直化。第二個是說Google AutoML這個策略主要是配合Google Cloud平台,希望讓更多客戶使用Google Cloud。而對於創業公司的話可以注重於私有化部署這塊市場,可以做一些非雲方面的事情。第三個是可以做不同行業的AutoML解決方案(比如說金融行業,安全行業,行銷行業,我們也有針對不同行業的版本),專門為了一個垂直行業而降低機器學習的門檻。對於智鈾來說,類似 AutoML Vision 和NLP這種類似的產品未來可能會做,眼前還是做跟Google有些差異化的產品。

雲腦科技核心算法工程師徐昊表示,Google的AutoML是搭配在其雲平台上進行銷售的。用戶使用AutoML的時間越長,Google Cloud的收益也越大。然後對於普通公司,往往不一定有Google Cloud那樣的計算資源。即便擁有大量的計算,往往也限於項目的周期限制,對現有AutoML的計算效率有更高的要求。

在計算資源不是賣點的情況下,往往需要中小創業公司給出更精細化的AutoML方案。雲腦在研發AutoML產品的時候有三個優化方向。首先是更高效,我們在更深層次進一步降低AutoML的計算量,讓自動調參能夠達到工程實踐的需求。其次是更全面,通盤考慮了整個ML流程落地的全局因素,進行全局優化。其三高透明度,更注重AutoML的工具性,讓人類工程師能夠更好的觀察與介入。

看來,正如很多行業人士對雷鋒網所說,人工智能是一個全新的時代,目前還沒有出現真正的類似互聯網時代的巨頭,能夠直接霸佔所有的領域。新的時代,新的機遇,正適合創業公司開辟自己的土壤。

獲得更多的PTT最新消息
按讚加入粉絲團