Residual Reinforcement Learning
- 又稱: residual RL, residual policy learning
- 類別: Learning & autonomy › RL & simulation
- 標籤: reinforcement-learning, robot-learning, manipulation, contact-rich-tasks, sim-to-real
以強化學習學習一個加在既有控制器或學習策略動作上的修正量,讓學習從合理的行為開始,而不是從零開始。
定義
殘差強化學習(Residual reinforcement learning)把機器人的動作拆成兩部分:基礎策略的輸出,以及一個學習得到的殘差。基礎策略可以是手工設計的控制器、軌跡追蹤器,或以模仿學習訓練的策略。殘差策略觀測狀態,通常也一併觀測基礎動作,並輸出一個加到基礎動作上的修正量。只有殘差以強化學習訓練;基礎策略維持固定。這個方法由兩個團隊在 2018 年與 2019 年各自獨立提出,名稱分別是殘差策略學習(residual policy learning)與用於機器人控制的殘差強化學習。
從一個可用的基礎策略出發,會以有益的方式改變學習問題。在訓練初期,殘差接近零,機器人已經表現得合理,因此探索更安全,獎勵也更容易取得,這對稀疏獎勵任務與在真實硬體上訓練很重要。殘差只需要學習基礎策略做錯的部分,例如控制器沒有建模的接觸效應、摩擦或物體差異。把殘差網路初始化為輸出零並限制其大小,是讓早期行為貼近基礎策略的常見做法。
基礎策略也限制了能學到的東西。如果它離良好的行為很遠,有界的殘差可能無法修正它,而無界的殘差則會放棄安全上的好處。有些變體讓殘差調整控制器參數,例如增益或設定點,而不是原始動作;或是把殘差與從少量示範學到的策略結合,由模仿提供基礎行為,再由強化學習在精度或強健性上加以改善。
為何重要
在真實機器人上做純強化學習既慢又可能不安全,而手工設計的控制器與模仿策略往往幾乎正確,卻在接觸的細節上失敗。殘差 RL 結合兩者,是以有限的真實世界互動改善既有控制器的實用方法。
主要應用
- 軸孔插入等富含接觸的組裝
- 以強化學習改善模仿學習得到的策略
- 修正模型式控制器中未建模的摩擦與動力學
- 讓模擬訓練的控制器適應真實硬體
- 在腳本化基準之上改善抓取與手內操作
實際應用
一個團隊使用阻抗控制器把一根插銷插進配合緊密的孔中。控制器能可靠地到達孔口,但常因微小的位姿誤差與摩擦而卡住。他們加入一個殘差策略,它看到末端執行器位姿與腕部力矩感測讀數,並輸出一個加在控制器目標位置上的小偏移量,該偏移量被限制在狹窄的範圍內。殘差從零開始,因此最初的回合表現得與原本的控制器一樣,它以 soft actor-critic 等異策略演算法訓練,獎勵以插入深度為基礎。隨著訓練進行,它學會能讓卡住的插銷鬆脫的小幅修正動作,而基礎控制器仍負責大範圍的運動。
常見誤解
- 殘差 RL 會重新訓練基礎控制器 — 基礎策略維持固定,只學習加成式的修正量
- 任何基礎策略都可以 — 殘差通常有界,因此不好的基礎策略會限制組合後系統能達到的效果
- 殘差 RL 讓獎勵設計變得不必要 — 殘差仍需要能捕捉任務的獎勵;基礎策略只是讓探索更容易、更安全
誰需要了解
- 機器人學習研究人員
- 從事富含接觸任務的操作工程師
- 以資料改善既有控制器的控制工程師
- 模擬到現實(sim-to-real)的實務工作者
相關技術
- Soft Actor-Critic
- 雙延遲 DDPG(Twin Delayed DDPG,TD3)
- 阻抗控制(Impedance Control)
- 行為複製(Behavior Cloning)
- 近端策略最佳化(Proximal Policy Optimization)
相關術語
- Reinforcement Learning
- Soft Actor-Critic
- Impedance Control
- Behavior Cloning
- Sim2Real
- Inverse Reinforcement Learning
相關專案
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- MuJoCo: DeepMind physics engine for robotics and ML research
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim