大神Aviral Kumar:價值學習真的是離線 RL 的主要瓶頸嗎? 原創
動機
- 離線強化學習 (RL) 和模仿學習之間的主要區別在于使用價值函數,并且離線 RL 中的大多數先前工作都側重于使用更好的技術學習更好的價值函數。
- 所以價值函數學習是離線 RL 的主要瓶頸……對嗎?
- 在這項工作中,研究人員表明,實踐中情況往往并非如此!
分析離線強化學習的瓶頸
這項工作的主要目標是了解離線 RL 的性能在實踐中如何受到瓶頸限制。
離線 RL 有三個潛在瓶頸:
- (B1 )數據價值評估不完善
- (B2)從學習到的價值函數中提取不完善的策略
- (B3)測試時策略泛化不完善,表明策略在評估期間訪問
請注意,離線 RL 算法的瓶頸總是可以歸因于這些因素中的一個或幾個,因為如果所有因素都完美,代理將獲得最佳性能。因此需要做的就是分別剖析這些組件!
主要假設
首先陳述本項研究的主要研究假設:
“離線 RL 的主要瓶頸是策略學習,而不是價值學習。”
換句話說,盡管價值學習當然很重要,如何從價值函數(B2 )中提取策略以及策略如何很好地推廣到它在評估時訪問的狀態(B3)通常是顯著影響許多問題中的性能和可擴展性的主要因素。
為了驗證這一假設,在本文中進行了兩項主要分析:在第一次分析中,比較了價值學習和策略提取(B1和B2);在第二次分析中,分析了策略泛化的效果(B3)。
長話短說
這是本文分析的簡要內容 ??:
- (1)策略提取通常比價值學習更重要:不要使用加權行為克隆(AWR);始終使用行為約束策略梯度(DDPG + BC)。
- (2)測試時間策略泛化是離線 RL 中最顯著的瓶頸之一:當前的離線 RL 通常已經擅長在數據集狀態下學習有效策略,而性能通常僅僅由其在分布外狀態下的性能決定。
分析1:是價值還是政策?(B1和B2)
- 價值學習還是策略提取哪個更重要?
- 為了回答這個問題,研究人員使用不同數量的數據運行不同的算法進行價值函數訓練和策略提取,并繪制數據縮放矩陣來可視化結果。
- 這說明(1)性能的瓶頸在于價值還是策略;(2)各種價值學習和策略提取算法之間的性能差異。
- 為了清楚地剖析價值學習和策略提取,在本研究中重點關注具有解耦價值和策略學習階段的離線 RL 方法(例如IQL、一步式 RL、CRL 等)。這聽起來可能有點限制性,但即使在這些解耦方法中,策略學習通常也是主要瓶頸!
分析設置
在本分析中考慮以下算法和環境。
三種價值學習算法:
- (1)隱式 Q 學習(IQL)
- (2)一步 RL(SARSA)
- (3)對比 RL(CRL)。
三種策略提取算法:
- (1)加權行為克隆(例如AWR、RWR、AWAC 等)
- (2)行為約束策略梯度(例如DDPG+BC、TD3+BC 等)
- (3) 基于采樣的動作選擇(例如,SfBC,BCQ,IDQL 等)
八項任務(包括目標條件(“ gc- ”)和基于像素的任務!):
- (1) gc-antmaze-large
- (2) antmaze-large
- (3) d4rl-hopper
- (4) d4rl-walker2d
- (5) exorl-walker
- (6) exorl-cheetah
- (7) kitchen
- (8)(基于像素的)gc-roboverse。
結果
顯示全部結果
- 上圖顯示了數據縮放矩陣。重點介紹了exorl-walker和exorl-cheetah上的結果。單擊上面的按鈕可查看八個任務的完整數據縮放矩陣,這些矩陣是從總共 7744 次運行中匯總而來的。為每個矩陣條目單獨調整了策略提取超參數。
- 通過查看顏色漸變,可以看到每個算法的性能如何隨著更多數據的增加而擴展以及/或者如何出現瓶頸。下面,重點介紹一些關鍵觀察結果。
- 首先,可以看到,策略提取算法通常對性能和數據擴展趨勢的影響遠遠大于一般的價值學習目標(也許除了antmaze-large),即使它們從相同的價值函數中提取策略!
- 在策略提取算法中,可以發現DDPG+BC 幾乎總是全面實現最佳性能和擴展行為,其次是 SfBC,而 AWR 的性能在許多情況下明顯落后于其他兩種。
- 還可以看到,AWR 的數據縮放矩陣總是具有垂直或對角線的顏色漸變,這表明它沒有充分利用價值函數(請參閱下文以獲得更明顯的證據)。
分析2:策略泛化(B3)
- 現在,將注意力轉向離線 RL 中的第三個獨特瓶頸:策略泛化。
- 在離線 RL 中,代理在測試時會遇到新的、可能超出分布的狀態,而它對這些新狀態的推廣程度會直接影響性能。
分析設置
- 為了理解這個泛化瓶頸,首先定義三個量化策略準確性的關鍵指標:
- 直觀地講,這些指標衡量了該策略在三種不同分布上的準確度。
- 也許你已經熟悉訓練 MSE和驗證 MSE。但還有另一個指標:評估 MSE,它看起來可能與驗證 MSE 相似,但實際上非常不同。
- 驗證 MSE 和評估 MSE 之間的關鍵區別在于,驗證 MSE 衡量的是分布內的策略準確率,而評估 MSE 衡量的是分布外的策略準確率(見上圖)。評估 MSE 恰好對應于要測量的泛化瓶頸。
- 為了了解這些數量與性能之間的關系,觀察了這些指標和性能如何隨著額外的在線交互數據而發展(通常稱為離線到在線 RL設置)。
結果
- 上圖顯示了回報和 MSE 指標如何隨著更多在線互動數據而改善。用紅色表示在線訓練步驟。
- 結果非常令人驚訝!可以看到:(1)離線到在線 RL 大多只會改善評估 MSE,而驗證 MSE 和訓練 MSE 通常保持完全平坦;(2)離線 RL 的性能與評估 MSE指標呈非常強(負)相關性。
- 這是什么意思?這意味著當前的離線 RL 算法可能已經足夠擅長在離線數據集覆蓋的狀態分布中學習最佳策略,并且性能通常僅由代理在測試時遇到的新狀態的策略準確性決定!
- 這為離線 RL 中的泛化提供了一個新的視角,這與之前對悲觀主義和行為正則化的關注有些不同。
- 那么,如何才能提高測試時策略的泛化能力呢?不幸的是,這在原則上非常困難,因為它需要泛化到一個可能完全不同的分布。盡管如此,如果稍微放寬假設,就可以解決這個問題,在本文中提出了兩種這樣的解決方案。
解決方案 1:提高離線數據覆蓋率
- 第一個解決方案是使用高覆蓋率的數據集。
- 理由很簡單:如果測試時間分布外的泛化是瓶頸,可以簡單地使用更多數據使測試時間狀態分布內(當然,當可以收集更多數據時??)!
- 在上面的圖中,盡管高覆蓋率數據集的次優性有所增加,但它們確實提高了性能。另外,請注意,在這種情況下,使用正確的策略提取目標 (DDPG+BC) 也很重要!
解決方案 2:測試時策略改進
- 如果無法控制數據,那么提高測試時間策略準確性的另一種方法就是在測試時間狀態下即時訓練或指導策略。
- 為此,在論文中提出了一種非常簡單的方法,稱為即時策略提取(OPEX)。關鍵思想是在評估時簡單地按照價值梯度的方向調整策略動作。
- 具體來說,在測試時從策略?
- 中采樣一個動作后,會根據凍結的學習到的 Q 函數進一步調整該動作,公式如下。
其中
是與測試時“學習率”相對應的超參數。
- OPEX 在評估時只需要一行額外的代碼,并且根本不會改變訓練程序!
- 在本文中,研究人員提出了另一種方法,即測試時訓練(TTT),它在測試時推出期間進一步更新策略參數。
- 這些即時策略改進技術通過緩解測試時間策略泛化瓶頸,提高了各種任務的性能。
要點:測試時策略泛化是離線強化學習中最顯著的瓶頸之一。使用高覆蓋率數據集。使用即時策略改進技術提高測試時狀態下的策略準確性。
那么,這說明了什么?
- 與之前認為價值學習是離線 RL 的主要瓶頸的觀點有些相反, 當前的離線 RL 方法通常嚴重受限于從價值函數中提取策略的準確性以及該策略推廣到測試時間狀態的準確性。
- 對于實踐者來說,分析表明離線 RL 有一個明確的方案:在盡可能多樣化的數據上訓練價值函數,并允許策略最大限度地利用價值函數,并采用最佳策略提取目標(例如DDPG+BC)和/或潛在的測試時間策略改進策略。
- 對于未來的算法研究,強調離線 RL 中的兩個重要開放問題:(1)從學習到的價值函數中提取策略的最佳方法是什么?有沒有比 DDPG+BC 更好的方法?(2)如何訓練策略,使其在測試時間狀態下具有很好的泛化能力?
- 第二個問題特別有趣,因為它提出了與離線 RL 中普遍存在的悲觀主義主題截然相反的觀點,其中只有少數作品明確旨在解決離線 RL 的這種泛化方面!
譯自(有刪改):https://seohong.me/projects/offrl-bottlenecks/
本文轉載自公眾號AIGC最前線
