離線強化學習新范式!京東科技&清華提出解耦式學習算法
離線強化學習算法 (Offline RL) 是當前強化學習最火的子方向之一。離線強化學習不與環境交互,旨在從以往記錄的數據中學習目標策略。在面臨數據收集昂貴或危險等問題,但是可能存在大量數據領域(例如,機器人、工業控制、自動駕駛),離線強化學習對比到在線強化學習(Online RL)尤其具有吸引力。
在利用貝爾曼策略評估算子進行策略評估時,根據 X 的不同可以把當前的離線強化學習算法分為 RL-based (x=π)和 Imitation-based (x=μ), 其中π為目標策略,μ為行為策略 (注:目標策略:進行學習更新的策略;行為策略:離線數據中的策略)。當前,不管是 RL-based 還是 Imitation-based, 都有各自優勢以及劣勢:
1.RL-based 優勢:可以進行數據外的泛化,最后達到學習到超越行為策略的目標策略。劣勢:需要在策略評估中準確的價值估計(更多的行為正則化)和策略提升(更少的行為正則化)之間進行權衡。在策略評估過程中,如果選取了數據分布外的動作,無法準確估計動作價值函數(action-state value),最后導致的目標策略學習失敗。
2.Imitation-based 優勢:因為在策略評估的過程中都是數據分布內的動作,既可以帶來訓練的穩定性,又避免了數據分布外的策略評估,可以學習到接近行為策略庫中最好的策略。劣勢:因為都是采取數據分布內的動作,所以很難超越原數據中存在的行為策略。
POR 基于此,既能避免策略評估過程中的權衡,也能擁有數據外泛化的能力。該工作已被 NeurIPS 2022 接收,并被邀請進行口頭匯報(oral presentation)論文和代碼均已開源。
- 論文:https://arxiv.org/abs/2210.08323
- 代碼:https://github.com/ryanxhr/POR
state-stitching vs. action-stitching
- 任務:走格子,終點在右上角,起點在右下角。找到最短從起點到終點的路徑。
- 規則:智能體可以在任何一個格子選擇它周圍的八個格子,走到終點給與獎勵 1,其他所有的行為獎勵都是 0。
- 數據:綠色的行走路徑是已有的路徑數據。
之前的 imitation-based 算法都是使用 action-stitching: 拼湊數據中可用的軌跡以達到目標策略的學習。如視頻中藍色的軌跡,是在 action-stitching 下能夠學習到的最好軌跡,但是在數據外無法進行有效的泛化,從而學習到超越數據中行為策略的目標策略。但是,POR 通過解耦式的學習范式,能夠讓目標策略進行有效的泛化,從而超越行為策略的表現。
如何實現 state-stitching?
Policy-guided Offline RL (POR)的學習過程分為三步,這三步是分別解耦的,互不影響。值得注意的是,POR 全程都是基于 imitation-based 的學習,也就是樣本內的學習(in-sample learning),不會對數據分布外的動作進行價值評估。
1. 利用分位數回歸學習價值函數的置信上界。
2. 利用已經學習到的價值函數學習指導策略,該指導策略可以在給定當前的狀態下,生成到樣本內的下一步最優的狀態位置(s')。后面一項作為約束項保證生成的狀態滿足 MDP 條件。
3. 利用數據中所有的樣本進行學習一個執行策略,該執行策略在給定當前狀態(s)和下一步的狀態 (s') 之后,能夠采取正確的動作從當前狀態(s)移動到下一步狀態(s')。
在測試過程,根據當前狀態信息(s),先通過指導策略給出下一步的最優狀態(s')。
給定(s, s'),執行策略能夠進行動作選取和執行。雖然 POR 的整個學習過程都是樣本內的學習,但是可以利用神經網絡的泛化性能進行數據外的泛化學習,最后實現 state-stitching。
實驗
作者對比了 POR 和其他算法在 D4RL Benchmark 上的表現。從表格來上看,POR 在次優數據上的表現非常亮眼,在具有更大難度 Antmaze 任務上的表現均取得最優的算法性能。
同時,作者對比了 POR(state-stitching) 和 IQL(action-stitching)的訓練曲線,以表現 state-stitching 的優勢。
解耦有哪些額外的好處
1. 重新學習指導策略以實現算法的性能提高。
真實的世界中往往存在?量的次優甚?隨機的數據集 (D_o),如果直接引入到正在學習的原始數據集 (D_e) 上可能會導致學到?個較差的策略,但是對于解耦式學習算法來講,針對到不同的組件,學習不同的數據集來提升表現。在學習價值函數的時候往往是越多的數據集越好,因為可以把價值函數可以學得更準確;相反,策略的學習是不希望引入 (D_o)。
作者對比了三個不同的算法在不同訓練場景下的表現:
1. Main : 在原始數據集上 (D_e) 進行學習,不引入額外次優數據集。
2. More:把原始數據集 (D_e) 和新數據集(D_o)進行混合,作為新的數據集進行學習。
3. Mix: 對于解耦的算法,對于不同的學習部分,可以用不同的數據集進行學習,所以只有 POR 可以有 Mix 的學習范式。
從上圖可以看到,當加入新的次優數據一起訓練過后(More),可能會導致比原來的只用原始數據集(Main)表現更好或者更差,但是針對到可以解耦的訓練形式,用以 (D_o+D_e) 重新學習指導策略,作者實驗說明了更多的數據可以增強指導策略的擇優性和泛化能力,同時保持行為策略不變,從而實現了執行策略的提升。
4. 當面對新任務的時候,因為執行策略是和任務無關的,只需要重新學習指導策略。
為此,作者提出了三個任務分別是 (a): four-room: 要求 agent 從綠色方塊到紅色方塊。(b) 除了完成任務(a) 之外,要求 agent 不能觸碰河流。(c)除了完成任務(a),(b)之外,要求 agent 必須獲得鑰匙才算完成任務。
上圖,是完成策略學習之后,對策略進行 50 次的 rollout 的軌跡,在任務 (b) 和任務 (c) 作者沿用任務 (a) 的執行策略,只重新學習了指導策略。從上圖可以看出,解耦的學習方式可以在使用盡可能少的計算資源之下,完成任務的遷移。