Curriculum Learning
- 又稱: curriculum training, task curriculum
- 類別: Learning & autonomy › RL & simulation
- 標籤: reinforcement-learning, robot-learning, training, simulation, locomotion
一種訓練策略,先給學習系統較容易的任務或範例,再逐步提高難度,讓它能掌握從零開始難以學會的技能。
定義
課程學習(Curriculum learning)是把訓練經驗依由易到難的順序安排,而不是一次全部呈現的做法。這個想法與人們受教的方式相仿:學生先學算術,再學微積分。在機器學習中,它由 Bengio 等人於 2009 年正式化,他們證明妥善選擇的範例順序可以加快訓練並改善最終結果。
在機器人領域,課程最常見於強化學習:若代理人一開始面對的任務遠超出其能力,可能永遠得不到有用的獎勵訊號。課程讓代理人始終處於能力的邊緣。難度可沿許多面向提高:足式機器人的地形粗糙度與坡度、爬樓梯的階高、導航中與目標的距離、抓取時物體的多樣性、外部推力的強度,或獎勵的稀疏程度。
課程可以手動設計,設定固定的階段與晉級門檻,也可以自動進行。自動課程依代理人的表現調整難度,例如模擬機器人成功時把它晉升到較難的地形,失敗時則降級。相關的想法包括自動目標產生,由訓練系統提出難度合適的目標,以及自我對弈,讓對手一起進步。
課程加入了可能出錯的設計選擇。難度提高得太快,學習會停滯;太慢,則會浪費運算資源。若課程從未涵蓋部署時會遇到的完整條件範圍,策略可能對這些條件毫無準備。
為何重要
許多機器人技能,例如攀爬、跳躍或在崎嶇地面行走,無法從零開始靠試誤學會,因為隨機行為幾乎從不成功。課程學習透過逐步建立讓這些技能變得可以學會,也是在模擬中訓練的移動控制器的標準要素。
主要應用
- 在逐漸變難的地形上訓練足式移動
- 學習攀爬與上下樓梯的技能
- 目標距離或雜亂程度逐步增加的導航任務
- 物體多樣性或精度要求逐步提高的操作任務
實際應用
在以 GPU 為基礎的移動訓練中,常見的設定是地形課程:數千台模擬機器人分布在依難度排列的地形圖塊網格上,例如高度逐漸增加的斜坡、樓梯與粗糙地塊。每台機器人從簡單的圖塊開始;若它在一個回合中走得夠遠,就移到較難的圖塊,失敗則退回。團隊通常也會同時針對指令速度與擾動強度執行平行課程,並記錄機器人在各難度等級的分布,作為訓練進度的直接衡量。部署前,他們會在最難的等級以及課程以外的條件下評估最終策略,確認它不是只針對訓練階梯調校而成。
常見誤解
- 課程一定有幫助 — 設計不良的課程可能拖慢訓練,或讓策略偏向它所強調的條件
- 課程必須手動設計 — 許多系統會依代理人量測到的表現自動調整難度
- 課程學習只適用於強化學習 — 它最初是為監督式學習而正式化的,在那裡同樣適用
誰需要了解
- 強化學習實務工作者
- 足式機器人控制工程師
- 模擬與訓練環境設計者
- 從事機器人學習的機器學習學生
相關技術
- 強化學習(Reinforcement Learning)
- Isaac Lab
- 領域隨機化(Domain Randomization)
- 獎勵塑形(Reward Shaping)
- 自動課程學習(Automatic Curriculum Learning)
- 自我對弈(Self-Play)
相關術語
相關專案
- GENESIS: World's fastest physics engine: 43M FPS for embodied AI 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
影片
- Curriculum Learning in Deep Neural Networks: Connor Shorten
- Teacher-Student Curriculum Learning: Connor Shorten