AAAI24
摘要
多任務(wù)強(qiáng)化學(xué)習(xí)致力于用單一策略完成一組不同的任務(wù)。為了通過跨多個任務(wù)共享參數(shù)來提高數(shù)據(jù)效率,常見的做法是將網(wǎng)絡(luò)分割成不同的模塊,并訓(xùn)練路由網(wǎng)絡(luò)將這些模塊重新組合成特定于任務(wù)的策略。然而,現(xiàn)有的路由方法對所有任務(wù)采用固定數(shù)量的模塊,忽略了具有不同難度的任務(wù)通常需要不同數(shù)量的知識。這項(xiàng)工作提出了一種動態(tài)深度路由(D2R)框架,該框架學(xué)習(xí)策略性地跳過某些中間模塊,從而為每個任務(wù)靈活選擇不同數(shù)量的模塊。在此框架下,我們進(jìn)一步引入了 ResRouting 方法來解決離策略訓(xùn)練期間行為和目標(biāo)策略之間不同的路由路徑問題。此外,我們設(shè)計(jì)了一種自動路由平衡機(jī)制,以鼓勵對未掌握任務(wù)的持續(xù)路由探索,而不干擾已掌握任務(wù)的路由。我們在 Meta-World 基準(zhǔn)測試中對各種機(jī)器人操作任務(wù)進(jìn)行了廣泛的實(shí)驗(yàn),其中 D2R 實(shí)現(xiàn)了最先進(jìn)的性能,并顯著提高了學(xué)習(xí)效率。
介紹怎么寫的
drl已經(jīng)有很多的突破了,但是訓(xùn)練單策略概括所有的任務(wù)仍然是一項(xiàng)挑戰(zhàn)。
MTRL是做有什么的,有什么好處,有難點(diǎn)。相似任務(wù)的共享能提高采樣效率,但是
如何確定任務(wù)間共享什么以及如何共享,仍然是一項(xiàng)挑戰(zhàn)。
本文為了解決這樣的問題,目前常見的方法是什么?;谀K化和路由機(jī)制的一類方法。介紹一下該方法。
常見的方法忽視了什么問題,我們提出了我們的方法,簡單介紹是怎么做的。
為了解決另一個問題,提出了另一種方法。自動路由平衡機(jī)制。
我們做了大量的實(shí)驗(yàn),實(shí)現(xiàn)了sota,在采樣效率和最終表現(xiàn)都比sota要好。也有良好的理論分析和消融實(shí)驗(yàn)。
Related work
- MTRL
- SAC
- Modularization and Routing
- 現(xiàn)有的路由方法可以分為
- Output-level routing
- 任務(wù)共享backbone的所有全部模塊,但是每個任務(wù)有具體的head
- 典型的方法是Multi-head
- Model-level routing
- 由多個單獨(dú)的網(wǎng)絡(luò)模型,通過路由網(wǎng)絡(luò)選擇指定的權(quán)重
- 典型的方法是Moe
- Layer-level routing
- Model-level routing方法的擴(kuò)展,每層內(nèi)是獨(dú)立的,層間通過路由網(wǎng)絡(luò)選擇
- 典型的方法是Soft Modularization
- Output-level routing
- 現(xiàn)有的路由方法可以分為
輸出級別的路由靈活性是最差的,multi-head方法也是沒有把額外的信息,如state info考慮在內(nèi)的。
Method
本文提出了module級別的路由,路由網(wǎng)路學(xué)習(xí)一個有向無環(huán)圖(DAG,Directed Acyclic Graph)來得到特定任務(wù)的網(wǎng)絡(luò)。頂點(diǎn)表示模塊,邊表示模塊之間的路由連接。Model-level routing和Layer-level routing 都可以看成DAG的一種特例。
1. 動態(tài)深度路由
目的是基于任務(wù)困難度,選擇合適的模塊和組合起來。每個時間步,路由網(wǎng)絡(luò)根據(jù)當(dāng)前的state和任務(wù)id重新組合基本的module,得到特定任務(wù)的DAG
基本的模塊網(wǎng)絡(luò):
M
i
M^i
Mi表示第i個模塊,括號里表示該模塊的輸入,是前面i-1個模塊的加權(quán)
路由網(wǎng)絡(luò):
z i z^i zi表示路由子網(wǎng)絡(luò)輸出的,對于第i層模塊網(wǎng)絡(luò)的logits,路由網(wǎng)絡(luò)的輸入是狀態(tài)信息表征和任務(wù)id表征的相乘element-wise multiplication
d
i
d^i
di表示第i個模塊之前的所有選擇的模塊,也就是路徑,長度最長為i-1
d
j
i
d^i_j
dji?表示是否是topk中的logits,如果是則為1,否則為0
總的來說,為了得到第i個模塊的輸入,通過路由網(wǎng)絡(luò)得到i之前路徑(被選擇的模塊)的輸出權(quán)重,得到這個權(quán)重就可以實(shí)現(xiàn)公式(3),得到加權(quán)的i之前路徑的輸出結(jié)果,并作為第i個模塊的輸入。
而考慮到每個任務(wù)不完全需要所有的模塊,簡單的任務(wù)可能需要更少的module,因此只選擇topk,在實(shí)現(xiàn)選擇k=2
這種稀疏化容易帶來探索利用的問題,因此使用采樣的方法,將(6)修改為(7)
2. ResRouting for Off-policy Training
- 上面的方法雖然是和RL算法無關(guān)的,但是考慮到采樣效率,選擇off-policy的SAC
- 但是,off-policy有一個特定的問題,行為策略和目標(biāo)策略可能會有不同的路由路徑
- 由于target和behavior更新之間存在gap,盲目的更新造成負(fù)轉(zhuǎn)移
一般的off-policy算法流程是,行為策略 π o l d \pi_{old} πold?采樣存到replay buffer中,然后根據(jù)replay buffer采樣的數(shù)據(jù)更新目標(biāo)策略網(wǎng)絡(luò) π ? \pi_{\phi} π??。
由于更新不同步,采樣的數(shù)據(jù)是由舊行為策略( π o l d \pi_{old} πold?)生成的。在更新網(wǎng)絡(luò)時,新策略( π ? \pi_{\phi} π??)選擇的路徑和舊策略選擇的路徑可能不同。如果僅更新舊策略選擇的路徑模塊(下圖中的M1和M3),會導(dǎo)致負(fù)面轉(zhuǎn)移。這是因?yàn)榻?jīng)過更新后,新策略選擇了更合適且不會帶來負(fù)面轉(zhuǎn)移的模塊(M1和M2),而拋棄了舊策略選擇的部分模塊。
即使SAC每次采樣一組數(shù)據(jù),就更新一次,那buffer中也是各種各樣的old policy產(chǎn)生的數(shù)據(jù)。
因此,作者提出了新的路由方法,ResRouting
當(dāng)然,也可以僅更新新目標(biāo)策略( π ? \pi_{\phi} π??)選擇的路徑,也就是下圖中的M1和M2,在消融實(shí)驗(yàn)部分也對比了ResRouting和僅更新目標(biāo)策略( π ? \pi_{\phi} π??)選擇的路徑的實(shí)驗(yàn)結(jié)果,ResRouting會更好,作者的解釋是行為策略 π o l d \pi_{old} πold?探索的行為沒有被利用上,也就M3沒被目標(biāo)網(wǎng)絡(luò)考慮在內(nèi)。
d o l d d_{old} dold?表示 π θ o l d \pi_{\theta_{old}} πθold??網(wǎng)絡(luò)的路徑,和環(huán)境交互存儲到buffer中的都是 d o l d d_{old} dold?網(wǎng)絡(luò)生成的值,公式5就變成了:
每個模塊的輸出被修改為:
σ i \sigma^i σi表示閾值,與可選路由源的數(shù)量有關(guān),本文被設(shè)定為1/i。也就是說,超過閾值的才會被選擇,否則就會停止梯度反傳更新。比如上圖中,采樣的數(shù)據(jù)是由M1和M3生成的,應(yīng)該要更新M1和M3對應(yīng)的模塊,但是Target網(wǎng)絡(luò)選擇是M1和M2,那么M3可能就是不合適的,盲目的更新M3會導(dǎo)致負(fù)轉(zhuǎn)移。ResRouting方法是設(shè)定閾值,如果要更新的模塊在Target網(wǎng)絡(luò)中小于閾值,那么就停止這個模塊的更新,即M3不更新。
而考慮到梯度停止更新,比如M3,那么M3之前的模塊也會停止更新,會造成次優(yōu)解,造成訓(xùn)練效率減少以及不平衡的更新頻率。作者提出使用殘差連接的方式,將上面的公式修改為:
3. Automatic Route-Balancing
除了目標(biāo)策略和行為不一致的問題,還有經(jīng)典的路由平衡問題,即簡單的任務(wù)會更容易的收斂。
方法是使用了溫度系數(shù)取代公式(7):
τ
τ
\tau_{\tau}
ττ?表示SAC中的溫度系數(shù),在多任務(wù)中,每個任務(wù)的SAC是不同的,而且可以反應(yīng)任務(wù)的困難度。
算法偽代碼:
Experiments
方法達(dá)到了sota
消融實(shí)驗(yàn)
(b)中比較了直接更新目標(biāo)策略( π ? \pi_{\phi} π??)選擇的路徑(橙色)和ResRouting的方法(紅色),說明是有作用的,但不大。
但是沒比較另外一種方式,以目標(biāo)策略選擇路徑為主導(dǎo),如果在行為策略中的概率小于閾值,就跳躍連接。實(shí)驗(yàn)結(jié)果可能也差不多。文章來源:http://www.zghlxwxcb.cn/news/detail-804831.html
總結(jié)
- 這種稀疏topk的結(jié)構(gòu),是需要保證足夠探索性的,本文的方法是,隨機(jī)采樣k個模塊,可以保證收斂嗎,是不是可以采用類似epsilon-貪婪的方法,平衡探索和利用
- 偽代碼非常有助于理解!
- 路由網(wǎng)絡(luò)Gate也是有N個,每個輸出對應(yīng)module需要的概率分布
- 專家的數(shù)量需要事先指定
參考:
https://arxiv.org/abs/2312.14472文章來源地址http://www.zghlxwxcb.cn/news/detail-804831.html
到了這里,關(guān)于論文筆記|Not All Tasks Are Equally Difficult MultiTask Reinforcement Learning with Dynamic Depth Routing的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!