智能單元第100篇 最前沿:解讀ICLR 2018 Best Paper:基於Meta Learning在動態競爭環境中實現策略自適應

1 前言

智能單元專欄走過2個年頭了!首先非常感謝廣大知友的關注,是你們的支持讓專欄可以一直走到現在!現在到了專欄的第100篇,我想應該選擇一個合適的話題來聊一聊,那麼正好,ICLR 2018的best paper和Meta Learning有關。所以,今天專欄第100篇文章,我們就一起來解讀一下這篇文章,同時也談談Meta Learning的現在與未來!

這篇paper的全稱是:Continuous Adaptation via Meta-Learning in Nonstationary and Competitive Environments

paper鏈接在這裡:

https://arxiv.org/abs/1710.03641?

arxiv.org

ICLR review在這裡:

Continuous Adaptation via Meta-Learning in Nonstationary and Competitive Environments?

openreview.net

來自於OpenAI,或者說Pieter Abbeel團隊。他們這個團隊這一兩年來真的太生猛了,從DRL做到Meta Learning,有點勢不可擋。可以說,DeepMind在Meta Learning上也是落後於OpenAI和UCB了。

那麼對於這篇paper,我們需要思考以下幾個問題:

  1. 這篇paper做了什麼?為什麼做這個?
  2. 這篇paper的方法論在Meta Learning下是不是可以有不一樣的做法?
  3. 為什麼這篇paper的review得分這麼高,並最終拿到best paper award?
  4. 這篇paper給我們帶來什麼啟發?下一步Meta Learning應該如何發展?

為了探討以上這些問題,我們先來思考一個問題:

Meta Learning有什麼用?

2 Meta Learning有什麼用?

這一兩年來Meta Learning的興起主要是Few Shot Learning的緣故。深度學習需要海量數據和人類智能相去甚遠,因此能否實現Few Shot Learning少樣本學習是大家希望能夠解決的深度學習的痛點。而這兩年的研究發現Meta Learning能夠比較好的處理Few Shot Learning的問題,可以實現快速學習。那麼大家就想,既然在Few Shot Learning上(之前主要指監督學習)可以work,那麼是不是在其他問題上比如增強學習,無監督學習也可以work呢?

那麼確實,事實上是可以的。

https://arxiv.org/abs/1611.05763?

arxiv.org

Learn to Reinforcement Learn 首先提出了Deep Meta Reinforcement Learning的概念,讓神經網路可以對rl任務進行快速學習!

https://arxiv.org/abs/1710.10304?

arxiv.org

Few-shot Autoregressive Density Estimation: Towards Learning to Learn Distributions 這篇文章則通過Meta Learning的方法實現了Few shot image generation。

所以,一個很自然的問題就來了:是不是Meta Learning的作用就是實現Few Shot Learning呢?快速學習還有什麼其他類型的問題嗎?

要記住,我們是希望通過Meta Learning來實現AGI的,只是實現Few Shot Learning就可以AGI嗎?

這些都是基本的問題,也說明了目前大家對Meta Learning的理解還不夠深入,對於它能取到的作用能有多大還不是特別清楚,只知道這是一個絕對重要的方向。

那麼這篇paper提出了一個可以說很不一樣的問題:策略動態自適應!這是continual learning,而我們希望能夠最快最有效率的調整策略來適應新的環境變化!

哇!這太重要了!

這是開了一個新的reinforcement learning的大坑呀!

為什麼這麼說?因為我們之前研究的reinforcement learning的問題,一般就是單一環境,在Atari環境中打打磚塊,在Vizdoom裡面撿撿血包等等,這些問題有一個很強的假設,就是環境是固定不變的,也因此,我們可以針對這個環境專門訓練出一個策略來應對。然而現實世界不是這樣的,現實世界是不斷變化的,我們需要不斷學習,不斷適應新的環境呀!

比如憤怒的小鳥space:

圖片來自http://3.bp.blogspot.com/-ATYEPLmfqMc/UVGzX_XEDOI/AAAAAAAAdYQ/FiKCmk0iq_w/s1600/Angry_Birds_Space_(PC)_25.jpg

那麼我們可以設想這樣一個場景:如果重力是不斷連續變化的怎麼辦?可能屏幕顯示的一模一樣的場景,但有的重力是1g,有的是0.8g。這要怎麼處理?現有的DRL方法保證通通失效!因為現有的DRL方法完全無法去感知重力這個東西!!

然後這篇paper祭出了Meta Learning大招,告訴我們,通過Meta Learning的方式,我們就可以實現策略動態自適應!

3 談談這篇paper基本思想!

我想說這篇paper的思想實在是太簡單了大家會相信嗎?

idea的核心:使用之前的歷史經驗(包含歷史的策略Policy和歷史的軌跡Trajectory)來創建出新的策略Policy!

這非常符合我們人類的思維方式!

我們人之所以能夠快速適應新環境也是在於我們可以利用歷史經驗來調整我們的策略。比如要下雨啦,大家趕緊來收衣服呀!我們看到要下雨了(徵兆),然後我們調整我們的行為(收衣服)!

那麼我們回到具體的Reinforcement Learning的問題上,paper中選擇的實驗是螞蟻對戰!

那麼在這個實驗中,對手的策略也會不斷變化,那麼我們的螞蟻要戰勝對手螞蟻,就需要能夠不斷根據對手的變化調整自身的對戰策略。注意,這是一個即時性要求非常強的問題,所以就特別適合這篇paper的方法論:它每次就使用上一次的trajectory和policy來更新出新的policy!如果不是即時性非常強的問題,而需要長時記憶,那麼它的這個方法就不見得行得通了。

4 談談Paper的方法論

由於Chelsea Finn在之前祭出了MAML這個非常簡單的Meta Learning方法,所以UCB和OpenAI這群人就使勁在這個方法上灌!

https://arxiv.org/abs/1703.03400?

arxiv.org

MAML的思想大概可以用一句話來概括:

訓練一個好的初始化網路,從而在面對新任務時只使用少量數據就能更新出一個適應新任務的網路!

訓練方法則是:

使用Meta-Training的方法:使用訓練數據做幾步的梯度下降更新當前網路(保持梯度),然後使用測試數據在更新後的網路下得到損失函數Loss,最後通過Loss梯度下降更新最初的那個網路!(有點拗口,要深入理解還是看paper吧)

那麼這篇paper其實在方法論上nothing new,只是直接套用了MAML的方法到具體的問題設定上,變成使用上一次的policy和trajectory更新出一個新的policy,然後利用新的policy 得到新的trajectory,利用新的trajectory 更新一開始的(上一次的)policy!

感覺這裡在完全沒有Meta Learning概念的情況下很難用一句話說清楚。大家可以看上圖右下那個圖,Meta Learning就是學習了一個Meta Model (	heta^*,alpha^*) ,那麼我們有上一次的poliy pi_{phi_{i-1}} ,並使用 pi_{phi_{i-1}} 得到一組trajectory 	au_{i-1}^{1:K} ,使用這兩個通過Meta Model更新得到一個新的policy pi_{phi_{i}} 。這就是策略動態自適應調整的過程了!

方法論就簡單分析到這,要深入理解,還是需要看paper原文。

5 其他Meta Learning方法行不行呢?

當然可以!只要能夠和這篇paper一樣動態的利用之前的歷史經驗更改當前的策略就ok了,所以比如這篇paper:

A Simple Neural Attentive Meta-Learner?

openreview.net

直接使用帶條件的神經網路(conditional neural network)來實現,也可以,效果上由於網路夠大,還可能更好!

6 Why Best Paper?

為什麼這篇paper能夠拿到best paper呢?從review的情況上看,我覺得主要是因為這篇paper提出了一個全新的問題,更接近實際AGI需要解決的問題,非常有價值,同時通過MAML提出了一個針對性的Meta Learning方法,取得了很不錯的效果,再加上paper寫的很不錯!

可以說,提出一個新問題新思路比解決問題更重要!當我看到這篇paper的時候,我也才意識到Meta Learning還可以有這樣的直接應用:

不僅僅是要面對新的任務,而是我們其實每時每刻面對的都是新任務!

這讓我們可以更進一步的感受到Meta Learning的強大潛力。

7 接下來會是什麼?Meta Learning

談完了這篇Best Paper我們再回到Meta Learning本身,更AGI的談一談!

這一兩年來,Meta Learning可以說是深度學習領域最前沿,也最引起廣泛興趣的一個研究領域了。為什麼Meta Learning會興起我想是有原因的,因為深度學習的淺層點到點映射並不夠智能,我們需要能夠讓神經網路學習更深層次的知識也就是Meta Knowledge,這才能實現真正的智能。何為真正的智能?初生嬰兒的大腦是真正的智能,而我們希望我們的人工神經網路能夠模擬初生嬰兒的大腦,而這需要Meta Learning!

那Meta Reinforcement Learning (Meta RL)呢?這是更通用性的一種人腦的模擬。在最近剛出的DeepMind的一篇文章中

Prefrontal cortex as a meta-reinforcement learning system?

www.biorxiv.org

作者將人腦的前額葉皮質和多巴胺類比了RL中的model-based Learning和model free Learning,而綜合兩者功能的正是Meta Reinforcement Learning。我們人腦就是一個Meta Reinforcement Learning的系統,也正因為如此,我們才會不斷的吸收知識,並且應用於新事物的學習。

要實現AGI,我們就要構建這樣的Meta RL系統,讓其可以實現lifelong learning,transfer learning,continual learning及few shot learning。

最近OpenAI也針對Meta RL提出了一個專門的Benchmark,還舉行了比賽OpenAI Retro Contest可見世界上最前沿的研究組織就正在對Meta RL進行深入研究。

那麼Meta RL需要怎樣的一個系統?

這會是一個非常複雜的網路結構,在Reinforcement Learning基本框架包裹下的一個複雜神經網路,包含了視覺特徵的提取,記憶,最後的執行網路,也包含了規劃,預測及對整個模型的構建(可以認為是神經網路對環境的思考)。綜合以上模塊的神經網路系統將會變得非常強大,可以處理目前還很難處理的各種問題。實際上,不管是DeepMind還是OpenAI,都在這些方面進行了不斷的研究和嘗試,我們有理由相信未來的超複雜神經網路會是一種趨勢,而這種超複雜神經網路是一個Meta RL系統!

8 小結

目前Meta RL可以說是一個才剛剛開始的新領域,在細節上還有各種各樣的問題,如何才能真正的提升效果是每一個研究者需要考慮的問題。我們今天解讀的best paper就是Meta RL上一個非常好的角度!

回到我們智能單元專欄上,我們會一如既往的為大家分享最前沿的和AGI通用人工智慧相關的知識,特別是Meta Learning上的最新進展,希望大家能夠共同進步!推動AGI的發展!


推薦閱讀:

TAG:深度學習DeepLearning | 人工智慧 | metalearning |