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