從Transformer到擴(kuò)散模型,一文了解基于序列建模的強(qiáng)化學(xué)習(xí)方法
大規(guī)模生成模型在近兩年為自然語言處理甚至計(jì)算機(jī)視覺帶來的巨大的突破。最近這股風(fēng)潮也影響到了強(qiáng)化學(xué)習(xí),尤其是離線強(qiáng)化學(xué)習(xí)(offline RL),諸如 Decision Transformer (DT)[1], Trajectory Transformer(TT)[2], Gato[3], Diffuser[4]這樣的方法,將強(qiáng)化學(xué)習(xí)的數(shù)據(jù)(包括狀態(tài),動作,獎勵和 return-to-go)當(dāng)成了一串去結(jié)構(gòu)化的序列數(shù)據(jù),并將建模這些序列數(shù)據(jù)作為學(xué)習(xí)的核心任務(wù)。這些模型都可以用監(jiān)督或自監(jiān)督學(xué)習(xí)的方法來訓(xùn)練,避免了傳統(tǒng)強(qiáng)化學(xué)習(xí)中比較不穩(wěn)定的梯度信號。即便使用復(fù)雜的策略提升 (policy improvement) 和估值 (value estimation) 方法,它們在離線強(qiáng)化學(xué)習(xí)中都展現(xiàn)了非常好的表現(xiàn)。
本篇將簡單談?wù)勥@些基于序列建模的強(qiáng)化學(xué)習(xí)方法,下篇筆者將介紹我們新提出的,Trajectory Autoencoding Planner(TAP),一種用 Vector Quantised Variational AutoEncoder (VQ-VAE)進(jìn)行序列建模并進(jìn)行高效的隱動作空間(latent action space)內(nèi)規(guī)劃的方法。
Transformer 與強(qiáng)化學(xué)習(xí)
Transformer 架構(gòu) [5] 于 2017 年提出之后慢慢引發(fā)了自然語言處理的革命,后續(xù)的 BERT 和 GPT-3 逐漸將自監(jiān)督 + Transformer 這個(gè)組合不斷推向新的高度,在自然語言處理領(lǐng)域不斷涌現(xiàn)出少樣本 (few-shot) 學(xué)習(xí)等性質(zhì)的同時(shí),也開始向諸如計(jì)算機(jī)視覺的領(lǐng)域不斷擴(kuò)散[6][7]。
然而對于強(qiáng)化學(xué)習(xí)來說,這個(gè)進(jìn)程似乎在 2021 年之前都不是特別明顯。在 2018 年,多頭注意力機(jī)制也被引入強(qiáng)化學(xué)習(xí) [8],這類工作基本都是應(yīng)用在類似半符號化(sub-symbolic) 的領(lǐng)域嘗試解決強(qiáng)化學(xué)習(xí)泛化的問題。之后這類嘗試就一直處于一種不溫不火的狀態(tài)。根據(jù)筆者個(gè)人的體驗(yàn),實(shí)際上 Transformer 在強(qiáng)化學(xué)習(xí)上也并沒有展現(xiàn)出穩(wěn)定的壓倒性的優(yōu)勢,而且還很難訓(xùn)練。在 20 年我們的一個(gè)用 Relational GCN 做強(qiáng)化學(xué)習(xí)的工作中 [9],我們其實(shí)也在背后試過 Transformer,但是基本比傳統(tǒng)結(jié)構(gòu)(類似 CNN)差得多,很難穩(wěn)定訓(xùn)練得到一個(gè)能用的 policy。為什么 Transformer 和傳統(tǒng)在線強(qiáng)化學(xué)習(xí)(online RL)的相性比較差還是個(gè)開放問題,比如 Melo[10] 解釋說是因?yàn)閭鹘y(tǒng)的 Transformer 的參數(shù)初始化不適合強(qiáng)化學(xué)習(xí),在此我就不多做討論了。
2021 年年中,Decision Transformer (DT)和 Trajectory Transformer(TT)的發(fā)表掀起了 Transformer 在 RL 上應(yīng)用的新大潮。這兩個(gè)工作的思路其實(shí)很直接:如果 Transformer 和在線強(qiáng)化學(xué)習(xí)的算法不是很搭,那要不干脆把強(qiáng)化學(xué)習(xí)當(dāng)成一個(gè)自監(jiān)督學(xué)習(xí)的任務(wù)?趁著離線強(qiáng)化學(xué)習(xí)這個(gè)概念也很火熱,這兩個(gè)工作都將自己的主要目標(biāo)任務(wù)鎖定為建模離線數(shù)據(jù)集(offline dataset),然后再將這個(gè)序列模型用作控制和決策。
對于強(qiáng)化學(xué)習(xí)來說,所謂序列就是由狀態(tài)(state) s ,動作(action)
,獎勵(reward) r 和價(jià)值(value) v 構(gòu)成的軌跡(trajectory)
。其中價(jià)值目前一般是被用 return-to-go 來替代,可以被看成是一種蒙特卡洛估計(jì)(Monte Carlo estimation)。離線數(shù)據(jù)集就由這一條條軌跡構(gòu)成。軌跡的產(chǎn)生和環(huán)境的動力學(xué)模型(dynamics)以及行為策略(behaviour policy)
有關(guān)。而所謂序列建模,就是要建模產(chǎn)生產(chǎn)生這個(gè)序列的概率分布(distribution),或者嚴(yán)格上說是其中的一些條件概率。

Decision Transformer
DT 的做法是建模一個(gè)從過往數(shù)據(jù)和價(jià)值到動作的映射 (return-conditioned policy),也就是建模了一個(gè)動作的條件概率的數(shù)學(xué)期望
。這種思路很類似于 Upside Down RL[11],不過很有可能背后的直接動機(jī)是模仿 GPT2/3 那種根據(jù)提示詞(prompt) 完成下游任務(wù)的做法。這種做法的一個(gè)問題是要決定什么是最好的目標(biāo)價(jià)值
沒有一個(gè)比較系統(tǒng)化的方法。然而 DT 的作者們發(fā)現(xiàn)哪怕將目標(biāo)價(jià)值設(shè)為整個(gè)數(shù)據(jù)集中的最高 return,最后 DT 的表現(xiàn)也可以很不錯(cuò)。

Decision Transformer, Figure 1
對于有強(qiáng)化學(xué)習(xí)背景的人來說,DT 這樣的方法能取得很強(qiáng)的表現(xiàn)是非常反直覺的。如果說 DQN,策略梯度(Policy Gradient)這類方法還可以只把神經(jīng)網(wǎng)絡(luò)當(dāng)成一個(gè)能做插值泛化的擬合函數(shù),強(qiáng)化學(xué)習(xí)中的策略提升、估值仍然是構(gòu)造策略的核心的話。DT 就完全可以說是以神經(jīng)網(wǎng)絡(luò)為核心的了,背后它如何把一個(gè)可能不切實(shí)際的高目標(biāo)價(jià)值聯(lián)系到一個(gè)合適的動作的整個(gè)過程都完全是黑箱。DT 的成功可以說從強(qiáng)化學(xué)習(xí)的角度來看有些沒有道理,不過我覺得這也正是這種實(shí)證研究的魅力所在。筆者認(rèn)為神經(jīng)網(wǎng)絡(luò),或者說 Transformer 的泛化能力可能超乎整個(gè) RL 社群之前的預(yù)期。
DT 在所有序列建模方法中也是非常簡單的,幾乎所有強(qiáng)化學(xué)習(xí)的核心問題都在 Transformer 內(nèi)部被解決了。這種簡單性是它目前最受青睞的原因之一。不過它黑盒的性質(zhì)也導(dǎo)致我們在算法設(shè)計(jì)層面上失去了很多抓手,傳統(tǒng)的強(qiáng)化學(xué)習(xí)中的一些成果很難被融入其中。而這些成果的有效性已經(jīng)在一些超大規(guī)模的實(shí)驗(yàn)(如 AlphaGo, AlphaStar, VPT)中被反復(fù)證實(shí)了。
Trajectory Transformer
TT 的做法則更類似傳統(tǒng)的基于模型的強(qiáng)化學(xué)習(xí) (model-based RL) 的規(guī)劃(planning)方法。在建模方面,它將整個(gè)序列中的元素都離散化,然后用了 GPT-2 那樣的離散的自回歸(auto-regressive)方式來建模整個(gè)離線數(shù)據(jù)集。這使得它能夠建模任意給定除去 return-to-go 的序列的后續(xù)
。因?yàn)榻A撕罄m(xù)序列的分布,TT 其實(shí)就成為了一個(gè)序列生成模型。通過在生成的序列中尋找擁有更好的估值(value estimation)的序列,TT 就可以輸出一個(gè)“最優(yōu)規(guī)劃”。至于尋找最優(yōu)序列的方法,TT 用了一種自然語言常用的方法:beam search 的一種變種。基本上就是永遠(yuǎn)保留已經(jīng)展開的序列中最優(yōu)的一部分序列
,然后在它們的基礎(chǔ)上尋找下一步的最優(yōu)序列集
。
從強(qiáng)化學(xué)習(xí)的角度來說,TT 沒有 DT 那么離經(jīng)叛道。它的有趣之處在于(和 DT 一樣)完全拋棄了原本強(qiáng)化學(xué)習(xí)中馬爾可夫決策過程(Markov Decision Process)的因果圖結(jié)構(gòu)。之前的基于模型的方法比如,PETS, world model, dramerv2 等,都會遵循馬爾可夫過程(或者隱式馬爾可夫)中策略函數(shù)、轉(zhuǎn)移函數(shù)、獎勵函數(shù)等的定義,也就是狀態(tài)分布的條件是上一步的狀態(tài),而動作、獎勵、價(jià)值都由當(dāng)前的狀態(tài)決定。整個(gè)強(qiáng)化學(xué)習(xí)社區(qū)一般相信這樣能提高樣本效率,不過這樣的圖結(jié)構(gòu)其實(shí)也可能是一種制約。自然語言領(lǐng)域從 RNN 到 Transformer 以及計(jì)算機(jī)視覺領(lǐng)域 CNN 到 Transformer 的轉(zhuǎn)變其實(shí)都體現(xiàn)了:隨著數(shù)據(jù)增加,讓網(wǎng)絡(luò)自己學(xué)習(xí)圖結(jié)構(gòu)更有利于獲得表現(xiàn)更好的模型。

DreamerV2, Figure 3由于 TT 基本上把所有序列預(yù)測的任務(wù)都交給了 Transformer,Transformer 就能更加靈活地從數(shù)據(jù)中學(xué)習(xí)出更好的圖結(jié)構(gòu)。如下圖,TT 建模出的行為策略根據(jù)不同的任務(wù)和數(shù)據(jù)集展現(xiàn)出不同的圖結(jié)構(gòu)。圖左對應(yīng)了傳統(tǒng)的馬爾可夫策略,圖右對應(yīng)了一種動作滑動平均的策略。

Trajectory Transformer, Figure 4
Transformer 強(qiáng)大的序列建模能力帶來了更高的長序列建模精度,下圖展示了 TT 在 100 步以上的預(yù)測仍然保持了高精度,而遵循馬爾可夫性質(zhì)的單步預(yù)測模型很快因?yàn)轭A(yù)測誤差疊加的問題崩潰了。

Trajectory Transformer, Figure 2TT 雖然在具體建模和預(yù)測方面和傳統(tǒng)方法有所不同,它提供的預(yù)測能力還是給未來融入強(qiáng)化學(xué)習(xí)的其它成果留出了很好的抓手。然而 TT 在預(yù)測速度上有一個(gè)重要問題:因?yàn)樾枰U麄€(gè)序列的分布,它將序列中所有的元素按照維度進(jìn)行離散化,這也就是說一個(gè) 100 維的狀態(tài)就需要占用序列中的 100 個(gè)位置,這使得被建模的序列的實(shí)際長度很容易變得特別長。而對于 Transformer,它關(guān)于序列長度 N 的運(yùn)算復(fù)雜度是
,這使得從 TT 中采樣一個(gè)對未來的預(yù)測變得非常昂貴。哪怕 100 維以下的任務(wù) TT 也需要數(shù)秒甚至數(shù)十秒來進(jìn)行一步?jīng)Q策,這樣的模型很難被投入實(shí)時(shí)的機(jī)器人控制或者在線學(xué)習(xí)之中。
Gato
Gato 是 Deepmind 發(fā)表的“通才模型”,其實(shí)就是一個(gè)跨模態(tài)多任務(wù)生成模型。用同一個(gè) Transformer 它可以完成從自然語言問答,圖片描述,玩電子游戲到機(jī)器人控制等各類工作。在針對連續(xù)控制(continous control)的建模方面 Gato 的做法基本上和 TT 類似。只不過 Gato 嚴(yán)格意義并不是在做強(qiáng)化學(xué)習(xí),它只是建模了專家策略產(chǎn)生的序列數(shù)據(jù),然后在行動時(shí)它只需要采樣下一個(gè)動作,其實(shí)是對專家策略的一種模仿。
?
Gato Blog
其它序列生成模型:擴(kuò)散模型
最近在圖片生成領(lǐng)域擴(kuò)散模型(Diffusion Model)可以說是大紅大紫,DALLE-2 和 Stable Diffusion 都是基于它進(jìn)行圖片生成的。Diffuser 就將這個(gè)方法也運(yùn)用到了離線強(qiáng)化學(xué)習(xí)當(dāng)中,其思路和 TT 類似,先建模序列的條件分布,然后根據(jù)當(dāng)前狀態(tài)采樣未來可能的序列。
Diffuser 相比 TT 又擁有了更強(qiáng)的靈活性:它可以在設(shè)定起點(diǎn)和終點(diǎn)的情形下讓模型填充出中間的路徑,這樣就能實(shí)現(xiàn)目標(biāo)驅(qū)動(而非最大化獎勵函數(shù))的控制。它還可以將多個(gè)目標(biāo)和先驗(yàn)的達(dá)成目標(biāo)的條件混合起來幫助模型完成任務(wù)。

Diffuser Figure 1Diffuser 相對于傳統(tǒng)的強(qiáng)化學(xué)習(xí)模型也是比較顛覆的,它生成的計(jì)劃不是在時(shí)間軸上逐步展開,而是從整個(gè)序列意義上的模糊變得逐漸精確。擴(kuò)散模型本身的進(jìn)一步研究也是計(jì)算機(jī)視覺中的一個(gè)火熱的話題,在其模型本身上很可能未來幾年也會有突破。
不過擴(kuò)散模型本身目前相比于其它生成模型有一個(gè)特別的缺陷,那就是它的生成速度相比于其它生成模型會更慢。很多相關(guān)領(lǐng)域的專家認(rèn)為這一點(diǎn)可能在未來幾年內(nèi)會被緩解。不過數(shù)秒的生成時(shí)間目前對于強(qiáng)化學(xué)習(xí)需要實(shí)時(shí)控制的情景來說是很難接受的。Diffuser 提出了能夠提升生成速度的方法:從上一步的計(jì)劃開始增加少量噪音來重新生成下一步的計(jì)劃,不過這樣做會一定程度上降低模型的表現(xiàn)。




































