本文由 「AI前線」原創,原文連結:下一代技術:李飛飛靠它打造Cloud AutoML,吳恩達力挺
編輯 & 策劃|Natalie
編譯|姚佳靈、Debra
AI 前線導讀:” 遷移學習是想要實現全民玩 AI 的谷歌 Cloud AutoML 背後的核心技術,也是吳恩達在 NIPS 2016 上力推的機器學習商業化又一利器,那麼你對遷移學習足夠了解嗎?谷歌官方說的“不用寫程式碼的遷移學習”真的有那麼好用?你不知道其實微軟早在 8 個月前就推出了同樣的服務 Custom Vision 吧?今天我們就來嘮一嘮這個潛在的下一代潮流技術,還有今天刷屏的 Cloud AutoML。”
今天谷歌推出 Cloud AutoML、旨在實現全民玩 AI 的訊息又刷爆了所有科技媒體頭條和所有人的朋友圈。凌晨時分,李飛飛連發三條推特,釋出了谷歌最新 AI 產品——Cloud AutoML Vision,“無需精通機器學習,每個人都能用這款 AI 產品定製機器學習模型。”
AutoML Vision 是 Cloud AutoML 這個大專案推出的第一項服務,提供自定義影像識別系統自動開發服務。根據谷歌介紹,即使是沒有機器學習專業知識的的小白,只需瞭解模型基本概念,就能借這項服務輕鬆搭建定製化的影像識別模型。 只需在系統中上傳自己的標籤資料,就能得到一個訓練好的機器學習模型。整個過程,從匯入資料到標記到模型訓練,都可以通過拖放式介面完成。
除了影像識別,谷歌未來還計劃將 AutoML 服務擴充到翻譯、視訊和自然語言處理等領域。
是不是超厲害!是不是棒棒噠!是不是覺得小白可以翻身吊打機器學習工程師了!等等,先別激動,這事確實挺棒的,但事情可能沒有你想象的那麼簡單。
AI 前線注意到了谷歌官方部落格中提到的 Cloud AutoML 背後的核心技術——遷移學習(Transfer Learning)。通過遷移學習,谷歌就能將已訓練完成的模型(又叫預訓練模型,Pre-trained models),轉移到新的模型訓練過程,從而用較少量資料訓練出機器學習模型,而 Cloud AutoML Vision 藉助的預訓練模型,正是“又大又好”的影像資料集 ImageNet 和 CIFAR。此外,谷歌還通過 learning2learn 功能自動挑選適合的模型,搭配超引數調整技術(Hyperparameter tuning technologies)自動調整引數。
無獨有偶,在去年的 NIPS 2016 講座上,吳恩達也表示:“在監督學習之後,遷移學習將引領下一波機器學習技術商業化浪潮。”
那麼,有了遷移學習作為核心技術,Cloud AutoML 會成為下一個機器學習大殺器嗎?
專家觀點
Cloud AutoML 真的有那麼“震驚!厲害!NB!”嗎?
AI 前線在知乎上刷到了這麼一個問題“如何評價谷歌剛推出的 Cloud AutoML?”,回答者中大多都對微軟表示心疼。其實早在 8 個月之前,微軟就已經發布了幾乎一樣的服務(也不用寫程式碼、不用調引數,會拖控制元件就能幫你訓練深度學習模型)。
答主“grapeot”表示:“真是心疼微軟 pr 部門。我作為一個軟狗到今天才知道 custom vision 這個東西。google 那邊釋出會都沒開,就發了倆 twitter 媒體就轟動了。高下立判,高下立判啊!”也有答主調侃谷歌是一家“超一流的廣告公司”。
於是 AI 前線也就“谷歌的 Cloud AutoML 到底有多厲害?”等一系列問題諮詢了幾位業界技術專家,得到的答覆頗有點耐人尋味。
來自 IBM 的專家告訴 AI 前線,這還是個新興的領域,他不認為短期內會真正產生落地的影響力和實際效果。神經網路來訓練神經網路發展時間不長,所以 Cloud AutoML 的效果還需要通過實踐來進一步檢驗。
另一位不具名技術專家認為,Cloud AutoML 目前推出的第一項服務是針對 Vision 的,ImageNet 資料集夠好夠大,所以大多情況下確實能夠遷移出不錯的效果,而且視覺現在屬於比較好做的領域了,如果是 NLP、CTR 這些領域,則要難很多。大家現在有點“谷歌爸爸做的肯定都是好的”的心理,不得不說谷歌 PR 能力確實厲害。 當然,通過遷移學習實現 AutoML 這件事情本身確實給了從業者很大的想象空間,可以打破資料孤島,更低成本地解決更多問題,比如用電商的資料去做傳統行業的推薦,或者一個新公司沒有資料但可以用其他公司或行業資料來做事情。
谷歌介紹稱 AutoML Vision 提供了簡潔的圖形化使用者介面,只需匯入資料和拖拽元件就能打造全新模型,更有媒體報導直接突出“無需寫一行程式碼”,那麼真的可以不用寫程式碼嗎?這位專家諱莫如深地告訴 AI 前線:“不寫程式碼容易做,不寫程式碼能做出好結果難呀。”
第四正規化是一家致力於利用機器學習、遷移學習等人工智慧技術進行大資料價值提取的公司,而第四正規化的聯合創始人、首席科學家楊強教授更是遷移學習領域的奠基人和開拓者,他發表論文 400 餘篇,論文被引用超過三萬次。
這次 Cloud AutoML 推出後,很多讀者也對第四正規化怎麼看錶示強烈關切。 因此,AI 前線也將問題拋給了第四正規化先知平臺架構師陳迪豪,他對與我們的問題做了十分詳盡的解答,整理如下:
AI 前線:你覺得谷歌 Cloud AutoML 最大的亮點有哪些?
陳迪豪: Cloud AutoML 最大的亮點是把完整的機器學習工作流做成雲端易用的產品,使用者只需要在介面上拖拽樣本資料就可以完成資料處理、特徵抽取、模型訓練等全流程,針對影像分類這個場景在易用性上做到了極致。
AI 前線:谷歌開發 Cloud AutoML 系統的技術難度有多大?
陳迪豪: 目前根據 Cloud AutoML 的介紹,開發一個針對影像分類的 Cloud AutoML 難度並不大,通過對已經訓練好的 Inception 模型在新資料集上進行 finetune,可以得到一個效果不錯的新模型,這部分在 TensorFlow 官方文件就有介紹,開發者甚至可以在本地開發出一個“命令列版本的 Cloud AutoML Vision”。當然 Google 在過往的論文也介紹過 Learning to learn 和自動構建神經網路等演算法,這些演算法對於樣本規模和計算能力有更高的要求,目前在業界仍處於研究階段。
AI 前線:Cloud AutoML 使用了遷移學習等技術,使用者只要上傳很少的標註資料就能生成自己的模型,倒是很方便,但新模型的效果能有多好?能不能從技術角度解釋一下呢?
陳迪豪: 前面已經提到,CloudML AutoML 並沒有公開生成模型的演算法細節,可能是基於 finetune 對模型引數進行調優,或者是用 AutoML 論文的方法重新構建神經網路模型。目前看使用 finetune 可能性較大,以使用 TensorFlow 對 Inception 模型進行 finetune 為例,使用者只需要提供非常少量的標註資料即可,首先載入官方在 ImageNet 資料集上訓練完成後得到的模型引數,然後在新資料集上訓練神經網路的最後一層,根據 Label 和預測值更新部分的引數,很快就可以得到一個準確率超過 90% 的影像分類模型。當然也不排除 Google 已經使用或者未來將使用 AutoML 論文的演算法,使用使用者提供的資料集和 ImageNet 等已經標記好的資料集進行重新訓練模型,模型的引數就是構建神經網路結構的引數,模型的目標就是找到影像分類正確率最高的神經網路結構,從論文的結果看在資料量和計算能力足夠的情況下,機器訓練得到的模型與人類設計最頂尖的模型效果接近,如果應用到 Cloud AutoML 場景下效果也不會太差。
AI 前線:你認為 Cloud AutoML 會給人工智慧未來的發展帶來什麼樣的影響?
陳迪豪: Google 的 Cloud AutoML 只是 AutoML 的一種使用場景,在此之前包括微軟、亞馬遜、國內的第四正規化等公司都已經有 AutoML 的實際場景了,Cloud AutoML Vision 只是解決了在影像分類領域更低門檻的建模場景而已,在其他 State of the art 的機器學習領域並沒有大家預期的革新式影響。當然 Google Cloud AutoML 的推出迅速引起了國外內對於自動機器學習模型構建的關注,為 AutoML 的研究和落地提供了強力的背書,相信能推動這個領域在未來有更好的發展。
AI 前線:在你看來,Cloud AutoML 會不會幫谷歌在一眾雲端機器學習服務廠商(微軟 Azure、AWS、IBM 等)中脫穎而出?
陳迪豪: 在我看來目前 Google Cloud AutoML 還不是一個通用場景的機器學習解決方案,並不能可能直接淘汰微軟、亞馬遜等雲機器學習平臺。當然我們非常期待 Google Cloud 和 Google Brain 部門在 AutoML 後續的工作。隨著 AutoML 演算法的成熟和通用化,未來會有更多低門檻、貼近使用者的機器學習建模正規化出來,對人工智慧行業也是很大的利好。
AI 前線:你所在公司推出的機器學習工具目前推廣情況如何?未來是否也會計劃推出類似 Cloud AutoML 這樣的服務?或者還有別的比較重要的發展方向?
陳迪豪: 我目前在第四正規化擔任先知平臺架構師,在去年烏鎮網際網路大會上釋出的先知 3.0 就已經整合了 AutoML 功能,通過自研的 FeatureGo 自動特徵組合演算法和開源的自動調參演算法等可以實現從特徵抽取、特徵組合、模型訓練、超引數調優到模型上線等全機器學習工作流。目前我們在推薦系統提供給使用者的模型全部以 AutoML 演算法生成的。在 TensorFlow 上訓練模型實現 Learning to learn 也是我們的關注重點,除此之外像大規模的資料拼接、時序特徵抽取、模型灰度釋出、工作流視覺化以及自學習閉環都是切實的業務痛點,我們從演算法和產品維度致力於打造一個比 Google Cloud AutoML 更低門檻、並且更落地的機器學習平臺,也歡迎與同行們多多交流。
以下內容節選編譯自知名 AI 博主、愛爾蘭國立大學 NLP 博士生 Sebastian Ruder 標題為“遷移學習:機器學習的下一個前線”博文:
遷移學習到底是什麼?
在機器學習經典的監督學習場景中,如果我們打算為某個任務和 A 域訓練一個模型,假設我們為相同的任務和域提供了標記好的資料。我們可以在圖 1 中清楚地看到,對於我們的模型 A,訓練和測試資料的任務和域是一樣的。稍後,我們會給出一個任務和一個域的詳細定義。現在,我們假設一個任務是我們的模型要執行的目標,比如,在圖片中識別物體;一個域是我們的資料來源,比如,在舊金山咖啡店拍攝的影像。
圖 1:機器學習中經典的監督學習的建立
現在,我們可以在這個資料集上訓練模型 a,並期望它在相同任務和域的不可見資料上表現良好。在另一種情況下,當給定其他任務或域 B 的資料時,我們需要再次標記相同任務或域的資料,以便訓練新的模型 B,這樣我們就可以期望它在這些資料上表現良好。
當我們沒有足夠的標記資料為我們所關注的要訓練的可靠模型的任務或域時,經典的監督式學習正規化就會崩潰。
如果我們想要訓練一個模型來檢測夜間影像上的行人,我們可以應用一個已經在類似的領域進行過訓練的模型,比如:在日間影像上用過的。 然而在實踐中,由於模型繼承了訓練資料的偏差,並且不知道如何推廣到新的領域,我們往往會經歷效能的惡化或模型的崩潰。
如果我們想要訓練一個模型來執行一個新的任務,比如檢測騎自行車的人,我們甚至不能重用一個現有的模型,因為任務之間的標記是不同的。
遷移學習使我們能夠利用已經存在的某些相關任務或域的標記資料來處理這些場景。 我們嘗試把解決源域任務所獲得的知識儲存在源域中,並將其應用於我們感興趣的問題,如圖 2 所示。
圖 2:遷移學習設定
在實踐中,我們試圖從源頭轉移儘可能多的知識到我們的目標任務或域中。這種知識的形式由資料決定:它可以涉及物體是如何組成的,以便我們更容易識別新物體;可以是關於人們用來表達自己觀點的一般詞彙等等。
為什麼遷移學習這麼重要?
前百度首席科學家、史丹佛大學教授吳恩達(Andrew Ng)曾在廣受歡迎的 NIPS 2016 講座中說過:在監督學習之後,遷移學習將會成為機器學習商業成功的下一個推動力。
圖 3:Andrew Ng 在 NIPS 2016 講解遷移學習
他特意在白板上畫了一張圖,我儘可能忠實地複製成下面的圖 4(很抱歉,我沒有標記座標軸)。 據吳恩達介紹,遷移學習將成為機器學習在行業中取得成功的關鍵因素。
圖 4:Andrew Ng 所介紹的在機器學習行業中取得成功的推動力
毋庸置疑,迄今為止機器學習在行業中的使用和成功主要是由監督學習推動的。 在深度學習的進步、功能更強大的計算工具和大型標記資料集的推動下,監督學習已經重新激發了人們對人工智慧的興趣、融資和收購的浪潮,特別是近幾年來,我們已經看到機器學習的應用成為我們日常生活的一部分。 如果我們無視那些反對者和另一個 AI 冬季的預兆,而是相信 Andrew Ng 的預見,這樣的成功可能會繼續下去。
然而,不太清楚的是,為什麼儘管遷移學習已經存在了幾十年,但是目前在行業上的應用還是很少,未來是否會看到 Andrew Ng 所預測的爆炸性增長呢?甚至,與其他機器學習領域,如無監督學習和強化學習相比,遷移學習目前受到的相對較少的關注,而那些領域已經越來越受到關注:無監督學習——從圖 5 中可以看出,根據 Yann LeCun 的觀點,它是尋求通用 AI 的關鍵因素—— 已經看到了興趣的復甦,特別受到了生成敵對網路的推動。
反過來,由谷歌 DeepMind 領頭的強化學習,已經引領了 AlphaGo 的成功,並在現實世界中取得了成功,例如將谷歌的資料中心的冷卻成本降低了 40%。這兩個領域雖然有希望,但在可預見的未來可能只會產生相對較小的商業影響,而且大部分仍停留在尖端研究論文的範圍內,因為它們仍然面臨許多挑戰。
圖 5:在 Yann LeCun 所展示的蛋糕裡,顯然沒有遷移學習。
遷移學習有何特別之處?
接下來,我們來看看是什麼讓遷移學習有所不同。在我們看來,它們激發了 Andrew Ng 的預見,並概述了為什麼現在是關注遷移學習的時候。
目前在行業中對機器學習的應用呈現二元化:
- 一方面,在過去的幾年裡,我們已經獲得了訓練越來越精確的模型的能力。我們現在處於多工階段,最先進的模型已經達到了這樣一個水平,它們的效能是如此的好以至於對使用者來說,其不再是阻礙。有多好呢?在 ImageNet 上最新的殘差網路(residual networks)實現了在識別物件時超過人類的效能;谷歌的智慧回覆能夠自動處理 10% 的移動端回覆任務;語音識別錯誤率不斷下降,比打字輸入更準確;我們可以像皮膚科醫生一樣自動識別皮膚癌;谷歌的 NMT 系統用於 10 多種翻譯語言對的產生;百度能實時生成逼真的語音;這樣的事情不勝列舉。這種成熟程度能夠將這些模型大規模部署到數百萬使用者,並且已經被廣泛採用。
- 另一方面,這些成功的模型非常需要資料,並且依靠大量的標記資料來實現其效能。 對於某些任務和領域,這些可用資料是多年來一直苦心經營的。 在少數情況下,它是公開的,比如, ImageNet,但是大量的標記資料通常是專有的或昂貴的,比如許多語音或 MT 資料集,因為是它們形成了競爭優勢。
與此同時,在不熟悉的環境中應用機器學習模式時,模型面臨著以前從未見過、不知如何處理的諸多情況;每個客戶和每個使用者都有自己的偏好,擁有或產生與用於訓練的資料不同的資料;一個模型被要求執行許多與被訓練的任務相關但不相同的任務。在所有這些情況下,我們目前最先進的模型,儘管在它們所接受的任務和域上表現出跟人類一樣甚至是超人類的表現,但在效能方面卻會遭受重大損失,甚至完全崩潰。
遷移學習可以幫助我們處理這些新場景,並且這對於哪些標記資料稀缺的任務領域,要使機器學習能夠規模化應用,遷移學習是必不可少的。到目前為止,我們雖然已經將模型應用到了不少極具影響力的任務領域,但這些大多是資料“低樹果實”,為了長遠發展,我們必須學會將獲得的知識轉移到新的任務領域。
遷移學習還有哪些應用場景?
從模擬中學習
我認為遷移學習在將來會更多地應用於從模擬中學習,這也讓我感到很興奮。對於許多依靠硬體進行互動的機器學習應用程式來說,從現實世界中收集資料和訓練模型不是昂貴、耗時,就是太危險。因此,以其他風險較小的方式收集資料是比較明智的。
在這方面,模擬是首選工具,並已在實踐中被用於許多先進的機器學習系統。從模擬中學習,將獲得的知識應用到實踐是遷移學習的其中一個應用場景。因為源域和目標域之間的特徵空間是相同的(通常兩者都依賴於畫素),但是模擬和現實場景中的邊界概率分佈不同,儘管隨著模擬更接近現實,這種差異逐漸減小,但模擬場景中的物體和來源看起來仍然不同。同時,由於難以完全模擬現實世界中的所有反應,模擬與現實世界中的條件概率分佈也不盡相同,例如,物理引擎不能完全模仿現實世界中物體的複雜互動。
圖 6: 谷歌無人駕駛汽車(來源: 谷歌研究院部落格)
然而,從模擬中學習也有好處,即可以更輕鬆地收集資料,這是因為模擬學習可以並行多個學習案例,在輕鬆繫結和分析物體的同時進行快速訓練。因此,對於需要與現實世界進行互動的大型機器學習專案,它可以作為首選,比如自動駕駛汽車(參見圖 6)。據谷歌的自動駕駛汽車技術負責人 Zhaoyin Jia 介紹,“如果你真的想做一輛自動駕駛汽車,模擬是必不可少的”。Udacity 已經開源了其用於訓練自動駕駛汽車工程師的奈米級模擬器,如圖 7 所示。OpenAI 的 Universe 也有可能會使用 GTA5 或其他視訊遊戲來訓練自動駕駛汽車。
圖 7:Udacity 的自動駕駛汽車模擬器(來源:TechCrunch)
另一個模擬學習將發生關鍵作用的應用領域是機器人技術:在一個真正的機器人上訓練模型速度太慢且成本很高。從模擬中學習,並將知識遷移到實踐中的機器人可以緩解這個問題,並且最近獲得了很大的關注 [8]。圖 8 是在現實世界和模擬場景中的資料操作任務示例。
圖 8:機器人和模擬影像(來源:Rusu 等,2016)
最後,從模擬中學習是通向通用 AI 不可或缺的部分。訓練一個代理直接在現實世界中實現通用人工智慧代價太大,並且在初期不必要的複雜性會妨礙學習的效果。相反地,基於模擬環境進行學習會事半功倍,如圖 9 中可見的 CommAI-env。
圖 9:Facebook 人工智慧研究院的 CommAI-env(來源:Mikolov 等, 2015)
適應新的域
雖然從模擬中學習是領域適應的一個特殊案例,我們還是有必要列出一些其他適應領域的例子。
在計算機視覺方向,領域適應是一個常見的需求,因為標籤上的資訊很容易獲取,而我們真正關心的資料是不同的,無論是識別在圖 10 中所示的自行車,還是在陌生環境中的其他物體。即使訓練和測試資料看起來並無差異,但其中仍然可能包含對人類來說難以察覺,並會導致模型產生過度擬合的細微偏差。
圖 10:不同的視覺領域(來源:Sun 等,2016)
另一個常見的領域適應場景,是適應不同的文字型別:標準的 NLP 工具,例如詞類標註器或解析器,通常會使用諸如《華爾街日報》等自古以來就用於評估模型的新聞資料進行訓練。然而,使用新聞資料訓練的模型難以適應更新穎的文字形式,如來自社交媒體的訊息。
圖 11:不同的文字型別
即使在比如產品評論這樣的一個領域,人們也會用不同的詞語來表達同樣的概念。因此,使用一種型別評論的文字的訓練模式應該能夠區分該領域的專業詞彙和普通人使用的詞彙,以免被領域的轉換所迷惑。
圖 12:不同的主題
最後,上述問題只是涉及到一般的文字或影像型別,但是如果將之擴大到與個人或使用者群體有關的其他領域,問題就會被放大:比如語音自動識別(ASR)的情況。 語音有望成為下一個大有可為的領域,預計到 2020 年,語音搜尋的佔比將達 50%。傳統上,大多數 ASR 系統在 Swithboard 資料集上進行評估,該資料集由 500 個說話者構成。標準口音還好,但系統很難理解移民、有口音、有言語障礙的人或兒童的語音。現在我們比以往任何時候都需要能夠滿足個人使用者和少數群體需求的系統,以確保每個人的聲音都能被理解。
圖 13:不同的口音
跨語言的知識遷移
最後,在我看來,遷移學習的另一殺手級應用,是將從一種語言學習中獲得知識應用到另一種語言,我已經寫過關於跨語言嵌入模型的文章。可靠的跨語言適應方法將使我們能夠利用已擁有的大量英文標籤資料,並將其應用於任何語言,尤其是不常用和資料缺乏資源的語言。鑑於目前的最新技術水平,這似乎仍然是個烏托邦,但 zero-shot 翻譯等取得的最新進展預示著我們有望在這方面更進一步。
總而言之,遷移學習為我們提供了很多激動人心的研究方向,特別是許多需要模型的應用程式,這些模型可以將知識轉化為新的任務並適應新的領域。
谷歌的這場 Cloud AutoML 大秀,不論有多少 PR 的成分,只要能夠推動遷移學習這一技術方向的發展,就不失為一件好事。
更多幹貨內容,可關注AI前線,ID:ai-front,後臺回覆「AI」、「TF」、「大資料」可獲得《AI前線》系列PDF迷你書和技能圖譜。