Reinforcement Learning
- 又稱: RL, Robot Learning
- 類別: Learning & autonomy › RL & simulation
- 標籤: ai, machine-learning, training, policy
一種機器學習方法,代理在獎勵訊號引導下,透過與環境的試誤互動學習最佳行為。
定義
強化學習(RL)是一種機器學習範式,代理透過與環境進行試誤互動來學習最佳行為。代理依據自己的動作獲得獎勵或懲罰,並學習一個能讓累積獎勵最大化的策略。在機器人學中,強化學習讓機器人不需明確寫程式,就能學會行走運動、操作與導航等複雜行為。關鍵概念包括獎勵函數(要最佳化的目標)、策略(選擇動作的方式)、價值函數(預期的未來獎勵),以及探索與利用之間的取捨。常見的演算法包括 PPO、SAC 與 TD3。
為何重要
強化學習透過以獎勵訊號為準的試誤來訓練策略,發現行為而不是模仿行為。這使它成為沒有人能示範某項技能時的自然選擇:學習步態的機器人可以嘗試數百萬種變化,找到沒有人會想到要示範給它看的做法。它的代價同樣獨特:需要龐大的嘗試次數,實務上這意味著要用模擬,而且需要一個不會被以意料之外的方式滿足的獎勵函數。
主要應用
- 足式機器人的行走運動與步態學習
- 跳躍、跌倒後恢復或保持平衡等動態技能
- 把以模仿學習得到的策略微調到超越示範的表現
- 複雜到無法以解析方式建模的控制問題
- 模擬到現實(Sim2Real)遷移前的模擬預訓練
- 針對能源消耗等可量測目標最佳化策略
實際應用
足式機器人的主流做法是大規模平行模擬,也就是在 Isaac Lab 或類似的模擬器中執行數千個實例,並對質量、摩擦與延遲進行領域隨機化,讓得到的策略在遷移到硬體後仍能運作。真正的工程時間大多花在獎勵塑形上,而獎勵駭客是令人印象深刻的失敗:因前進速度而獲得獎勵的機器人,可能學會一再向前跌倒,這樣分數很高卻毫無用處。在操作方面,強化學習越來越常用來微調由模仿學習初始化的策略。
常見誤解
- 強化學習不需要監督:獎勵函數就是監督,而設計它正是困難所在
- 它可以直接在硬體上訓練:樣本需求通常讓這不切實際,而且往往不安全
- 高獎勵代表得到期望的行為:獎勵駭客會讓無用甚至具破壞性的行為拿到高分
- 在模擬中可行的策略在機器人上也行得通:沒有領域隨機化,模擬到現實(Sim2Real)落差通常會讓它失敗
誰需要了解
- 任何從事足式行走運動或動態控制的人
- 在強化學習與模仿學習之間權衡的工程師
- 設計獎勵函數的研究人員
- 想了解模擬為何主導機器人強化學習的學生
- 任何在評估「自己學會走路」之機器人相關說法的人
相關技術
- 模擬到現實(Sim2Real)遷移
- Proximal Policy Optimization(PPO)
- 領域隨機化
- 模仿學習
- 模型預測控制(MPC)
- Isaac Gym / Isaac Sim
- 課程學習
- 獎勵塑形
相關專案
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
- Dora AI: Dataflow middleware for AI robotics applications, built in Rust
- VLA-0: VLA model representing robot actions directly as text
影片
- Reinforcement Learning: Crash Course AI #9: CrashCourse