目前,Transformers 已经成为序列建模的强大神经网络架构。预训练 transformer 的一个显著特性是它们有能力通过提示 conditioning 或上下文学习来适应下游任务。经过大型离线数据集上的预训练之后,大规模 transformers 已被证明可以高效地泛化到文本补全、语言理解和图像生成方面的下游任务。
最近的工作表明,transformers 还可以通过将离线强化学习(RL)视作顺序预测问题,进而从离线数据中学习策略。Chen et al. (2021)的工作表明,transformers 可以通过模仿学习从离线 RL 数据中学习单任务策略,随后的工作表明 transformers 可以在同领域和跨领域设置中提取多任务策略。这些工作都展示了提取通用多任务策略的范式,即首先收集大规模和多样化的环境交互数据集,然后通过顺序建模从数据中提取策略。这类通过模仿学习从离线 RL 数据中学习策略的方法被称为离线策略蒸馏(Offline Policy Distillation)或策略蒸馏(Policy Distillation, PD)。
PD 具有简单性和可扩展性,但它的一大缺点是生成的策略不会在与环境的额外交互中逐步改进。举例而言,谷歌的通才智能体 Multi-Game Decision Transformers 学习了一个可以玩很多 Atari 游戏的返回条件式(return-conditioned)策略,而 DeepMind 的通才智能体 Gato 通过上下文任务推理来学习一个解决多样化环境中任务的策略。遗憾的是,这两个智能体都不能通过试错来提升上下文中的策略。因此 PD 方法学习的是策略而不是强化学习算法。
在近日 DeepMind 的一篇论文中,研究者假设 PD 没能通过试错得到改进的原因是它训练用的数据无法显示学习进度。当前方法要么从不含学习的数据中学习策略(例如通过蒸馏固定专家策略),要么从包含学习的数据中学习策略(例如 RL 智能体的重放缓冲区),但后者的上下文大小(太小)无法捕获策略改进。
论文地址:https://arxiv.org/pdf/2210.14215.pdf
研究者的主要观察结果是,RL 算法训练中学习的顺序性在原则上可以将强化学习本身建模为一个因果序列预测问题。具体地,如果一个 transformer 的上下文足够长,包含了由学习更新带来的策略改进,那么它不仅应该可以表示一个固定策略,而且能够通过关注之前 episodes 的状态、动作和奖励来表示一个策略改进算子。这样开启了一种可能性,即任何 RL 算法都可以通过模仿学习蒸馏成足够强大的序列模型如 transformer,并将这些模型转换为上下文 RL 算法。
研究者提出了算法蒸馏(Algorithm Distillation, AD),这是一种通过优化 RL 算法学习历史中因果序列预测损失来学习上下文策略改进算子的方法。如下图 1 所示,AD 由两部分组成。首先通过保存 RL 算法在大量单独任务上的训练历史来生成大型多任务数据集,然后 transformer 模型通过将前面的学习历史用作其上下文来对动作进行因果建模。由于策略在源 RL 算法的训练过程中持续改进,因此 AD 不得不学习改进算子以便准确地建模训练历史中任何给定点的动作。至关重要的一点是,transformer 上下文必须足够大(即 across-episodic)才能捕获训练数据的改进。
研究者表示,通过使用足够大上下文的因果 transformer 来模仿基于梯度的 RL 算法,AD 完全可以在上下文中强化新任务学习。研究者在很多需要探索的部分可观察环境中评估了 AD,包括来自 DMLab 的基于像素的 Watermaze,结果表明 AD 能够进行上下文探索、时序信度分配和泛化。此外,AD 学习到的算法比生成 transformer 训练源数据的算法更加高效。
最後值得關注的是,AD 是第一個透過對具有模仿損失的離線資料進行順序建模以展示上下文強化學習的方法。
#在生命週期內,強化學習智能體需要在執行複雜的動作方面表現良好。對智能體而言,不管它所處的環境、內部結構和執行情況如何,都可以被視為是在過去經驗的基礎上完成的。可用如下形式表示:
研究者同時將「長期歷史條件, long history-conditioned」策略看作演算法,得出:
其中∆(A)表示動作空間A 上的機率分佈空間。公式 (3) 表明,該演算法可以在環境中展開,以產生觀察、獎勵和動作序列。為了簡單起見,研究將演算法以P 表示,將環境(即任務)以的學習歷史都是由演算法表示,這樣對於任何給定任務#產生的。可以得到
研究者用大寫拉丁字母表示隨機變量,例如O、A、R 及其對應的小寫形式o,α,r 。透過將演算法視為長期歷史條件策略,他們假設任何生成學習歷史的演算法都可以透過對動作執行行為克隆來轉換成神經網路。接下來,該研究提出了一種方法,該方法提供了智能體在生命週期內學習具有行為克隆的序列模型,以將長期歷史映射到動作分佈。
在實務中,研究將演算法蒸餾過程 ( algorithm distillation ,AD)實作為一個兩步驟過程。首先,透過在許多不同的任務上執行單獨的基於梯度的 RL 演算法來收集學習歷史資料集。接下來,訓練具有多情節上下文的序列模型來預測歷史中的動作。具體演算法如下所示:
實驗要求所使用的環境都支援許多任務,而這些任務不能從觀察中輕易的進行推斷,並且情節(episodes)足夠短,可以有效地訓練跨情節因果transformers。這項工作的主要目的是調查相對於先前工作,AD 強化在多大程度上是在上下文中學習的。實驗將 AD、 ED( Expert Distillation) 、RL^2 等進行了比較。
評估 AD、ED、 RL^2 結果如圖 3 所示。研究發現 AD 和 RL^2 都可以在上下文中學習從訓練分佈中採樣的任務,而 ED 則不能,儘管 ED 在分佈內評估時確實比隨機猜測做得更好。
#圍繞下圖 4,研究者回答了一系列問題。 AD 是否表現出情境強化學習?結果顯示 AD 情境強化學習在所有環境中都能學習,相較之下,ED 在大多數情況下都無法在情境中探索和學習。
AD 能從基於像素的觀測中學習嗎?結果顯示 AD 透過上下文 RL 最大化了情境回歸,而 ED 則無法學習。
AD 是否可以學習比產生來源資料的演算法更有效的 RL 演算法?結果顯示 AD 的資料效率明顯高於來源演算法(A3C 和 DQN)。
是否可以透過示範來加速 AD?為了回答這個問題,該研究保留測試集資料中沿來源演算法歷史的不同點採樣策略,然後,使用此策略資料預先填充AD 和ED 的上下文,並在Dark Room 的環境中運行這兩種方法,將結果繪製在圖5 中。雖然 ED 保持了輸入策略的效能,AD 在上下文中改進每個策略,直到它接近最優。重要的是,輸入策略越優化,AD 改進它的速度就越快,直到達到最優。
更多細節,請參考原文。
以上是DeepMind新研究:transformer可以自我改進,無需人為幹預的詳細內容。更多資訊請關注PHP中文網其他相關文章!