稀疏獎勵
通常在訓練智能體時,我們希望每一步動作都有相應的獎勵。但是某些情況下,智能體并不能立刻獲得獎勵,比如全局獎勵的圍棋,最終獲勝會得到獎勵,但是人們很難去設定中間每步的獎勵,這會導致學習緩慢甚至無法進行學習的問題。
2.解決方法
2.1 設計獎勵(reward shaping)
除了最終要學習到的目標外,可以額外添加一些獎勵用于引導智能體。比如ViZDoom射擊游戲,殺了敵人得到正獎勵,被殺得到負獎勵。探究人員設計了一些新獎勵,來引導智能體做的更好,比如掉血就扣分,撿到補給包會加分,待在原地扣分,活著扣一個很小的分(否則智能體只想活著,躲避敵人)等方法。reward shaping技術需要領域知識(domain knowledge),不合理的設計獎勵方式會讓智能體學習到錯誤的方法。比如希望機器人將藍色板子穿過柱子,通常會想到板子靠近柱子就加分,距離越近獎勵越大,但是這樣機器人可能會學習到用藍色板子打柱子,而不是從上面穿過。因此設計獎勵的效果與領域知識有關,需要調整。
2.2 好奇心(curiosity)
自己加入并且一般看起來有用的獎勵,比如給智能體加上好奇心,稱為好奇心驅動的獎勵(curiosity driven reward),在好奇心驅動的技術里,我們會加入一個新的獎勵函數:內在好奇心模型(intrinsic curiosity module,ICM)。ICM模塊需要3個輸入:狀態s1,動作a1,狀態s2,根據輸入輸出另外一個獎勵rc(1)。對于智能體,在與環境交互時,不僅希望原始獎勵r越大,也希望好奇心獎勵rc越大。如何設計好奇心模塊?用一個網絡,接受輸入a(t),s(t),輸出,也就是用這個網絡去預測,看預測值與真實s(t+1)的相似度,越不相似獎勵越高。也就是說,好奇心獎勵的意義在于:未來的狀態越難被預測,得到的獎勵就越大,這樣方便探索未知的世界。
好奇心模塊的設置有一個問題:某些狀態很難被預測到并不代表它就是好的,就是需要被嘗試的。比如某些游戲中,會突然出現樹葉飄動,這是無法預測的,智能體會一直看著樹葉飄動。因此智能體僅有好奇心是不夠的,還需要知道什么事情是真正重要的。
為了知道什么事情是重要的,避免不必要的冒險,要加上另外一個模塊,學習特征提取器(feature extractor) 。如圖所示,黃色格子是特征提取器,輸入一個狀態s(t),輸出一個特征向量表示這個狀態,特征提取器可以把無意義的東西過濾掉。那么內在好奇心網絡1實際上輸入的是a(t)和特征向量,輸出下一狀態特征向量。如何學習特征提取器,通過網絡2學習,網絡2輸入和,輸出預測動作,這個動作與真實動作越接近越好。網絡2是用提取后的特征向量預測動作,因此像風吹草動這種與智能體動作無關的信息就會被過濾掉。
機器人抓取任務因環境動態性、物體多樣性及動作連續性,成為強化學習(RL)的典型挑戰場景。其中,**稀疏獎勵(Sparse Reward)和課程學習(Curriculum Learning)**是優化訓練效率與成功率的關鍵技術。以下從問題分析、策略設計到實驗優化進行系統性闡述。
1. 稀疏獎勵的核心挑戰
1.1 稀疏獎勵的成因
任務特性:僅在抓取成功時給予正獎勵(+1),其余時刻無反饋(0)。
探索難度:機械臂需精確控制位姿、力度,隨機探索難以觸發成功事件。
局部最優陷阱:過早收斂到次優策略(如反復觸碰物體但無法抓取)。
1.2 稀疏獎勵的負面影響
樣本效率低下:需數百萬次交互才能偶然獲得成功經驗。
訓練不穩定:梯度估計方差大,策略網絡難以收斂。
仿真-現實鴻溝:仿真中過度依賴密集獎勵,遷移到真實機器人時失效。
2. 稀疏獎勵解決方案
2.1 內在獎勵(Intrinsic Reward)
好奇心驅動探索:
ICM(Intrinsic Curiosity Module):通過預測環境動態的誤差生成獎勵,鼓勵探索未知狀態。
RND(Random Network Distillation):利用隨機網絡差異衡量狀態新穎性。
機器人應用示例:機械臂嘗試不同抓取角度時,因位姿新穎性獲得內在獎勵,加速發現可行策略。
2.2 目標導向經驗回放(Goal-Based HER)
Hindsight Experience Replay(HER):
核心思想:將未達成目標的軌跡視為新目標(“雖然沒抓到A,但抓到了B”)。
實現步驟:
# HER偽代碼示例for episode in trajectories:
achieved_goals = episode['achieved_goals']
for t in range(len(episode)):
new_goal = achieved_goals[-1] # 使用最終達到的目標作為新目標
reward = compute_reward(episode['actions'][t], new_goal)
replay_buffer.store(episode[t], new_goal, reward)
效果:在Fetch機器人抓取任務中,成功率從12%提升至80%以上。
2.3 分層強化學習(HRL)
Option-Critic架構:
高層策略:選擇子目標(如“靠近物體”“調整夾爪姿態”)。
底層策略:執行具體動作(關節角度控制)。
優勢:通過子目標分解稀疏獎勵,降低探索難度。
3. 課程學習策略設計
3.1 課程生成方法
自動課程生成(Automatic Curriculum Learning):
ALP-GMM:基于策略性能動態調整任務分布,優先訓練“中等難度”樣本。
PAIRED:通過對抗環境生成器創建漸進式挑戰任務。
3.2 課程學習與遷移
域隨機化(Domain Randomization):
參數范圍:物體質量、摩擦力、視覺紋理、光照條件隨機化。
作用:增強策略魯棒性,縮小Sim2Real差距。
示例:NVIDIA Isaac Gym中訓練機械臂策略,遷移到真實UR5機械臂時成功率保持85%以上。
漸進式模型遷移:
在理想仿真環境(無噪聲)中訓練基礎策略。
逐步添加傳感器噪聲、延遲等擾動微調策略。
最后在真實機器人上進行少量樣本微調(Few-Shot Adaptation)。
4. 算法實現與實驗優化
4.1 典型算法對比
4.2 關鍵超參數優化
獎勵縮放(Reward Scaling):內在獎勵與外部獎勵的權重平衡(如λ=0.1)。
課程切換閾值:當連續10個episode成功率超過90%時進入下一階段。
探索噪聲衰減:ε-greedy策略的噪聲標準差隨訓練線性遞減。
4.3 計算加速技術
并行仿真:使用NVIDIA Isaac Sim同時運行1000個環境實例。
混合精度訓練:FP16神經網絡計算,吞吐量提升2倍。
邊緣-云協同訓練:在本地機器人執行推理,云端集群異步更新模型。
5. 典型應用案例
5.1 工業分揀機器人(ABB YuMi)
策略架構:SAC + HER + 自動課程學習。
性能:在雜亂物體堆中抓取成功率92%,訓練時間從120小時縮短至40小時。
5.2 服務機器人抓取(Boston Dynamics Spot)
挑戰:動態環境(行走中抓取)、多模態感知(RGB-D+力覺)。
方案:分層RL(高層路徑規劃+底層抓取控制)+ 域隨機化。
結果:在未知物體抓取任務中達到78%成功率。
6. 未來研究方向
語言引導課程學習:利用LLM(如GPT-4)自動生成任務描述與課程規劃。
多機器人協作課程:通過競爭或合作機制分配不同難度任務。
元課程學習(Meta-Curriculum):學習如何生成課程,適應未知任務分布。
總結
針對機器人抓取的稀疏獎勵問題,內在獎勵引導探索與HER增強經驗復用是提升樣本效率的核心;結合漸進式課程學習與域隨機化,可顯著提高策略魯棒性與跨域遷移能力。實際部署中需權衡訓練速度與穩定性,選擇DDPG+HER或SAC+ICM等組合,并通過并行化加速迭代。未來,隨著自動課程生成與多模態感知的融合,RL在復雜抓取任務中將進一步逼近人類水平。