離線強化學習的決策變換器訓練
決策變換器將 RL 轉向序列建模
Decision Transformers 將強化學習(RL)視為條件序列建模問題,而非傳統的策略最佳化任務。它不再透過擬合價值函數來最大化累積獎勵,而是使用序列建模演算法(Transformer)根據期望的回報、過去的狀態與動作來產生未來的動作。
此方法透過使用生成式軌跡建模——即對狀態、動作與獎勵的聯合分佈進行建模——來取代傳統的 RL 演算法,代表了一個範式轉變。模型並非以傳統方式最大化回報;相反地,它產生預測能達到特定目標回報的動作。
模型架構與流程
Decision Transformer 的架構遵循以下步驟:
- Input Sequence:模型接收最近的 $K$ 個時間步,每個時間步包含三個組件:Return-to-go、State 與 Action。
- Embedding:使用線性層對向量狀態進行嵌入,或使用 CNN 編碼器對影像框架進行嵌入。
- Prediction:基於 GPT-2 的模型處理這些輸入,並透過自回歸建模預測未來的動作。
實作離線決策變換器
離線 Decision Transformers 於訓練期間不直接與環境互動,而是使用從其他代理或人類示範收集的資料集進行訓練。
資料集準備與自訂資料整理器
要訓練 Decision Transformer,必須將原始 RL 資料前處理成適合序列建模的格式。以 Hugging Face Hub 上的 halfcheetah-expert-v2 資料集為例,需要以下前處理步驟:
- Normalization:對每個特徵減去均值再除以標準差進行正規化。
- Return Computation:為每條軌跡預先計算折扣回報。
- Scaling:將獎勵與回報乘以 1000 的比例進行縮放。
- Sampling Distribution:增強抽樣分佈以考慮專家代理軌跡的長度。
這些步驟透過自訂的 Data Collator 實作,該整理器會回傳包含 states、actions、rewards、returns-to-go、timesteps 與 attention masks 的批次。
使用 Hugging Face Trainer 進行訓練
訓練使用 Hugging Face 的 Trainer 類別執行。由於標準的 DecisionTransformerModel 本身不會回傳損失值,需使用包裝類別(TrainableDT)來計算模型的動作預測與資料集目標動作之間的 L-2 範數(均方誤差)。
關鍵訓練超參數:
- Epochs:120
- Batch Size:64
- Learning Rate:$1e-4$
- Weight Decay:$1e-4$
- Warmup Ratio:0.1
- Optimizer:AdamW
- Max Gradient Norm:0.25
變換器中 RL 的未來方向
Hugging Face 計畫透過多項倡議擴大對深度強化學習社群的支援:
- Online Training:擴充倉庫,納入於線上環境中訓練或微調的 Decision Transformer 模型。
- Tool Integration:將
sample-factory2.0 版整合至其生態系統。