在當下的序列建模任務上,Transformer可謂是最強大的神經網路架構,並且經過預先訓練的Transformer模型可以將prompt作為條件或上下文學習(in-context learning)適應不同的下游任務。
大型預訓練Transformer模型的泛化能力已經在多個領域得到驗證,如文字補全、語言理解、圖像生成等等。
從去年開始,已經有相關工作證明,透過將離線強化學習(offline RL)視為一個序列預測問題,那麼模型就可以從離線資料中學習策略。
但目前的方法要麼是從不包含學習的資料中學習策略(如透過蒸餾固定的專家策略),要麼是從包含學習的資料(如智能體的重放緩衝區)中學習,但由於其context太小,以至於無法捕捉到策略提升。
DeepMind的研究人員透過觀察發現,原則上強化學習演算法訓練中學習的順序性(sequential nature)可以將強化學習過程本身建模為一個「因果序列預測問題」。
具體來說,如果一個Transformer的上下文足夠長到可以包含由於學習更新而產生的策略改進,那它應該不僅能夠表示一個固定的策略,而且能夠通過關注之前episodes的狀態、行動和獎勵表示為一個策略提升算子(policy improvement operator)。
這也提供了一種技術上的可行性,任何RL演算法都可以透過模仿學習蒸餾成一個足夠強大的序列模型,並將其轉化為一個in- context RL演算法。
基於此,DeepMind提出了演算法蒸餾(Algorithm Distillation, AD) ,透過建立因果序列模型將強化學習演算法提取到神經網路中。
論文連結:https://arxiv.org/pdf/2210.14215.pdf
#演算法蒸餾將學習強化學習視為一個跨episode的序列預測問題,透過源RL演算法產生一個學習歷史資料集,然後根據學習歷史作為上下文,透過自回歸預測行為來訓練因果Transformer 。
與蒸餾後學習(post-learning)或專家序列的序列策略預測結構不同,AD能夠在不更新其網路參數的情況下完全在上下文中改進其策略。
實驗結果證明了AD可以在稀疏獎勵、組合任務結構和基於像素觀察的各種環境中進行強化學習,並且AD學習的資料效率(data- efficient)比產生來源資料的RL演算法更高。
AD也是第一個透過對具有模仿損失(imitation loss)的離線資料進行序列建模來展示in-context強化學習的方法。
演算法蒸餾2021年,有研究人員首先發現Transformer可以透過模仿學習從離線RL資料中學習單一任務策略,隨後又被擴展為可以在同域和跨域設定中提取多任務策略。
這些工作為提取通用的多任務策略提出了一個很有前景的範式:首先收集大量不同的環境互動資料集,然後透過序列建模從資料中提取一個策略。
把透過模仿學習從離線RL資料學習策略的方法也稱之為離線策略蒸餾,或簡稱為策略蒸餾(Policy Distillation, PD)。
儘管PD的想法非常簡單,而且十分易於擴展,但PD有一個重大的缺陷:產生的策略並沒有從與環境的額外互動中得到提升。
例如,MultiGame Decision Transformer(MGDT)學習了一個可以玩大量Atari遊戲的返回條件策略,而Gato透過上下文推斷任務,學習了一個在不同環境中解決任務的策略,但這兩種方法都無法透過試誤來改善其策略。
MGDT透過微調模型的權重使變壓器適應新的任務,而Gato則需要專家的示範提示才能適應新的任務。
簡而言之,Policy Distillation方法學習政策而非強化學習演算法。
研究人員假設Policy Distillation不能透過試誤來改進的原因是,它在沒有顯示學習進展的資料上進行訓練。
演算法蒸餾(AD)透過優化一個RL演算法的學習歷史上的因果序列預測損失來學習內涵式策略改進算子的方法。
AD包含兩個組成部分:
1、透過儲存一個RL演算法在許多單獨任務上的訓練歷史,產生一個大型的多任務資料集;
2、將Transformer使用前面的學習歷史作為其背景對行動進行因果構建模。
由於策略在來源RL演算法的整個訓練過程中不斷改進,AD必須得學習如何改進算子,才能準確模擬訓練歷史中任何給定點的行動。
最重要的是,Transformer的上下文大小必須足夠大(即跨週期),以捕捉訓練資料的改進。
在實驗部分,為了探討AD在in-context RL能力的優勢,研究人員把重點放在預訓練後不能通過zero -shot 泛化解決的環境上,即要求每個環境支援多種任務,且模型無法輕易地從觀察中推斷出任務的解決方案。同時episodes需要夠短以便可以訓練跨episode的因果Transformer。
在四個環境Adversarial Bandit、Dark Room、Dark Key-to-Door、DMLab Watermaze的實驗結果中可以看到,透過模仿基於梯度的RL演算法,使用具有足夠大上下文的因果Transformer,AD可以完全在上下文中強化學習新任務。
AD能夠進行in-context中的探索、時間上的信用分配和泛化,AD學習的演算法比產生Transformer訓練的來源數據的演算法更有數據效率。
為了方便論文理解,論文的一作Michael Laskin在推特上發表了一份ppt講解。
演算法蒸餾的實驗表明,Transformer可以透過試誤自主改善模型,並且不用更新權重,無需提示、也無需微調。單一Transformer可以收集自己的數據,並在新任務上將獎勵最大化。
儘管目前已經有很多成功的模型展示了Transformer如何在上下文中學習,但Transformer還沒有被證明可以在上下文中強化學習。
為了適應新的任務,開發者要麼需要手動指定一個提示,要麼需要調整模型。
如果Transformer可以適應強化學習,做到開箱即用豈不美哉?
但Decision Transformers或Gato只能從離線資料學習策略,無法透過重複實驗自動改進。
使用演算法蒸餾(AD)的預訓練方法產生的Transformer可以在上下文中強化學習。
首先訓練一個強化學習演算法的多個副本來解決不同的任務和保存學習歷史。
一旦收集學習歷史的資料集,就可以訓練一個Transformer來預測先前的學習歷史的行動。
由於策略在歷史上有所改進,因此準確地預測行動將會迫使Transformer對策略提升進行建模。
整個過程就是這麼簡單,Transformer只是透過模仿動作來訓練,沒有像常見的強化學習模型所用的Q值,沒有長的操作-動作-獎勵序列,也沒有像DTs 那樣的回傳條件。
在上下文中,強化學習沒有額外開銷,然後透過觀察 AD 是否能最大化新任務的獎勵來評估模型。
Transformer探索、利用、並最大化返回在上下文時,它的權重是凍結的!
另一方面,專家蒸餾(最類似Gato)無法探索,也無法最大化回報。
AD 可以提取任何RL 演算法,研究人員嘗試了UCB、DQNA2C,一個有趣的發現是,在上下文RL 演算法學習中,AD更有數據效率。
使用者也可以輸入prompt和次優的demo,模型會自動進行策略提升,直到獲得最佳解!
而專家蒸餾ED只能維持次優的demo表現。
只有當Transformer的上下文夠長,跨越多個episode時,上下文RL才會出現。
AD需要一個足夠長的歷史,以進行有效的模型改進和identify任務。
透過實驗,研究人員得出以下結論:
以上是再掀強化學習變革! DeepMind提出「演算法蒸餾」:可探索的預訓練強化學習Transformer的詳細內容。更多資訊請關注PHP中文網其他相關文章!