要使Agent有人的智慧有兩種手段:
強化學習(Reinforcement Learning)
模仿學習(Imitation Learning)
模仿學習,又稱Learning by demonstration/apprenticeship(學徒) learning。爲何會出現模仿學習呢?
與環境互動,卻難以明確reward的數值
一些任務難以定義reward
人工設定的reward可能導致agent一些不可控的行爲(撞死人)
模仿學習的方法:
此時BC等效於監督學習,在確定的狀態 s i s_i si下要輸出 a i a_i ai逼近專家的經驗值 a i ^ \hat{a_i} ai^。而這會出現以下問題:
第一種問題可以使用Dataset Aggression的方法進行解決。具體做法是:面對錯誤的數據,不進行在線修改(即單步修正),專家對錯誤數據給出標籤,在回合結束後,本輪訓練數據成爲新的訓練數據。
傳統的RL可表達爲下圖1:
IRL可表達爲下圖1:
通過專家的引入,反學習出獎勵函數,以此學習最優的actor(agent的policy)。並且由於獎勵函數更容易建模,而簡單的獎勵函數有時可以促成複雜的策略。IRL具體的操作流程如下圖1:
可以看出IRL與GAN有很大的相似之處,我們簡單來列舉下相似點1。
IRL | GAN |
---|---|
Actor | Generator |
Reward Function | Discriminator |
第一人稱視角,手把手教導;第三人稱視角,看着學。
以往的句子生成模型均是使用極大似然(maximum likelihood),缺乏創造性,使用IRL技術的SeqGAN則是更好的一種方法。