機器也能學會如何學習?——元學習介紹
- 2019 年 10 月 7 日
- 筆記
本文作者王健宗,特此修正。 MetaLearning,簡稱元學習,是機器學習的一個子領域。它將自動學習演算法應用到機器學習實踐用到的元數據中,它的主要目標是使用元數據來了解元學習,並且通過提高現有的學習演算法的性能或者學習學習演算法本身,靈活地解決學習問題。
基本介紹
元學習的思想是學習「學習訓練」的過程,旨在設計能夠通過訓練一些實例來快速學習新技能或適應新環境的模型。通常有三種方式:1)學習一個有效的距離度量標準(metric-based);2)使用具有外部存儲或者內部存儲的網路(model-based); 3) 明確優化模型參數以進行快速學習(optimization-based)。
元學習起源於認知科學領域,最早可以追溯到1979年。在John Biggs(1985)的著作中可以找到一個較為簡單的定義,他將元學習定義為 「意識到並控制自己的學習」 。
在人工智慧系統的背景下,元學習可以簡單地定義為獲取知識多樣性(knowledge versatility)的能力。作為人類,我們能夠以最少的資訊同時快速完成多個任務;例如人類在有了世界的概念之後,看一張圖片就能學會識別一種物體,而不需要想神經網路一樣一切都得從頭訓練;又例如在學會了騎自行車之後,可以基本在很短時間裡無障礙地學會騎電動車。
目前的AI系統擅長掌握單一技能,例如Go,Jeopardy甚至直升機特技飛行。但是,當你要求AI系統做各種簡單但各略有不同的問題時,它會很困難。相比之下,人類可以智慧地行動和適應各種新的情況。
元學習要解決的就是這樣的問題: 設計出擁有獲取知識多樣性能力的機器學習模型,它可以在基於過去的經驗與知識下,通過少量的訓練樣本快速學會新概念和技能。
我們期望一個良好的元學習模型能夠很好地適應或推廣到在訓練期間從未遇到過的新任務和新環境。對新任務的適應過程,實質上是一個mini learning session,這個過程只需要少量的訓練就可以快速完成。最終,適應後的模型可以完成新任務。這就是為什麼元學習也被稱為learning to learn的原因。
以下為幾個經典的元學習任務場景:
1) 在非貓影像上訓練的分類器可以在看到一些貓圖片之後判斷給定影像是否包含貓
2) 遊戲機器人能夠快速掌握新遊戲
3) 迷你機器人在測試期間在上坡路面上完成所需的任務,即使它僅在平坦的表面環境中訓練
元學習系統通常有如下定義:
1) 該系統必須包括一個子學習系統;
2) 經驗是利用提取的元知識獲得的;
3) 只學習之前學習中單個或不同領域的數據集;
4) 要動態的控制學習誤差。
經典案例
一個好的元學習模型應該在各種學習任務上進行訓練,並對所有的任務進行優化,包括可能潛在的不可見任務上。對於分類任務而言,每個任務都與一個數據集D相關聯,D包含特徵向量和真實標籤。
少樣本分類問題是元學習在監督學習領域中的實例。數據集通常分為兩部分,一套用於學習的數據集S和一套用於訓練或測試的數據集B。在應用場景上通常考慮將少樣本分類問題定義為"K樣本-N類別"分類任務:對於N個類中的每個類,數據集包含每個類別的K個標記示例。具體理解參考下圖:

圖14-1 4樣本-2分類案例
上圖有3個框框,每一個框框是一個數據樣本,大量的數據樣本構建成了一個數據集,這點跟傳統監督學習的數據集意義不太像。
每一個數據包含兩種標籤, 標籤間不具有相關性,隨機抽樣而成的,所以花跟自行車會放在一起;4 shot是指每個標籤都只有4個樣本,這跟我們的訓練目地一致:小樣本下的快速學習;最終我們希望通過訓練得到一個模型,在測試的時候可以只通過8個樣本的小樣本訓練就可以完成狗和海獺的分類。
整個過程包含同一個模型兩個階段的訓練。
一個是基於訓練數據樣本的元模型訓練,一個是基於測試數據樣本的基於特定任務的泛化模型訓練。
我們希望利用訓練的數據樣本來擬合一個具有強泛化能力的元模型,這個模型可以在沒見過測試數據樣本上僅用8張圖片進行泛化就能快速得到一個高品質的分類器。
具體怎麼構造實現這個元模型的訓練,有很多種不同的方法,如孿生網路,匹配網路,原型網路,圖網路等。
深入了解元學習
通過以上的定義,我們會發現元學習與多任務學習以及遷移學習有非常相似的地方;從適應新任務的角度看,像是多任務學習;從利用過去資訊的角度看,又像遷移學習。
l元學習模型的泛化不依賴於數據量。遷移學習的微調階段還是需要大量的數據去喂模型的,不然效果會很差。而元學習要做到的是,在新的任務上只用很少量的樣本就可以完成學習,看一眼就可以學會。從這個角度看,遷移學習可以理解為元學習的一種效率較低的實現方式。
l元學習實現是無限制的任務級別的泛化。多任務學習是基於多個不同的任務同時進行損失函數優化,它的學習範圍只限定在這幾個不同的任務里,它不具有學習的特性。而元學習是要基於大量的同類任務(如影像分類任務)去學習到一個模型,這個模型可以有效泛化到所有影像分類任務上。
元學習從結合角度來看,可以分成三大塊:監督學習[4]、無監督學習[5][25]和強化學習[6]。在監督元學習中,最長碰到的就是Few Shot Learning[7]問題,也就是我們常說的少樣本學習問題。
元監督學習在少樣本分類問題中注重於演算法[10],通過學習演算法的參數話模型和訓練集合的定義來代表不同的分類問題,每個樣本都有一個小標記訓練集和測試集。

圖14-2 元強化學習
元強化學習的流程圖如圖14-2所示,在元強化學習的應用中,最著名的例子是Deep Mind在探索多巴胺在人腦中的地位,並據此提出了強化學習模型未來的發展思路。該研究中使用AI來探索大腦中的多巴胺所發揮的幫助學習的作用。通過這項研究,Deep Mind使用元強化學習(meta-RL)演算法,指出多巴胺的作用不僅僅是獎勵對過去行為的學習,它發揮的是整體作用,特別是在前額葉區域,它使我們能高效地學習新知識、執行新任務——而不需要像深度學習演算法那樣,依賴大量數據進行訓練。運用元強化學習(meta-RL)演算法[12]能真正幫助人類解決各種類型的問題,而不只是執行某個特定任務,這將使得AI真正適用到人們的生活、工作中。以AI機器人將來或走進千家萬戶為例,每個人對AI機器人的要求是不同的,每個家庭的環境也並不相同,如果AI機器人運用元強化學習(meta-RL),不需要長時間的學習就能快速靈活的適應各種需求。
而對於無監督元學習,針對的是以下任務:
1)使用無標籤樣本來學習一個好的特徵表達;
2)利用這個特徵表達在少樣本學習問題上取得好的效果;
這樣的設計是很合理的,因為無監督學習的最終目標是要在特定任務上取得比較好的效果。傳統的無監督學習方法比如VAE[9],通過訓練神經網路得到一些特徵表達,但是卻無法直接說明VAE[9]的這套學習方式是直接對特定任務有利。舉一個的例子:image captioning影像標註問題,一開始是使用監督學習來訓練神經網路,但是採用的是人為設計的評價指標來評價效果的好壞,這種情況下監督學習和評價指標沒有直接聯繫。所以近年來image captioning就採用增強學習的方法,基於評價指標來改進網路的效果,這就有了直接聯繫。
元學習應用的發展
在機器學習領域,DeepMind的一個研討會課件給出了如下的一個總結,元學習的模型通常包括基於模型的方法、基於度量的方法和基於最優的方法,如圖14-3所示。

圖14-3 元學習模型分類方法分類
在應用上元學習涉及到方方面面,包括影像領域的少樣本學習,還有在強化學習領域的元強化學習;在GAN[12]領域也有相關的應用。
元學習領域湧現出很多意義重大的研究。隨著研究界對元學習的理解整體得到提升,傳統的隨機梯度下降法(SGD)[14]將被邊緣化,轉向更有效的方法,將更具爆發性和探索性的搜索方法結合起來。
元學習互聯網的普及與發展使得網路上主觀性文本如產品、新聞、社會事件的評論等大量出現[10],使用元學習和機器學習相結合的模型,很大程度上縮減了深度學習網路的訓練時間,並且能夠較大幅度的提高模型分類的準確度。
文章摘自:《深入理解AutoML和AutoDL》機械工業出版社.2019.9
