引言:为什么 Transformer 在 RL 上不 work
Transformer 最早发源于自然语言处理领域(NLP),以一个非常惊人的标题 “Attention is All You Need” 催生了无数后续工作,而 Transformer 最近的一些变体已经在 NLP 领域证明了其可以在大多数任务中取代并超越经典模型 LSTM/GRU。 另一方面,其他领域的研究者也在尝试 Transformer 是否可以将其优势和潜力推广出来,最近在计算机视觉领域的一些例子便是很好的印证。但是在强化学习(RL)领域, Transformer 架构仍未被广泛采用,普通的 MLP 网络结构已经可以解决很多常见的决策问题,带有部分可观测性质(POMDP)的决策也依然以 RNN(比如GRU,LSTM)为主流。究竟是什么制约了 Transformer 在强化学习领域的应用呢?是其固有的一些弱点:比如训练调参比较复杂,需要大量的数据和计算资源才能收敛;还是其他方面的原因?本文将尝试反思和探索 Transformer + RL 的最佳方案。
通常情况下,我们需要去使用一些技巧来稳定 Transformer的训练或者提高其性能,例如
-
复杂的学习率调整策略(如线性预热或余弦衰减)
-
复杂的梯度裁剪技巧
-
dropout 的各种变体
-
特定的权重初始化方案
-
特殊的 normalization 网络层和使用位置(pre-norm 和 post-norm)
-
位置编码的各种技巧
-
序列数据处理和特征工程的各种技巧和等等。
-
但除了上述在监督学习中训练 Transformer 遇到的困难外,强化学习还具有监督学习所没有的一些挑战,其中包括
-
长期的时间依赖性
-
环境奖励的稀疏性
-
平衡强化学习的探索和利用
早在2018年,Mishra 等人就进行了一些探索在强化学习中使用 Transformer 的可行性的初步实验,这些环境包括简单的 bandit 任务和表格版马尔科夫决策过程(MDP)。然而,他们的结论是,Transformer 在这两种环境中学习到的策略往往仅能跟随机策略的性能相当,进而得出了 Transformer 这样的架构并不适合去处理 RL 中的时序信息的结论,具体训练中不收敛的可能原因有:
-
Sample efficiency: 在 RL 的一大分类—— actor-critic 算法中,actor和critic是交替训练的。这就要求他们各自的模型需要在较少的样本训练中迅速适应对方的变化。然而,众所周知,Transform