虛擬碼:
在 if done 的時候,在環境中已經跑了一個 trajectory 了,利用當前的 trajectory 和專家的 demo 求一下 reward(文章中用的是 optimal transport 的幾種方法)
否則,就繼續在 observation 的基礎上利用 actor 學到的策略 sample 出 action,並用 list 記錄下當前的 \((o_t, a_t, r_t)\) 作為 trajectory 的一部分。
整體來看:
首先整體的強化學習框架是 actor-critic,其中 actor 輸出 action(的分佈),更新使用 critic,而 critic 作為 actor 的評估函式,更新使用時序殘差的 MSE,即
這一項。actor 如何更新的 (待填)。
IL 中的重要問題,如何根據專家資料和 actor 生成之間的差距來獲取 reward?在 RILIR 中,採用的是 trajectory 級別的模仿學習,即將當前的 trajectory 和 expert demo trajectory 拿出來做一個 OT(理解成相似程度),得到 reward