學習如何學習一直是機器學習領域內一項艱鉅的挑戰,而最近 UC Berkeley 的研究人員撰文介紹了他們在元學習領域內的研究成功,即一種與模型無關的元學習(MAML),這種方法可以匹配任何使用梯度下降演算法訓練的模型,並能應用於各種不同的學習問題,如分類、迴歸和強化學習等。
智慧的一個關鍵特徵是多面性(versatility):完成不同任務的能力。目前的 AI 系統擅長掌握單項技能,如圍棋、Jeopardy 遊戲,甚至直升機特技飛行。但是,讓 AI 系統做一些看起來很簡單的事情,對它們來說反而比較困難。取得 Jeopardy 冠軍的程式無法進行對話,專業的直升機特技飛行控制器無法在全新的簡單環境中航行,比如定位起火現場、飛過去然後撲滅它。然而,人類可以在面對多種新情況時靈活應對並自發適應。怎樣才能使人工智慧體獲得這樣的多面性呢?
人們正在開發多種技術來解決此類問題,我將在本文中對其進行概述,同時也將介紹我們實驗室開發的最新技術「與模型無關的元學習」(model-agnostic meta-learning)。
- 論文地址:https://arxiv.org/abs/1703.03400
- 程式碼地址:https://github.com/cbfinn/maml
現在的 AI 系統可以透過大量時間和經驗從頭學習一項複雜技能。但是,我們如果想使智慧體掌握多種技能、適應多種環境,則不應該從頭開始在每一個環境中訓練每一項技能,而是需要智慧體透過對以往經驗的再利用來學習如何學習多項新任務,因此我們不應該獨立地訓練每一個新任務。這種學習如何學習的方法,又叫元學習(meta-learning),是通往可持續學習多項新任務的多面智慧體的必經之路。
什麼是學習如何學習?它可以應用到哪裡呢?
最早的元學習法可以追溯到 20 世紀 80 年代末和 90 年代初,包括 Jürgen Schmidhuber 的理論和 Yoshua、Samy Bengio 的研究工作。最近,元學習再次成為熱門話題,相關論文大量湧現,多數論文使用超引數選擇(hyperparameter)和神經網路最佳化(neural network optimization)技術,進而發現優秀的網路架構、實現小樣本影像識別和快速強化學習。
近來多種元學習方法
少次學習(Few-Shot Learning)
2015 年,Brendan Lake 等人發表論文挑戰現代機器學習方法,新方法能夠從一個概念的一個或多個樣本中學習新概念。Lake 舉例說,人類能夠將上圖識別為「奇怪的兩輪車」,但機器不能僅根據一張圖片泛化一個概念(同樣僅展示一個示例,人類就可以從新的字母表中學習到一個字元)。在該論文中,Lake 總結出一組手寫字元資料集 Omniglot,它被認為是 MNIST 的「調換(transpose)」,該資料集共有 1623 個字元類,每一類僅僅只有 20 個樣本。2015 年國際機器學習大會(ICML)論文中,就有學者分別使用了記憶增強神經網路(memory-augmented neural network)和順序生成模型(sequential generative model)展示了深度模型能夠學會從少量樣本中學習,即使目前仍然達不到人類的水平。
元學習方法的執行機制
首先元學習系統會在大量任務中進行訓練,然後測試其學習新任務的能力。例如每一個類別給出幾個樣本,那麼元學習是否能在將新的圖片正確分類,或者在僅提供一條穿過迷宮的通道時,模型能否學會快速穿過新的迷宮。該方法包括在單個任務上訓練和在留出樣本上測試,與很多標準機器學習技術不同。
用於少量影像分類的元學習樣本
在元學習過程中,模型在元訓練集中學習不同的任務。在該過程中存在兩種最佳化:學習新任務的學習者和訓練學習者的元學習者。元學習方法通常屬於下面三個範疇中的一個:迴圈模型(recurrent model)、度量學習(metric learning)和學習最佳化器(learning optimizer)。
迴圈模型
這種元學習方法訓練一個迴圈模型(即 LSTM),模型從資料集中獲取序列輸入,然後處理任務中新的輸入。在影像分類設定中,這可能包括從(影像、標籤)對資料集中獲取序列輸入,再處理必須分類的新樣本。
輸入 xt 和對應標籤 yt 的迴圈模型
元學習者使用梯度下降,而學習者僅執行迴圈網路。該方法是最通用的方法之一,且已經用於小樣本的分類、迴歸任務,以及元強化學習中。儘管該方法比較靈活,但由於學習者網路需要從頭設計學習策略,因此該方法比其他元學習方法的效率略低。
度量學習
即學習一個度量空間,在該空間中的學習異常高效,這種方法多用於小樣本分類。直觀來看,如果我們的目標是從少量樣本影像中學習,那麼一個簡單的方法就是對比你想進行分類的影像和已有的樣本影像。但是,正如你可能想到的那樣,在畫素空間裡進行影像對比的效果並不好。不過,你可以訓練一個 Siamese 網路或在學習的度量空間裡進行影像對比。與前一個方法類似,元學習透過梯度下降(或者其他神經網路最佳化器)來進行,而學習者對應對比機制,即在元學習度量空間裡對比最近鄰。這些方法用於小樣本分類時效果很好,不過度量學習方法的效果尚未在迴歸或強化學習等其他元學習領域中驗證。
學習最佳化器
最後一個方法是學習一個最佳化器,即一個網路(元學習者)學習如何更新另一個網路(學習者),以使學習者能高效地學習該任務。該方法得到廣泛研究,以獲得更好的神經網路最佳化效果。元學習者通常是一個迴圈網路,該網路可以記住它之前更新學習者模型的方式。我們可以使用強化學習或監督學習對元學習者進行訓練。近期,Ravi 和 Larochelle 證明了該方法在小樣本影像分類方面的優勢,並表示學習者模型是一個可學習的最佳化過程。
作為元學習的初始化
遷移學習最大的成功是使用 ImageNet 預訓練模型初始化視覺網路的權重。特別是當我們進行新的視覺任務時,我們首先只需要收集任務相關的標註資料,其次在 ImageNet 分類任務中獲取預訓練神經網路,最後再使用梯度下降在相關任務的訓練集中微調神經網路。使用這種方法,神經網路從一般大小資料集中學習新的視覺任務將會變得更有效。然而,預訓練模型也只能做到這一步了,因為神經網路最後幾層仍然需要重新訓練以適應新的任務,所以過少的資料仍會造成過擬合現象。此外,我們在非視覺任務中(如語音、語言和控制任務等)並沒有類似的預訓練計劃。那麼我們能從這樣的 ImageNet 預訓練模型遷移學習過程中學習其他經驗嗎?
與模型無關的元學習(MAML)
如果我們直接最佳化一個初始表徵,並且該表徵能採用小資料樣本進行高效的的調參會,那麼這樣的模型怎麼樣?這正是我們最近所提出演算法的背後想法,即與模型無關的元學習(model-agnostic meta-learning MAML)。像其他元學習方法一樣,MAML 需要在各種任務上進行訓練。該演算法需要學習訓練一種可以很快適應新任務的方法,並且適應過程還只需要少量的梯度迭代步。元學習器希望尋求一個初始化,它不僅能適應多個問題,同時適應的過程還能做到快速(少量梯度迭代步)和高效(少量樣本)。下圖展示了一種視覺化,即尋找一組具有高度適應性的引數θ的過程。在元學習(黑色粗線)過程中,MAML 最佳化了一組引數,因此當我們對一個特定任務 i(灰線)進行梯度迭代時,引數將更接近任務 i 的最優引數θ∗i。
MAML 方法的圖解
這種方法十分簡單,並且有很多優點。MAML 方法並不會對模型的形式作出任何假設。因此它十分高效,因為其沒有為元學習引入其他引數,並且學習器的策略使用的是已知的最佳化過程(如梯度下降等)而不是從頭開始構建一個。所以,該方法可以應用於許多領域,包括分類、迴歸和強化學習等。
儘管這些方法十分簡單,但我們仍驚喜地發現,該方法在流行的少量圖片分類基準 Omniglot 和 MiniImageNet 中大幅超越許多已存的方法,包括那些更復雜和專門化的現有方法。除了分類之外,我們還嘗試了學習如何將模擬機器人的行為適應到各種目標中,正如同本部落格最開始所說的動機,我們需要多面體系統。為此,我們將 MAML 方法結合策略梯度法進行強化學習。如下所示,MAML 可以挖掘到優秀的策略,即令模擬機器人在單個梯度更新中適應其運動方向和速度。
MAML on HalfCheetah
MAML on Ant
該 MAML 方法的普適性:它能與任何基於梯度最佳化且足夠平滑的模型相結合,這令 MAML 可以適用於廣泛的領域和學習目標。我們希望 MAML 這一簡單方法能高效地訓練智慧體以適應多種情景,該方法能帶領我們更進一步開發多面體智慧體,這種智慧體能在真實世界中學習多種技能。
論文:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
論文地址:https://arxiv.org/abs/1703.03400
摘要:我們提出了一種與模型無關的(model-agnostic)元學習演算法,它能匹配任何使用梯度下降演算法訓練的模型,並能應用於各種不同的學習問題,如分類、迴歸和強化學習等。元學習的目標是在各種學習任務上訓練一個模型,因此我們就可以只使用少量的梯度迭代步來解決新的學習任務。在我們的方法中,模型的引數能精確地進行訓練,因此少量的梯度迭代步和訓練資料樣本能在該任務上產生十分優秀的泛化效能。實際上,我們的方法可以很簡單地對模型進行引數微調(fine-tune)。我們證明,MAML 方法在兩個小規模影像分類基準上有最優秀的效能,在少量樣本回歸中也產生了非常優秀的效能,同時它還能透過神經網路策略加速策略梯度強化學習(policy gradient reinforcement learning)的微調。