模仿學習的目標是,計算回報函式,使得專家的行為的回報最優。論文使用了完全基於機率的方法在模仿學習中對不確定性進行推理。為了滿足模仿學習的目標,論文使用了最大熵原理來解決選擇決策機率分佈時候的歧義問題。通常,專家的行為資料有噪聲,而且有可能有小錯誤,而最大熵原理可以比較好得處理這種不確定性。

1,已有的

首先,如果我們獲得了一條專家的軌跡資料

\zeta = \{ (s_0,a_0),(s_1,a_1),... \}

,建立一個軌跡到回報R的對映

reward(f_\zeta)=\theta^T f_\zeta = \sum_{s_j\in\zeta} \zeta^Tf_{s_j}

,其中f是特徵組成的向量。對於m條軌跡,可以計算出一個特徵數量的統計平均

\tilde{f}=\frac{1}{m}\sum_i f_{\tilde{\zeta_i}}

而在另一篇論文中Abbeel & Ng (2004)提到一種方法叫“matching feature expectations”,在這篇論文裡記作

\sum_{Path\ \zeta_i} P(\zeta_i)f_{\zeta_i}=\tilde{f}

。左側是模仿學習中的路徑樣本的特徵統計,右邊是專家資料。

之前的IRL(Inverse Reinforcement Learning)的問題在於歧義性,不管是IRL概念本身,還是特徵的計數統計。每個policy可能對應多個回報函式,不同的policy可能生成同樣的特徵的計數結果。

2,最大熵IRL

最大熵原理最早是Jaynes 1957提出的。下面針對確定的(下圖a&b)和非確定的(下圖c&d)MDP分類討論。

[文獻]Maximum Entropy Inverse Reinforcement Learning

2。1,確定性MDP的路徑分佈(agent獲得評估軌跡的能力)

[文獻]Maximum Entropy Inverse Reinforcement Learning

此處

\theta

是未知待求的變數,決定了每一步action機率,以及最終軌跡。類似softmax,reward相等就機率相同,reward之比越大,機率會指數級區分開。分母上是partition function

Z(\theta)

,在有限步數時能收斂,在無限步數時需要對reward加discount factor才能收斂。

2。2,非確定性MDP的路徑分佈(agent獲得評估軌跡的能力)

[文獻]Maximum Entropy Inverse Reinforcement Learning

其中indicator function

I_{\zeta\in o}

一般=1,所以此處忽略了。eq。4類似上面的softmax形式,但加入了狀態轉移機率T。最後得到的形式(4)有兩部分,左半部分表示reward的多少,右半部分表示可能性多大。

2。3,隨機策略(agent獲得選擇動作的能力)

在得到了eq。2和eq。3這兩個在給定引數

\theta

等之後,每個軌跡

\zeta

的機率。那麼我們在每一個時刻選擇動作a的機率的形式是:

[文獻]Maximum Entropy Inverse Reinforcement Learning

正比於每條在t=0時刻動作選擇a的所有軌跡的機率之和。

2。4,從專家行為中學習

根據最大熵原理Jaynes 1957,我們需要調整MDP裡的未知引數,讓專家行為

\tilde{\zeta}

的log-likelihood最大:

[文獻]Maximum Entropy Inverse Reinforcement Learning

下一步是梯度最佳化:

[文獻]Maximum Entropy Inverse Reinforcement Learning

我們的

\theta

是當下agent的知識庫,根據它的知識可以給出很多條軌跡

\zeta

,甚至無數條軌跡,可以求得在這些軌跡下,每個feature的期望/經驗分佈。

2。5,高效率統計state的頻率

brute-force去搜索每個軌跡下每個state的頻率複雜度太高了(比如8x8 grid world,每一步搜尋下一步的Si的可能性有63種,走t步軌跡的可能數量=t^63,然後把這些軌跡都放到eq。2 or 4裡去算feature出現的機率),文中解決問題的技巧類似前饋條件隨機場或者RL裡的value iteration。

[文獻]Maximum Entropy Inverse Reinforcement Learning

第一步,另每個state Si的partition function=1

第二步,從每個可能結束的state Sk開始反向搜尋,更新每個狀態的partition function(

Z_{a_{i,j}}

Z_{s_i}

=> 此處有點類似

Q(s,a)

V_{i}

)。回顧下reward(Si)在最前面的定義:

reward(f_\zeta)=\theta^T f_\zeta = \sum_{s_j\in\zeta} \zeta^Tf_{s_j}

第三步,計算區域性的動作選擇機率(policy)等於動作的partition function/狀態的partition function。(相當於softmax選擇動作的時候Temperature=1)

第四步,初始化

第五步,根據這個區域性的policy,在每個時刻下(t=1 to N)每個狀態的機率都可以算出來了(矩陣乘法)

第六步,簡單的求和

3,實驗(對司機選擇路徑建模)

預測司機的駕駛行為可以用於路徑推薦。

3。1,資料

此處作者們統計了匹茲堡附近的地圖資料,一共有30萬個state(比如某一段道路),90萬個動作(比如在交叉路口的選擇)。假設這些司機們選擇路徑的時候考慮了各種因素的妥協(i。e。 時間、安全、油耗、維修費等等)。然後跟蹤了12周每天24小時25輛計程車司機的駕駛資料,一共10萬英里3000小時。

3。2,道路的feature

作者對道路一共考慮了4種特徵:道路型別、速度、車道數量、轉彎(向左,直行,向右等等)。

3。3,IRL模型對比

文中的模型是多項式時間,在沒有引入非凸性的情況下計算時間減少的很明顯。

作者們對比了另外兩種IRL模型,Maximum Margin Planning (MMP) (Ratliff, Bagnell, & Zinkevich 2006)和action based distribution model(包括Bayesian IRL (Ramachandran & Amir 2007) and hybrid IRL (Neu & Szepesvri 2007))。前者雖然能預測新的路徑,但無法給出機率密度。與後者的對比參考下面的例子:

[文獻]Maximum Entropy Inverse Reinforcement Learning

從A到B的三條路徑,按照action-based model,path3有50%機率,1和2只有25%機率(如果是從B到A那麼機率會不一樣);按照最大熵模型,每條路徑的機率相等。action-based model這種問題在條件隨機場裡面被稱為“label bias”(Lafferty, McCallum, & Pereira 2001)。

3。4,結果對比

此處有3個指標。(1)用學到策略規劃路徑,最可能的那條與司機們的路徑對比,有%多少重疊;(2)多大機率,有90%路徑重疊;(3)專家資料的平均log probability。

[文獻]Maximum Entropy Inverse Reinforcement Learning

3。5,更多應用

0,路線推薦

1,在不詢問司機目的地和路線的情況下,提醒司機可能沒注意到的交通阻塞

2,混動汽車最佳化能源消耗

3,預測司機到達目的地的時間

這裡面涉及對司機想法的推斷,可以用貝葉斯定理來實現:

[文獻]Maximum Entropy Inverse Reinforcement Learning

[文獻]Maximum Entropy Inverse Reinforcement Learning

比如只行駛了“path so far”那一段,從東往西。那dest1-5之間去dest1和2的可能性比較大。下面是更多資料,觀察到路徑的百分比和後驗預測的準確率的關係。

[文獻]Maximum Entropy Inverse Reinforcement Learning

補充下quora上面一個回答對maximum entropy model的理解:

[文獻]Maximum Entropy Inverse Reinforcement Learning

到這裡Sergey Levine推薦的兩篇經典文獻整理完畢啦。

[文獻]Maximum Entropy Inverse Reinforcement Learning