文章题目:A Survey on Transformers in Reinforcement Learning
论文地址:论文地址
来源:arxiv
完成单位:清华大学、北京大学、BAAI、腾讯
Introduction
Transformer结构能够建模长期的依赖关系,并且具有良好的伸缩性(可处理不同长度的序列数据)
最初将Transformer运用到强化学习,是通过将自注意力应用到表征学习,来提取实体间的关系,从而更好地进行策略学习。
受到离线强化学习的影响,最近的研究表明,Transformer结构可以直接作为顺序决策的模型,并可扩展到多项任务和领域(这里作者给出了四篇文章)
作者提出了将Transformer应用在强化学习中作为函数逼近器所面临的一些挑战。
-
强化学习智能体的训练目标通常是针对当前策略的函数,这会给Transformer的训练带来非平稳性。
-
现有的强化学习算法在训练过程中对设计选择非常敏感,包括网络架构和容量。也就是说,选择不同的网络架构和容量大小可能会显著影响算法的性能和训练结果。这意味着在应用强化学习算法时,这些设计选择需要经过仔细的考虑和调整,以确保算法能够达到预期的性能水平。
-
Transformer结构的计算和内存开销非常大。
Problem Scope
强化学习
强化学习的目标是学习一个策略,能够最大化回报。为了解决强化学习问题,需要解决两个方面的问题,一是学习如何表示状态,二是学习如何行动。
接下来介绍了几种近几年提出的强化学习模型
- 离线强化学习(Offline RL):离线RL是指智能体在训练过程中无法与环境进行交互,而只能使用由任意策略收集的静态离线数据集进行训练。离线RL的目标是学习一个策略,使其与数据分布接近,避免产生超出分布的动作。其中一个流行的方法是通过监督学习(Supervised Learning)来进行离线RL。
- 目标条件强化学习(Goal-conditioned RL):目标条件RL将标准RL问题扩展到了目标增强的设置,智能体的目标是学习一个目标条件策略,使其能够达到多个目标。先前的工作提出了各种技术,如回溯重标记(hindsight relabeling)、通用值函数(universal value function)和自我模仿学习(self-imitation learning),以改善目标条件RL的泛化能力和样本效率。
- 基于模型的强化学习(Model-based RL):与直接学习策略和值函数的无模型强化学习相比,基于模型的RL学习环境的辅助动态模型。这种模型可以直接用于规划或生成虚拟轨迹,以增加任何无模型算法的训练数据。学习模型在大型或部分观测环境中是非常困难的,需要首先构建状态的表示。一些最近的方法提出了使用潜在动态(latent dynamics)或值模型(value models)来解决这些挑战,并提高RL的样本效率。
Transformer
Transformer是一种有效的,适用于不同规模数据的能够建模序列数据的神经网络。
Transformer的核心是使用了自注意力机制,能够捕捉到长序列的依赖关系。
Transformer通过结合自注意力,多头注意力,残差连接这些思想,使得其在有监督和无监督任务中都有着比CNN和RNN更好的表现。
强化学习和Transformer的结合
Transformer可以对不同的序列进行编码,比如实体,智能体和历史信息。
Transformer可以扮演一个全能角色,在强化学习中完成多个子任务,并按顺序做出决策。
强化学习中的网络结构
函数逼近器的结构
强化学习中网络结构的改进可以分为两类。
一是设计一种新的结构来降低训练策略或是价值函数的难度。二是在研究能否将神经网络中的一些普适技巧运用到强化学习中去,比如说残差连接,归一化,正则化等。
挑战
将Transformer运用到监督学习近几年取得了很多成功,但将Transformer运用到强化学习并不容易。
从强化学习角度来看,强化学习算法对神经网络结构非常敏感,强化学习中样本的采样和策略优化给训练带来了不稳定性。
另外强化学习算法在训练时对设计选择非常敏感,尤其是当同时使用自举和离线学习时,当价值估计变得无界时,函数逼近器可能就会发散。
从Transformer的角度来看,Transformer架构存在较大的内存占用和高延迟,这阻碍了算法的高效部署和推断。
强化学习中的Transformer
近期的许多尝试只是将Transformer运用于状态表示或是提供过往信息,还是使用传统的强化学习算法,比如时序差分或是策略优化,因此还是受限于传统RL模型面临的挑战。最近,离线RL,使模型能够从大量已有数据中学习最优策略,受离线RL启发,近期的工作将RL看作一个基于已有经验的条件序列建模,这样就避免了自举错误的问题,使得Transformer能够释放其强大的序列建模能力。
接下来将介绍Transformer在强化学习中的应用领域。
将Transformer运用于表示学习
强化学习任务需要处理各式各样的序列,Transformer就可以用作序列编码器。
对local per-timestep sequence的编码
该方法早期的成功体现在使用Transformer从散布在agent观测中的变量实体中处理复杂信息。Zambaldi等人最早提出以多头点积注意力来捕获结构化观测的关系推理。这种实体Transformer将观测编码为:
E
m
b
=
T
r
a
n
s
f
o
r
m
e
r
(
e
1
,
⋯
,
e
i
,
⋯
)
Emb=Transformer(e_1,\cdots,e_i,\cdots)
Emb=Transformer(e1,⋯,ei,⋯)
e
i
e_i
ei代表智能体对实体
i
i
i的观测
与散布在观测中的实体相似,一些工作利用Transformer来处理其他局部时间序列。Tang等人利用注意力机制来处理传感器的序列数据,并构建了一种具有与输入顺序的置换不变性的策略模型。(在强化学习中,一个置换不变的策略意味着无论怎样对输入的顺序进行交换,策略的输出都应该是相同的。这对于处理多个实体或者序列数据的情况非常有用,可以确保策略的输出不会受到输入顺序的影响,从而提高策略的稳定性和有效性。)
考虑到每个时间步采集到的观测信息可能是多模态的,Team等人利用了一种基于Transformer的结构来融合这些跨模态信息,并且用来表征智能体的状态。
此外近期的强化学习算法还将Vision Transformer融入,来处理图像序列数据。Kalantari等人使用ViT来根据图像输入学习Q值,研究表明可以提升RL算法的采样效率。
对时间序列的编码
Transformer也可以处理时间序列数据,
E
m
b
0
:
t
=
T
r
a
n
s
f
o
r
m
e
r
(
o
0
,
⋯
,
o
t
)
Emb_{0:t}=Transformer(o_{0},\cdots,o_t)
Emb0:t=Transformer(o0,⋯,ot)
其中,
o
t
o_t
ot代表智能体在时间步
t
t
t的观测数据,
E
m
b
0
:
t
Emb_{0:t}
Emb0:t代表对历史观测数据的嵌入。
Parisotto提出的Gated Transformer-XL (GTrXL)是第一个将Transformer用于记忆历史信息的有效尝试。在这之前有很多尝试将RL中的LSTM用Transformer来代替,但是发现这在训练时很难优化,训练出来的几乎就是一个随机的策略。所以作者提出了一种使训练得以稳定的方法,在Transformer结构上添加了恒等映射和门控机制。
将Transformer运用于模型学习
不同于基于单步的观测和行动所作出的预测,Transformer能够让模型基于历史信息来预测转移。
z
t
∼
P
enc
(
z
t
∣
o
t
)
,
z
^
t
+
1
,
r
^
t
+
1
,
γ
^
t
+
1
∼
P
trans
(
z
^
t
+
1
,
r
^
t
+
1
,
γ
^
t
+
1
∣
z
≤
t
,
a
≤
t
)
\begin{aligned} z_t & \sim P_{\text {enc }}\left(z_t \mid o_t\right), \\ \hat{z}_{t+1}, \hat{r}_{t+1}, \hat{\gamma}_{t+1} & \sim P_{\text {trans }}\left(\hat{z}_{t+1}, \hat{r}_{t+1}, \hat{\gamma}_{t+1} \mid z_{\leq t}, a_{\leq t}\right) \end{aligned}
ztz^t+1,r^t+1,γ^t+1∼Penc (zt∣ot),∼Ptrans (z^t+1,r^t+1,γ^t+1∣z≤t,a≤t)
其中
z
t
z_t
zt表示观测
o
t
o_t
ot的潜在嵌入,
P
e
n
c
P_{enc}
Penc和
P
t
r
a
n
s
P_{trans}
Ptrans分别表示观测编码器和转移模型。
当任务需要长期记忆时,使用Transformer是很有效的,因为原本的基于模型的方法的预测误差会随着模型推理长度的增加而增加,从而限制了模型的性能。基于Transformer的模型则能够减小这个预测误差。
将Transformer用于序列决策
除了将Transformer作为一种表示结构嵌入到RL算法中,Transformer本身也可以直接作为序列决策模型。因为RL也可以看作是一种传统的序列建模问题——产生一个动作序列,它能够产出高回报。
Transformer是离线学习中的一个里程碑
Transformer不能在RL中广泛应用的一个挑战是RL在训练中的不稳定性会使得Transformer的参数很难被优化。但是最近离线学习的兴起让很多工作关注于在离线数据上训练一个Transformer模型。
Chen等人第一次提出这个想法,Decision Transformer(DT),他们将RL建模成一个自回归的生成问题,来生成轨迹。
τ
=
(
R
^
1
,
s
1
,
a
1
,
R
^
2
,
s
2
,
a
2
,
…
R
^
T
,
s
T
,
a
T
)
\tau=\left(\hat{R}_1, s_1, a_1, \hat{R}_2, s_2, a_2, \ldots \hat{R}_T, s_T, a_T\right)
τ=(R^1,s1,a1,R^2,s2,a2,…R^T,sT,aT)
同时,Janner等人提出了一种相似的Transformer结构,Trajectory Transformer(TT),但使用了束搜索来在执行的时候进行规划。实验表明TT在长序列预测效果很好,并且通过对束搜索进行微调,就可以在不改变模型结构的前提下,完成模仿学习,离线学习,给定目标的学习。
Wang等人还提出了一种Bootstrapped Transformer,它能够自己产生数据,进行数据增强,从而扩展离线数据集的数量和范围,从而提升模型表现。