本文由 「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迷你書和技能圖譜。