這篇博文中的Imitation learning關注於和強化學習的結合,但imitation learning自身其實是一個獨立的概念。這篇博文面向強化學習,如果你單純想了解imitation learning,請參閱其他地方。
We want RL Algorithm that Perform
- Optimization(優化)
- Delayed consequences(延遲結果)
- Exploration(探索)
- Generation(泛化)
- And do it all statistically and computationally efficiently(統計性地,計算高效性地執行以上過程)
Generalization and Efficiency
- 這篇博文將稍後探討高效探索
- 但學習一個能泛化的MDP存在困難,可能會需要很大數量的採樣才能學習到一個好的策略
- 這個數量可能是無法實現的
- 替代思路:使用結構化和額外的知識來幫助約束和加速強化學習
- 這篇博文:模仿學習(Imitation Learning)
- 之後的博文:
- 策略搜索(Policy Search)(可以將領域知識以要使用的策略簇形式來進行編碼)
- 策略探索(Strategic exploration)
- 再輔以人工協助(以教導、指定回報、指定動作的形式)
Imitation Learning with Large State Spaces
Consider Montezuma’s revenge
以蒙特祖瑪復仇爲例,注意下面這張圖是訓練了五千萬幀的結果。演示視頻可以在下面那個youtube鏈接上找到,
So far
到此爲止,我們前面博客中所述的成功都是在數據可以輕易獲取,並行計算非常容易的條件下取得的。當獲取數據代價很高,前述算法可能無法很難取得進展。
- 強化學習:學習受(通常是稀疏的)回報指導的策略(e.g. 在遊戲中獲勝或失敗)
- 好的情況:簡單、監督學習代價很低
- 壞的情況:非常高的採樣複雜度
在什麼情景下能成功? - 在模擬環境中,因爲模擬環境數據廉價並且並行簡單
- 而不是在:
- 執行一個動作非常緩慢
- 失敗的代價非常高或者不允許失敗
- 希望能使安全的
以蒙特祖瑪復仇爲例,稀疏是指,agent必須嘗試一系列不同的動作才能獲得當前選擇的動作是不是正確的新信號。
Reward Shaping
在時間上密集的回報緊密指導着agent
那這些回報是怎麼拿出來的呢?
- 手動設計:可行但通常無法實現
- 通過證明隱式指定
比如:給一個汽車駕駛手動指定回報,回報函數會非常非常複雜,因爲你要考慮非常多的因素。但手動把車成功開往目的地(證明),然後認爲在該過程所採取的動作是好是可行的。這就是從證明中學習的思想
例子:
Learning from Demonstrations
不是很準確的說,learning from demonstrations也能被稱爲Inverse RL、Imitation Learing,這三者在一些地方還是有區別的。
- 專家提供一系列證明路徑:狀態和動作序列
- 模仿學習在對專家來說能輕易給出想要的行爲的證明的條件下是非常實用的。而並非:
- 指定一個能產生這種行爲的回報
- 直接指定想要的策略
Problem Setup
- 輸入:
- 狀態空間,動作空間
- 變遷模型
- 沒有獎勵函數
- 一個或更多教師的證明(從教師策略中抽取的動作)
- 行爲克隆(Behavioral Cloning)
- 我們能直接使用監督學習去學習教師的策略嗎?
- 反向強化學習(Inverse RL):
- 我們能恢復獎勵函數R嗎?
- 通過反向強化學習(Inverse RL)進行學徒學習(Apprenticeship Learning)
- 我們能使用R來產生一個好的策略嗎?
Behavioral Cloning
行爲克隆這種方式,就是把它當做標準的監督學習問題對待。
- 將問題形式轉化爲一個標準的機器學習問題:
- 固定一個策略類(e.g. 神經網絡,決策樹,等.)
- 從訓練樣本中評估一個策略
- 兩個值得注意的成功例子:
- Pomerleau, NIPS 1989: ALVINN
- Summut et al., ICML 1992: Learing to fly in flight simulator
Problem: Compounding Errors
監督學習假定iid(s,a)二元組並且忽略了在時間誤差上的時序結構
獨立相同分佈(Indepently Indetically Distribution),簡寫爲iid,非常常見的寫法。
時間下有\epsilon$概率的誤差
強化學習使用在監督學習去實現時,有一個問題,採取的動作其實決定了你見到的數據,而你使用的數據可能不是嚴格滿足iid的,因此採取了數據裏沒有的行爲進入到數據裏沒有的狀態時,agen就不知道該怎麼做了,所以不能泛化。
一旦你在一個成功的路徑上走錯了一步,那麼之後的T-1步也都全是錯的,而這會在強化學習的過程中重複出現。
數據不匹配問題。
DAGGER: Dataset Aggregation
to any policy in
to do
-step trajectories using
dataset of visited states by
datasets:
classifier on
best on validation
專家策略
- 思想:沿着行爲克隆計算的策略產生的路徑獲取更多專家行爲的標記數據
- 在約減的分佈中獲得一個有良好表現得駐點的確定的策略
這假定你有一個專家一直參與其中,這通常是代價非常大的,所以這方面的研究不是很熱門。
Inverse Reinforcement Learning
Feature Based Reward Function
Just for your reference. 在很多情況下,其實變遷模型也是未知的,但我們這裏假設了變遷模型已知,但其實也有關於在變遷模型未知的條件下的擴展。
- 給定狀態空間,動作空間,變遷模型
- 沒有獎勵函數
- 一個或者多個教師證明(demonstrations) (從教師的策略提取出的動作)
- 目標:推測獎勵函數
- 在沒有教師策略是最優的假設下,能推斷關於的什麼?
在沒有agent的行爲是遵循最優的條件下,無法判斷agent採取的行爲是好的還是壞的。不能得到任何信息。 - 現在假定教師策略是最優策略。能推斷關於的什麼?
假定所有的動作回報都是0,那麼在這個回報函數下所有的策略都是最優策略,這是最優回報唯一的一個反例。
最優回報不唯一是有Andrew Ng和Stuart Russell在2000年發現的一個問題。
有很多回報函數都和數據相一致。
有很多不同的獎勵函數即它們所對應的很多不同的最優策略。所以我們需要打破僵局,引入額外的結構(impose additional structure)。我們嘗試在假定專家策略是最優的條件下去推斷什麼樣的回報函數會使得數據看起來是從一個最優策略而來的。
Linear Feature Reward Inverse RL
- 回顧線性價值函數近似
- 同樣的,這裏考慮當回報在特徵上是線性的
- where ,
- 目標:在給定一些列證明的條件下找出權重向量
- 這產生一個策略的價值函數,可以表示爲
可以重寫爲:
其中被定義爲在遵循策略下的狀態特徵的折扣加權頻度(frequency)
和之前博文中討論的駐點分佈有關聯的地方,但我們現在使用了折扣因子。
使用不同的狀態分佈來表示不同的策略,這裏的不同的策略是針對一個特定的回報函數而言的,它們會到達不同的狀態分佈。
Apprenticeship Learning
Linear Feature Reward Inverse RL
- 回顧線性價值函數近似
- 同樣的,這裏考慮當回報在特徵上是線性的
- where ,
- 目標:在給定一些列證明的條件下找出權重向量
- 這產生一個策略的價值函數,可以表示爲
- 其中其中被定義爲在遵循策略下的狀態特徵的折扣加權頻度(frequency)
- 注意
- 因此如果專家的證明是從最優策略而來的,爲了找到,以下關於是充分條件:
其實是一個駐點分佈,被折扣因子加權。
Feature Matching
這像是在說,我們希望找一個一個回報函數,能滿足專家策略和能到達的狀態分佈在計算價值函數時優於其他分佈。所以如果我們找到一個狀態分佈和專家(策略指定的)的狀態相匹配,那麼能非常好地實現它。
-
希望找到一個回報函數使得專家策略優於其他策略
-
一個能保證和專家策略執行得一樣好的策略,能充分證明我們有一個這樣的策略,其特徵的加權和期望(discounted summed feature expectations)與專家策略相匹配
-
更確切的,如果
那麼對所有滿足的:
來自證明。
Abbeel and Ng, 2004
這種方式其實是說,我們放棄了尋找真正的回報函數是什麼,但是那不要緊,因爲我們找到了專家策略。
Apprenticeship Learning
- 以上觀點誕生了下面的算法,用於學習一個和專家策略一樣好的策略
policy
a reward function such that the teacher maximally outperforms all previous controllers:
optimal control policy for the current
這個算法目前不常用了,所以只是希望你能瞭解其中的思想。現在大家都用deep neural networks。
- 如果專家策略是次優的那麼生成的策略是某種任意策略的混合體,其中包含陷進了凸包(convex hull)的專家策略
- 在實踐中:選出一系列中最佳的那一個並選擇相應的回報函數
Ambiguity
上述算法也有沒解決下面的問題:
- 存在無限多的回報函數,它們都對應最佳策略
- 存在無限多的隨機策略,都能匹配到特徵計數
- 應該選擇哪一個?
Learning from Demonstration / Imitation Learning Pointers
- 許多不同的方法(致力於解決這個問題)
- 兩個關鍵的論文是: