Learning to Learn: Meta-Critic Networks 深度學習的九陽神功

今天要介紹的論文《Learning to Learn: Meta-Critic Networks for Sample Efficient Learning》是利用Reinforcement Learning中Multi-agent Actor-Critic的架構來做到Meta Learning,或又稱作Learning to Learn,也就是"學會學習"。可以想成在學習的過程中再學出一個心法,有助於之後學其他東西的時可以學得更快一些。引用此篇作者的比喻,也就是像張無忌學會了「九陽神功」之後要再學其他武功就很快啦。

其實Meta Learning近期的研究百花齊放,各家思路都有獨到之處,而本篇也提出一個關於"Learning to Supervise"的新想法,核心就是運用一個好的Loss來更有效地引導學習。這個Loss對應到RL的Actor-Critic之中就也變成了Q-value(Critic)。小編認為可以想成若有一個上知天文,下知地理,將萬世融會貫通的超級老師(Critic),當有一個新學生(Actor)在面對一個新的任務(Task)時,在超級老師的陪同指導下,學生就能更快速地通關上手囉:)

因此本篇提出的Meta-Critic Networks將原本的Critic拆成Meta-Value Network以及Task-Actor Encoder。Meta-Value Network部分是一個Centralised Critic,訓練目標也就如上所述,希望做到一個能評價任何Task以及任意Actor的模型,經過學習後,這個超級老師就能從過去看過的眾多Task及Actor做Generalization。Task-Actor Encoder部分則是用一個RNN來Encode當前“Learning Trace”,以提供Meta-Value Network一個隱含Task及Actor類型資訊的Embedding。值得一提的是,這個透過RNN的方式也帶來了更大的彈性,不需要固定Actor的形式。可參考下方的示意圖:

  • "Learning Trace": (s:state, a:action, r:reward)

實驗部分首先是測試Few-shot Learning的能力,題目會隨機生成一個由sine函數及線性函數混合的特定函數,而任務目標就是盡快猜出這個混合模型的參數。可以見到下方Table 1,Meta-Critic在不同Few-shot設定下都能達到State-of-the-art(先前是MAML)。其中Meta-Critic-SL是Actor先透過Supervised Learning來Pre-train的版本,結果其實跟一般的Meta-Critic差不多,表示光靠Meta-Critic就能有效的加速Actor學習。另外,從Figure 2.來觀察擬合的情形,也能發現Meta-Critic的表現都比MAML來得好。

另一個有趣的實驗則是隨機長度的Cartpole Control,從下方Figure 3.我們也能發現Meta-Critic雖然初始的效果落後,但後續的效果爬升非常快,隨即就超越了MAML。而本篇也分析了Task-Actor Encoder的效果,透過觀察不同長度Cartpole Task轉換出的Embedding,發現呈現出一個對應長度的分佈趨勢,因此說明了確實能藉由Encode "Learning Trace"的資訊來界定Task。

更多細節建議參考:
- 原文
- 作者專欄

Share the joy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

近期文章

近期迴響

彙整

分類

其它

leoyang Written by:

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *