RL訓(xùn)練太慢?UC伯克利重磅開源FastTD3:并行+大批次+分布Critic,人形機(jī)器人3小時(shí)搞定
論文鏈接:??https://arxiv.org/pdf/2505.22642??
項(xiàng)目鏈接:?https://younggyo.me/fast_td3/??
亮點(diǎn)直擊
- 提出了FastTD3,一種簡單、快速且高效的強(qiáng)化學(xué)習(xí)算法,能夠解決多種運(yùn)動(dòng)和操作任務(wù),而之前的RL算法需要數(shù)十小時(shí)才能完成或無法解決。
- 可以通過一個(gè)極其簡單的方案實(shí)現(xiàn):使用大批次更新、并行仿真、分布式強(qiáng)化學(xué)習(xí)以及精心調(diào)優(yōu)的超參數(shù)來訓(xùn)練TD3智能體。展示了各種設(shè)計(jì)選擇的有效性。
- 發(fā)布了一個(gè)易于使用的開源FastTD3實(shí)現(xiàn),以加速機(jī)器人領(lǐng)域的強(qiáng)化學(xué)習(xí)研究。該實(shí)現(xiàn)支持流行的測試平臺(tái),如HumanoidBench、IsaacLab和MuJoCo Playground。
總結(jié)速覽
解決的問題
- 訓(xùn)練速度慢:現(xiàn)有RL算法(如PPO、PQL等)在復(fù)雜機(jī)器人任務(wù)(如HumanoidBench、IsaacLab)中訓(xùn)練時(shí)間過長(如48小時(shí)未收斂)。
- 實(shí)現(xiàn)復(fù)雜性高:部分高效算法(如PQL)依賴異步并行等復(fù)雜設(shè)計(jì),難以廣泛應(yīng)用。
- 樣本效率與穩(wěn)定性的權(quán)衡:PPO等on-policy算法樣本效率低,而off-policy算法(如TD3)雖高效但訓(xùn)練不穩(wěn)定或速度不足。
效果展示
FastTD3解決了MuJoCo游樂場的一系列任務(wù),實(shí)現(xiàn)了與PPO相似或更快的掛鐘時(shí)間:
FastTD3在單個(gè)GPU上在不到3小時(shí)的時(shí)間內(nèi)解決了HumanoidBench中的各種任務(wù),而之前的算法即使經(jīng)過數(shù)十小時(shí)的訓(xùn)練也很困難。然而可以看到,由于獎(jiǎng)勵(lì)設(shè)計(jì)的局限性,行為非常不自然:
證明了FastTD3可用于模擬到真實(shí)的傳輸。使用非??焖俸头奖愕腗uJoCo Playground在模擬中訓(xùn)練Booster T1策略,并使用Booster Gym將其轉(zhuǎn)移到真實(shí)的Booster T1機(jī)器人上:
不同的 RL 算法可能需要不同的獎(jiǎng)勵(lì)函數(shù):
提出的方案
- 并行仿真(Parallel Simulation):加速數(shù)據(jù)收集。
- 大批次更新(Large-Batch Updates):提升訓(xùn)練穩(wěn)定性。
- 分布化Critic(Distributional Critic):改進(jìn)價(jià)值估計(jì)。
- 精細(xì)調(diào)參:針對機(jī)器人任務(wù)優(yōu)化的超參數(shù)。
應(yīng)用的技術(shù)
- 算法基礎(chǔ):TD3(雙延遲確定性策略梯度)的off-policy框架。
- 加速技術(shù):GPU并行化仿真(單A100實(shí)現(xiàn))、大批次梯度更新。
- 性能優(yōu)化:分布化Critic、簡化異步流程。
達(dá)到的效果
- 訓(xùn)練速度:在HumanoidBench等任務(wù)中,3小時(shí)內(nèi)完成訓(xùn)練(對比PPO更快,尤其在復(fù)雜地形任務(wù)中)。
- 穩(wěn)定性:訓(xùn)練過程穩(wěn)定,無需復(fù)雜調(diào)參。
- 易用性:提供輕量級PyTorch實(shí)現(xiàn),支持快速部署和擴(kuò)展(兼容HumanoidBench/IsaacLab/MuJoCo Playground)。
- 兼容性:與前沿RL研究(如SR-SAC、TDMPC2等)正交,可靈活集成新技術(shù)。
FastTD3:面向人形機(jī)器人控制的簡單、快速、高效強(qiáng)化學(xué)習(xí)算法
FastTD3是基于雙延遲深度確定性策略梯度算法的高性能變體,專為復(fù)雜機(jī)器人任務(wù)優(yōu)化。這些優(yōu)化借鑒了Li等人的研究發(fā)現(xiàn):并行仿真、大批次訓(xùn)練和分布化評論家對離線策略強(qiáng)化學(xué)習(xí)算法的性能提升至關(guān)重要。
設(shè)計(jì)選擇
并行環(huán)境
與Li等人的觀察一致,發(fā)現(xiàn)大規(guī)模并行環(huán)境能顯著加速TD3訓(xùn)練。假設(shè):確定性策略梯度算法與并行仿真的結(jié)合具有特殊優(yōu)勢,因?yàn)椴⑿协h(huán)境產(chǎn)生的隨機(jī)性增加了數(shù)據(jù)分布的多樣性。這使得TD3既能充分發(fā)揮其價(jià)值函數(shù)高效利用的優(yōu)勢,又能緩解探索能力不足的缺陷。
大批次訓(xùn)練
實(shí)驗(yàn)表明,使用32,768的超大批次規(guī)模訓(xùn)練FastTD3智能體效果顯著。推測:在并行環(huán)境下,大批次更新通過確保每次梯度更新的數(shù)據(jù)多樣性,為評論家提供了更穩(wěn)定的學(xué)習(xí)信號。否則,除非保持高更新數(shù)據(jù)比(UTD),否則大量數(shù)據(jù)可能永遠(yuǎn)不被智能體利用。雖然增大批次規(guī)模會(huì)增加單次更新的耗時(shí),但由于訓(xùn)練效率提升,總體訓(xùn)練時(shí)間往往反而縮短。
分布化強(qiáng)化學(xué)習(xí)
截?cái)嚯pQ學(xué)習(xí)(CDQ)
Nauman等人指出,當(dāng)結(jié)合層歸一化時(shí),使用Q值均值比CDQ采用的Q值最小值效果更好。實(shí)驗(yàn)顯示,在沒有層歸一化時(shí)趨勢相反——CDQ仍是關(guān)鍵設(shè)計(jì)選擇,采用最小值通常表現(xiàn)更優(yōu)。這表明CDQ仍是需要按任務(wù)調(diào)節(jié)的重要超參數(shù)。
網(wǎng)絡(luò)架構(gòu)
采用1024-512-256單元數(shù)的多層感知機(jī)(MLP),行動(dòng)者采用512-256-128單元數(shù)。實(shí)驗(yàn)發(fā)現(xiàn),更小的模型會(huì)降低時(shí)間效率和樣本效率。雖然嘗試過類似BRO或Simba的殘差連接與層歸一化,但這些設(shè)計(jì)反而會(huì)拖慢訓(xùn)練且無顯著收益。推測:并行仿真和大批次訓(xùn)練提供的數(shù)據(jù)多樣性降低了更新的"離線策略性",從而緩解了自助法、函數(shù)逼近和離線策略學(xué)習(xí)"致命三角"帶來的不穩(wěn)定性。因此即使沒有殘差連接或?qū)託w一化等穩(wěn)定結(jié)構(gòu),訓(xùn)練過程仍能保持穩(wěn)定。
探索噪聲調(diào)度
更新數(shù)據(jù)比(UTD)
已有研究表明:提高UTD(即每環(huán)境步長的梯度更新次數(shù))通常需要額外技術(shù)或架構(gòu)調(diào)整。但FastTD3在標(biāo)準(zhǔn)3層MLP(無歸一化)下,樣本效率隨UTD提升而改善,僅需付出更長的訓(xùn)練耗時(shí)。這歸因于FastTD3工作在極低UTD(通常每128-4096個(gè)并行環(huán)境步長僅2/4/8次更新),降低了高UTD導(dǎo)致的早期過擬合風(fēng)險(xiǎn)。
經(jīng)驗(yàn)回放池大小
實(shí)現(xiàn)細(xì)節(jié)
并行環(huán)境
對于IsaacLab和MuJoCo Playground,直接使用它們原生的并行仿真支持。然而,HumanoidBench不支持基于 GPU 的并行化,因此使用Stable Baselines3的 ??SubprocVecEnv?
?。HumanoidBench 的默認(rèn)配置會(huì)為每個(gè)仿真啟動(dòng)一個(gè)基于 GPU 的渲染器,這使得運(yùn)行超過 100 個(gè)環(huán)境變得困難。已向 HumanoidBench 提交了一個(gè)Pull Request,添加了禁用默認(rèn) GPU 渲染器的支持,并已合并到主分支。
環(huán)境封裝器為了構(gòu)建一個(gè)支持不同測試套件(各自采用不同配置)的易用代碼庫,為每個(gè)套件開發(fā)或使用了封裝器:
- MuJoCo Playground:使用原生?
?RSLRLBraxWrapper?
??,將 JAX 張量轉(zhuǎn)換為 PyTorch 張量,并遵循RSL-RL的 API。由于該封裝器不支持在重置環(huán)境前保存最終觀測值,在一個(gè)獨(dú)立的分支中實(shí)現(xiàn)了這一功能,并計(jì)劃將其合并到主倉庫。 - IsaacLab:由于原生支持 PyTorch,實(shí)現(xiàn)了一個(gè)符合RSL-RL API的簡單封裝器。目前,本文的實(shí)現(xiàn)不支持訓(xùn)練期間的渲染,因?yàn)?strong>IsaacLab不允許并發(fā)運(yùn)行多個(gè)仿真。
- HumanoidBench:開發(fā)了一個(gè)遵循RSL-RL API的封裝器,并將 NumPy 數(shù)組轉(zhuǎn)換為 PyTorch 張量。
非對稱 Actor-Critic
對于IsaacLab和MuJoCo Playground(它們通常為評論家網(wǎng)絡(luò)提供特權(quán)狀態(tài)),實(shí)現(xiàn)了非對稱 Actor-Critic的支持。
AMP 與 ??torch.compile?
?
盡管基于JAX的 RL 實(shí)現(xiàn)在近年來因速度優(yōu)勢而流行,但仍選擇PyTorch作為基礎(chǔ),因其簡單性和靈活性。在單塊A100 GPU上,使用AMP(自動(dòng)混合精度)和bfloat16可將訓(xùn)練速度提升高達(dá)40%,且未觀察到不穩(wěn)定性。還基于LeanRL 支持 ??torch.compile?
??,實(shí)驗(yàn)顯示其可帶來35%的加速。當(dāng)同時(shí)使用AMP和 ??torch.compile?
? 時(shí),訓(xùn)練速度最高可提升70%。
經(jīng)驗(yàn)回放池
沒有固定全局回放池大小,而是設(shè)定為。這種方式能更好地解耦回放池大小與并行環(huán)境數(shù)量的影響。例如:
- 如果全局回放池固定為100萬,任務(wù)片段長度為1000,而用戶將并行環(huán)境數(shù)從1000增加到2000,則回放池只能保存每個(gè)環(huán)境軌跡的一半(在500 步后就會(huì)開始丟棄早期樣本),這可能影響性能。
- 但如果為每個(gè)環(huán)境設(shè)定 **N=1000,則回放池能完整保存軌跡,不受并行環(huán)境數(shù)量的影響。
由于專注于非視覺領(lǐng)域,所有數(shù)據(jù)均存儲(chǔ)在GPU上,以避免CPU-GPU 數(shù)據(jù)傳輸?shù)拈_銷。
實(shí)驗(yàn)
實(shí)驗(yàn)設(shè)置
對于DreamerV3、SAC和TDMPC2基線算法,使用 HumanoidBench 代碼庫中提供的三次運(yùn)行學(xué)習(xí)曲線。由于每次訓(xùn)練耗時(shí)48 小時(shí),通過插值計(jì)算實(shí)際時(shí)間戳來繪制曲線。對于SimbaV2,使用官方代碼庫在涉及靈巧手的任務(wù)上進(jìn)行實(shí)驗(yàn)。SimbaV2 采用單次運(yùn)行結(jié)果,未來計(jì)劃增加更多實(shí)驗(yàn)。所有 FastTD3 結(jié)果均為三次運(yùn)行的平均值。實(shí)驗(yàn)在配備單塊 NVIDIA A100 GPU和16 CPU 核心的云實(shí)例上完成。
實(shí)驗(yàn)結(jié)果
在下圖3中提供了每個(gè)套件的所有任務(wù)的匯總結(jié)果,在下圖4中提供了選定任務(wù)集的單獨(dú)結(jié)果。在下圖5和圖6中提供了廣泛的實(shí)驗(yàn)結(jié)果,研究了各種設(shè)計(jì)選擇的影響。
不同RL算法需要不同的獎(jiǎng)勵(lì)函數(shù)
在 MuJoCo Playground 訓(xùn)練人形機(jī)器人運(yùn)動(dòng)策略時(shí),發(fā)現(xiàn)PPO和FastTD3即使使用相同獎(jiǎng)勵(lì)函數(shù)也會(huì)產(chǎn)生顯著不同的步態(tài)(見下圖7a-b)。推測:現(xiàn)有獎(jiǎng)勵(lì)函數(shù)通常針對 PPO 調(diào)優(yōu),不同算法可能需要不同的獎(jiǎng)勵(lì)結(jié)構(gòu)來產(chǎn)生理想行為。為此專門為 FastTD3 調(diào)整了獎(jiǎng)勵(lì)函數(shù)——增加懲罰項(xiàng)強(qiáng)度。得益于 FastTD3 的快速訓(xùn)練,該調(diào)參過程非常高效。如圖7c 所示,調(diào)整后的獎(jiǎng)勵(lì)使 FastTD3 學(xué)習(xí)到比圖7a 更穩(wěn)定美觀的步態(tài)。而將 FastTD3 調(diào)優(yōu)的獎(jiǎng)勵(lì)用于 PPO 訓(xùn)練時(shí),卻會(huì)導(dǎo)致步態(tài)緩慢不可用(圖7d)。這表明標(biāo)準(zhǔn)指標(biāo)——片段回報(bào)——可能無法有效衡量策略的實(shí)際可用性。
FastSAC 實(shí)驗(yàn)
為驗(yàn)證方法通用性,本文將 FastTD3 方案遷移至 SAC開發(fā)出FastSAC。實(shí)驗(yàn)顯示 FastSAC 顯著快于原始 SAC(下圖8),但訓(xùn)練穩(wěn)定性較差,推測源于高維動(dòng)作空間中動(dòng)作熵最大化的固有難度。鑒于 SimbaV2在主實(shí)驗(yàn)中明顯快于原始 SAC,未來可將此類最新進(jìn)展融入 FastTD3/FastSAC。
FastTD3 的仿真到現(xiàn)實(shí)遷移
下圖1的仿真到現(xiàn)實(shí)實(shí)驗(yàn)使用Booster Gym ,該平臺(tái)支持12自由度 Booster T1 人形機(jī)器人控制(固定手臂/腰部/朝向)。為簡化流程,將 Booster Gym 的機(jī)器人配置和獎(jiǎng)勵(lì)函數(shù)移植到原本支持23自由度控制的 MuJoCo Playground。相比基于 IsaacGym 的 Booster Gym,在 MuJoCo Playground 中訓(xùn)練 FastTD3 能大幅簡化和加速迭代周期。
討論
本文提出了FastTD3——一種簡潔、高效且性能優(yōu)異的強(qiáng)化學(xué)習(xí)算法,該算法成功解決了HumanoidBench、IsaacLab和MuJoCo Playground中的各類運(yùn)動(dòng)控制與機(jī)械操作任務(wù)。研究表明,在未引入新架構(gòu)或訓(xùn)練技術(shù)的前提下,僅通過精心調(diào)優(yōu)的超參數(shù)結(jié)合簡潔算法,即可為復(fù)雜機(jī)器人任務(wù)構(gòu)建出人意料的強(qiáng)基線。隨本報(bào)告同步開源的FastTD3實(shí)現(xiàn)具有輕量化、易用化特點(diǎn),提供用戶友好功能與預(yù)設(shè)超參數(shù)配置。
需要特別說明的是,本研究目標(biāo)并非宣稱算法創(chuàng)新性或優(yōu)越性。本文的方法直接建立在學(xué)界已有洞見之上:并行Q學(xué)習(xí)(PQL)揭示了如何通過大規(guī)模并行仿真擴(kuò)展離策略強(qiáng)化學(xué)習(xí),后續(xù)的并行Q網(wǎng)絡(luò)(PQN)在離散控制中得出了相似結(jié)論。Raffin與Shukla同樣證明SAC算法通過并行仿真與精細(xì)超參數(shù)調(diào)優(yōu)可實(shí)現(xiàn)高效擴(kuò)展。本工作旨在將這些洞見提煉為簡潔算法,提供全面的設(shè)計(jì)選擇實(shí)驗(yàn)分析,并發(fā)布開箱即用的實(shí)現(xiàn)方案。
本文對多個(gè)未來方向充滿期待:首先,F(xiàn)astTD3與近期強(qiáng)化學(xué)習(xí)進(jìn)展具有正交性,這些改進(jìn)可輕松集成以推動(dòng)技術(shù)前沿,預(yù)計(jì)整合過程將高效順暢;其次,F(xiàn)astTD3作為離策略算法,非常適用于人形機(jī)器人控制的示范驅(qū)動(dòng)強(qiáng)化學(xué)習(xí)場景,以及通過真實(shí)環(huán)境交互微調(diào)仿真訓(xùn)練策略;最后,F(xiàn)astTD3的快速迭代特性可賦能基于語言模型生成獎(jiǎng)勵(lì)的逆向強(qiáng)化學(xué)習(xí)框架,為長期困擾人形控制領(lǐng)域的獎(jiǎng)勵(lì)設(shè)計(jì)難題提供新思路。
本文轉(zhuǎn)自AI生成未來 ,作者:AI生成未來
