再掀強(qiáng)化學(xué)習(xí)變革!DeepMind提出「算法蒸餾」:可探索的預(yù)訓(xùn)練強(qiáng)化學(xué)習(xí)Transformer
在當(dāng)下的序列建模任務(wù)上,Transformer可謂是最強(qiáng)大的神經(jīng)網(wǎng)絡(luò)架構(gòu),并且經(jīng)過預(yù)訓(xùn)練的Transformer模型可以將prompt作為條件或上下文學(xué)習(xí)(in-context learning)適應(yīng)不同的下游任務(wù)。
大型預(yù)訓(xùn)練Transformer模型的泛化能力已經(jīng)在多個(gè)領(lǐng)域得到驗(yàn)證,如文本補(bǔ)全、語言理解、圖像生成等等。

從去年開始,已經(jīng)有相關(guān)工作證明,通過將離線強(qiáng)化學(xué)習(xí)(offline RL)視為一個(gè)序列預(yù)測問題,那么模型就可以從離線數(shù)據(jù)中學(xué)習(xí)策略。
但目前的方法要么是從不包含學(xué)習(xí)的數(shù)據(jù)中學(xué)習(xí)策略(如通過蒸餾固定的專家策略),要么是從包含學(xué)習(xí)的數(shù)據(jù)(如智能體的重放緩沖區(qū))中學(xué)習(xí),但由于其context太小,以至于無法捕捉到策略提升。

DeepMind的研究人員通過觀察發(fā)現(xiàn),原則上強(qiáng)化學(xué)習(xí)算法訓(xùn)練中學(xué)習(xí)的順序性(sequential nature)可以將強(qiáng)化學(xué)習(xí)過程本身建模為一個(gè)「因果序列預(yù)測問題」。
具體來說,如果一個(gè)Transformer的上下文足夠長到可以包含由于學(xué)習(xí)更新而產(chǎn)生的策略改進(jìn),那它應(yīng)該不僅能夠表示一個(gè)固定的策略,而且能夠通過關(guān)注之前episodes的狀態(tài)、行動(dòng)和獎(jiǎng)勵(lì)表示為一個(gè)策略提升算子(policy improvement operator)。
這也提供了一種技術(shù)上的可行性,即任何RL算法都可以通過模仿學(xué)習(xí)蒸餾成一個(gè)足夠強(qiáng)大的序列模型,并將其轉(zhuǎn)化為一個(gè)in-context RL算法。
基于此,DeepMind提出了算法蒸餾(Algorithm Distillation, AD) ,通過建立因果序列模型將強(qiáng)化學(xué)習(xí)算法提取到神經(jīng)網(wǎng)絡(luò)中。

論文鏈接:?https://arxiv.org/pdf/2210.14215.pdf?
算法蒸餾將學(xué)習(xí)強(qiáng)化學(xué)習(xí)視為一個(gè)跨episode的序列預(yù)測問題,通過源RL算法生成一個(gè)學(xué)習(xí)歷史數(shù)據(jù)集,然后根據(jù)學(xué)習(xí)歷史作為上下文,通過自回歸預(yù)測行為來訓(xùn)練因果Transformer。
與蒸餾后學(xué)習(xí)(post-learning)或?qū)<倚蛄械男蛄胁呗灶A(yù)測結(jié)構(gòu)不同,AD能夠在不更新其網(wǎng)絡(luò)參數(shù)的情況下完全在上下文中改進(jìn)其策略。
- Transfomer收集自己的數(shù)據(jù),并在新任務(wù)上最大化獎(jiǎng)勵(lì);
- 無需prompting或微調(diào);
- 在權(quán)重凍結(jié)的情況下,Transformer可探索、利用和最大化上下文的返回(return)!諸如Gato類的專家蒸餾(Expert Distillation)方法無法探索,也無法最大化返回。
實(shí)驗(yàn)結(jié)果證明了AD可以在稀疏獎(jiǎng)勵(lì)、組合任務(wù)結(jié)構(gòu)和基于像素觀察的各種環(huán)境中進(jìn)行強(qiáng)化學(xué)習(xí),并且AD學(xué)習(xí)的數(shù)據(jù)效率(data-efficient)比生成源數(shù)據(jù)的RL算法更高。
AD也是第一個(gè)通過對(duì)具有模仿?lián)p失(imitation loss)的離線數(shù)據(jù)進(jìn)行序列建模來展示in-context強(qiáng)化學(xué)習(xí)的方法。
算法蒸餾
2021年,有研究人員首先發(fā)現(xiàn)Transformer可以通過模仿學(xué)習(xí)從離線RL數(shù)據(jù)中學(xué)習(xí)單任務(wù)策略,隨后又被擴(kuò)展為可以在同域和跨域設(shè)置中提取多任務(wù)策略。
這些工作為提取通用的多任務(wù)策略提出了一個(gè)很有前景的范式:首先收集大量不同的環(huán)境互動(dòng)數(shù)據(jù)集,然后通過序列建模從數(shù)據(jù)中提取一個(gè)策略。
把通過模仿學(xué)習(xí)從離線RL數(shù)據(jù)中學(xué)習(xí)策略的方法也稱之為離線策略蒸餾,或者簡稱為策略蒸餾(Policy Distillation, PD)。
盡管PD的思路非常簡單,并且十分易于擴(kuò)展,但PD有一個(gè)重大的缺陷:生成的策略并沒有從與環(huán)境的額外互動(dòng)中得到提升。
例如,MultiGame Decision Transformer(MGDT)學(xué)習(xí)了一個(gè)可以玩大量Atari游戲的返回條件策略,而Gato通過上下文推斷任務(wù),學(xué)習(xí)了一個(gè)在不同環(huán)境中解決任務(wù)的策略,但這兩種方法都不能通過試錯(cuò)來改進(jìn)其策略。
MGDT通過微調(diào)模型的權(quán)重使變壓器適應(yīng)新的任務(wù),而Gato則需要專家的示范提示才能適應(yīng)新的任務(wù)。
簡而言之,Policy Distillation方法學(xué)習(xí)政策而非強(qiáng)化學(xué)習(xí)算法。
研究人員假設(shè)Policy Distillation不能通過試錯(cuò)來改進(jìn)的原因是,它在沒有顯示學(xué)習(xí)進(jìn)展的數(shù)據(jù)上進(jìn)行訓(xùn)練。
算法蒸餾(AD)通過優(yōu)化一個(gè)RL算法的學(xué)習(xí)歷史上的因果序列預(yù)測損失來學(xué)習(xí)內(nèi)涵式策略改進(jìn)算子的方法。

AD包括兩個(gè)組成部分:
1、通過保存一個(gè)RL算法在許多單獨(dú)任務(wù)上的訓(xùn)練歷史,生成一個(gè)大型的多任務(wù)數(shù)據(jù)集;
2、將Transformer使用前面的學(xué)習(xí)歷史作為其背景對(duì)行動(dòng)進(jìn)行因果建模。
由于策略在源RL算法的整個(gè)訓(xùn)練過程中不斷改進(jìn),AD必須得學(xué)習(xí)如何改進(jìn)算子,才能準(zhǔn)確模擬訓(xùn)練歷史中任何給定點(diǎn)的行動(dòng)。
最重要的是,Transformer的上下文大小必須足夠大(即跨周期),以捕捉訓(xùn)練數(shù)據(jù)的改進(jìn)。

在實(shí)驗(yàn)部分,為了探索AD在in-context RL能力上的優(yōu)勢,研究人員把重點(diǎn)放在預(yù)訓(xùn)練后不能通過zero-shot 泛化解決的環(huán)境上,即要求每個(gè)環(huán)境支持多種任務(wù),且模型無法輕易地從觀察中推斷出任務(wù)的解決方案。同時(shí)episodes需要足夠短以便可以訓(xùn)練跨episode的因果Transformer。

在四個(gè)環(huán)境Adversarial Bandit、Dark Room、Dark Key-to-Door、DMLab Watermaze的實(shí)驗(yàn)結(jié)果中可以看到,通過模仿基于梯度的RL算法,使用具有足夠大上下文的因果Transformer,AD可以完全在上下文中強(qiáng)化學(xué)習(xí)新任務(wù)。

AD能夠進(jìn)行in-context中的探索、時(shí)間上的信用分配和泛化,AD學(xué)習(xí)的算法比產(chǎn)生Transformer訓(xùn)練的源數(shù)據(jù)的算法更有數(shù)據(jù)效率。
PPT講解
為了方便論文理解,論文的一作Michael Laskin在推特上發(fā)表了一份ppt講解。

算法蒸餾的實(shí)驗(yàn)表明,Transformer可以通過試錯(cuò)自主改善模型,并且不用更新權(quán)重,無需提示、也無需微調(diào)。單個(gè)Transformer可以收集自己的數(shù)據(jù),并在新任務(wù)上將獎(jiǎng)勵(lì)最大化。
盡管目前已經(jīng)有很多成功的模型展示了Transformer如何在上下文中學(xué)習(xí),但Transformer還沒有被證明可以在上下文中強(qiáng)化學(xué)習(xí)。
為了適應(yīng)新的任務(wù),開發(fā)者要么需要手動(dòng)指定一個(gè)提示,要么需要調(diào)整模型。
如果Transformer可以適應(yīng)強(qiáng)化學(xué)習(xí),做到開箱即用豈不美哉?
但Decision Transformers或者Gato只能從離線數(shù)據(jù)中學(xué)習(xí)策略,無法通過反復(fù)實(shí)驗(yàn)自動(dòng)改進(jìn)。

使用算法蒸餾(AD)的預(yù)訓(xùn)練方法生成的Transformer可以在上下文中強(qiáng)化學(xué)習(xí)。

首先訓(xùn)練一個(gè)強(qiáng)化學(xué)習(xí)算法的多個(gè)副本來解決不同的任務(wù)和保存學(xué)習(xí)歷史。

一旦收集完學(xué)習(xí)歷史的數(shù)據(jù)集,就可以訓(xùn)練一個(gè)Transformer來預(yù)測之前的學(xué)習(xí)歷史的行動(dòng)。
由于策略在歷史上有所改進(jìn),因此準(zhǔn)確地預(yù)測行動(dòng)將會(huì)迫使Transformer對(duì)策略提升進(jìn)行建模。

整個(gè)過程就是這么簡單,Transformer只是通過模仿動(dòng)作來訓(xùn)練,沒有像常見的強(qiáng)化學(xué)習(xí)模型所用的Q值,沒有長的操作-動(dòng)作-獎(jiǎng)勵(lì)序列,也沒有像 DTs 那樣的返回條件。
在上下文中,強(qiáng)化學(xué)習(xí)沒有額外開銷,然后通過觀察 AD 是否能最大化新任務(wù)的獎(jiǎng)勵(lì)來評(píng)估模型。
Transformer探索、利用、并最大化返回在上下文時(shí),它的權(quán)重是凍結(jié)的!
另一方面,專家蒸餾(最類似于Gato)不能探索,也不能最大化回報(bào)。

AD 可以提取任何 RL 算法,研究人員嘗試了 UCB、DQNA2C,一個(gè)有趣的發(fā)現(xiàn)是,在上下文 RL 算法學(xué)習(xí)中,AD更有數(shù)據(jù)效率。

用戶還可以輸入prompt和次優(yōu)的demo,模型會(huì)自動(dòng)進(jìn)行策略提升,直到獲得最優(yōu)解!
而專家蒸餾ED只能維持次優(yōu)的demo表現(xiàn)。

只有當(dāng)Transformer的上下文足夠長,跨越多個(gè)episode時(shí),上下文RL才會(huì)出現(xiàn)。
AD需要一個(gè)足夠長的歷史,以進(jìn)行有效的模型改進(jìn)和identify任務(wù)。

通過實(shí)驗(yàn),研究人員得出以下結(jié)論:
- Transformer可以在上下文中進(jìn)行 RL
- 帶 AD 的上下文 RL 算法比基于梯度的源 RL 算法更有效
- AD提升了次優(yōu)策略
- in-context強(qiáng)化學(xué)習(xí)產(chǎn)生于長上下文的模仿學(xué)習(xí)





































