大规模生成模型给自然语言处理乃至计算机视觉带来的巨大突破。最近,这种趋势也影响了强化学习,尤其是离线强化学习(offlineRL),例如DecisionTransformer(DT)[1]、TrajectoryTransformer(TT)[2]、Gato[3]、Diffuser[4]方法,将强化学习的数据(包括state、action、reward和return-to-go)看成一串非结构化的序列数据,将这些序列数据建模为学习的核心任务。这些模型可以通过监督或自监督学习方法进行训练,避免了传统强化学习中相对不稳定的梯度信号。即使使用复杂的策略改进和价值估计方法,它们都在离线强化学习中表现出非常好的性能。本文将简单谈谈这些基于序列建模的强化学习方法。在下一篇文章中,作者将介绍我们新提出的轨迹自动编码规划器(TrajectoryAutoencodingPlanner,TAP),这是一种在潜在动作空间中进行高效规划的序列建模和方法。Transformer和强化学习Transformer架构[5]于2017年提出,慢慢引发了自然语言处理领域的一场革命。随后的BERT和GPT-3逐渐将自监督+Transformer的结合推向了新的高度。在自然语言处理领域不断涌现出小样本学习等特性的同时,它也开始扩展到计算机视觉等领域[6][7]。然而,对于强化学习,这种进展直到2021年才显得特别明显。2018年,多头注意力机制也被引入强化学习[8]。这类工作基本上应用于半符号(sub-symbolic)领域,试图解决强化学习的泛化问题。此后,此类尝试一直处于不温不火的状态。根据笔者的个人经验,实际上Transformer在强化学习方面并没有表现出稳定压倒性的优势,而且训练难度也很大。在我们使用RelationalGCN做强化学习的20年工作中[9],我们其实在幕后尝试过Transformer,但它基本上比传统结构(类似于CNN)差很多,而且很难稳定地训练到得到一个可用的。政策。为什么Transformer与传统在线强化学习(onlineRL)的兼容性比较差仍然是一个悬而未决的问题。例如Melo[10]解释说是因为传统Transformer的参数初始化不适合强化学习。我不会在这里讨论它。2021年年中,DecisionTransformer(DT)和TrajectoryTransformer(TT)的发表掀起了新一波Transformer在强化学习领域的应用。这两部作品的思路其实很直白:如果Transformer和在线强化学习算法配合不好,为什么不干脆把强化学习当成自监督学习任务呢?趁着离线强化学习的概念也很火热,这两个作品都将自己的主要目标任务锁定为建模离线数据集(offlinedataset),然后利用这个序列模型进行控制和决策。对于强化学习,所谓序列就是状态(state)s、动作(action)、奖励(reward)r和价值(value)v组成的轨迹(trajectory)。其中,价值一般用return代替-to-go,可以看作是蒙特卡洛估计。离线数据集由这些轨迹组成。轨迹的产生与环境的动态和行为策略有关。所谓序列建模,就是对产生这个序列的概率分布(distribution),或者严格的说,是一些条件概率进行建模。DecisionTransformerDT的方法是建模一个从过去的数据和值到动作的映射(return-conditionedpolicy),也就是对一个动作的条件概率的数学期望进行建模。这个思路与UpsideDownRL[11]非常相似,但背后的直接动机很可能是模仿GPT2/3根据提示完成下游任务的做法。这种方法的一个问题是没有系统的方法来决定什么是最佳目标值。但是DT的作者发现,即使目标值设置为整个数据集中收益最高的,DT的最终表现也可以非常好。DecisionTransformer,图1对于具有强化学习背景的人来说,像DT这样的方法可以获得强大的性能是非常违反直觉的。如果说DQN、PolicyGradient等方法只能将神经网络看成是一个可以进行插值和泛化的拟合函数,那么强化学习中的策略改进和估值仍然是构建策略的核心。DT可以说是以神经网络为核心,它如何将一个可能不切实际的高目标值与一个合适的动作联系起来的整个过程完全是一个黑盒子。DT的成功从强化学习的角度可以说有些说不通,但我觉得这也正是这种实证研究的魅力所在。作者认为,神经网络,或者Transformer的泛化能力,可能会超出整个强化学习界此前的预期。DT在所有的序列建模方法中也非常简单,几乎所有强化学习的核心问题都在Transformer内部解决。这种简单性是它目前最受欢迎的原因之一。但是它的黑箱性质也让我们在算法设计层面失去了很多把握,传统强化学习的一些成果很难融入其中。这些结果的有效性在一些超大规模实验(如AlphaGo、AlphaStar、VPT)中被反复证实。TrajectoryTransformerTT方法更类似于传统的基于模型的强化学习(model-basedRL)规划方法。在建模方面,它将整个序列中的元素离散化,然后使用类似GPT-2的离散自回归方法对整个离线数据集进行建模。这使它能够模拟任何给定序列的延续,除了返回到去。因为它对后续序列的分布进行建模,所以TT实际上成为了一个序列生成模型。通过在生成的序列中寻找一个价值估计更好的序列,TT可以输出一个“最优方案”。至于寻找最优序列的方法,TT使用了一种自然语言中常用的方法:beamsearch的一种变体。基本上就是一直保留序列中已经展开的最优部分,然后根据它们找到下一步的最优序列集。从强化学习的角度来看,TT并没有DT那么离经叛道。它的有趣之处在于(和DT一样)它完全抛弃了强化学习中原有的马尔可夫决策过程(MarkovDecisionProcess)的因果图结构。以往基于模型的方法如PETS、worldmodel、dramerv2等,都会遵循马尔可夫过程(或隐马尔可夫)中policyfunction、transitionfunction、rewardfunction等的定义,即状态分布是上一步的状态,而动作、奖励、价值都是由当前状态决定的。整个强化学习界普遍认为这样可以提高样本效率,但这样的图结构实际上可能是一种约束。从自然语言领域的RNN到Transformer,从CNN到计算机视觉领域的Transformer,其实都反映了随着数据的增加,让网络通过本身。DreamerV2,图3由于TT基本上把所有的序列预测任务都交给了Transformer,Transformer可以更灵活的从数据中学习到更好的图结构。如下图所示,TT建模的行为策略根据不同的任务和数据集表现出不同的图结构。图左侧对应传统的马尔可夫策略,图右侧对应移动平均策略。TrajectoryTransformer,Figure4Transformer强大的序列建模能力带来更高的长序列建模精度。下图可以看出,TT超过100步的预测仍然保持着高精度,而单步预测遵循马尔可夫性的模型由于堆叠预测误差的问题而迅速崩溃。虽然TrajectoryTransformer,Figure2TT在具体的建模和预测方面有别于传统方法,但它提供的预测能力还是为未来融入强化学习的其他成果留下了很好的把握。但是TT在预测速度上有一个重要的问题:因为需要对整个序列的分布进行建模,所以将序列中的所有元素按照维度进行离散化,也就是说一个100维的状态需要在序列中占据100个.位置,这使得被建模的序列的实际长度很容易变得很长。而对于Transformer,其关于序列长度N的计算复杂度为,这使得从TT中采样未来预测的成本非常高。即使是100维以下的任务TT也需要几秒甚至几十秒才能做出一步决定。这样的模型很难投入到实时机器人控制或在线学习中。GatoGato是Deepmind发布的“通才模型”,实际上是一种跨模态的多任务生成模型。同一个变形金刚,从自然语言问答、图片描述、玩电子游戏到机器人控制,它无所不能。Gato对连续控制建模的方法与TT基本相似。只是Gato并没有做严格意义上的强化学习,它只是对专家策略产生的序列数据进行建模,然后在行动时只需要对下一步的动作进行采样,这实际上是对专家策略的模仿。GatoBlog其他序列生成模型:扩散模型最近,图像生成领域的扩散模型(DiffusionModel)可以说是非常火了。DALLE-2和StableDiffusion都是基于它来生成图像的。Diffuser也将这种方法应用于离线强化学习。其思路与TT类似。它首先对序列的条件分布进行建模,然后根据当前状态对未来可能的序列进行采样。Diffuser比TT有更多的灵活性:它可以让模型在设置起点和终点时填充中间路径,从而实现目标驱动(而不是最大化奖励函数)的控制。它还可以混合多个目标和先验条件来实现目标,帮助模型完成任务。Diffuser图1Diffuser相对于传统的强化学习模型也具有颠覆性。它生成的计划并不是在时间轴上逐渐展开,而是在整个序列意义上从模糊逐渐变得更加精确。对扩散模型本身的进一步研究也是计算机视觉领域的一个热门话题,很可能在未来几年内在模型本身上会有突破。但是,扩散模型本身目前与其他生成模型相比有一个特殊的缺陷,即其生成速度比其他生成模型慢。许多相关领域的专家认为,这可能会在未来几年得到缓解。然而,几秒的生成时间对于强化学习需要实时控制的场景来说,目前是无法接受的。Diffuser提出了一种可以提高生成速度的方法:从上一步计划开始加入少量噪声重新生成下一步计划,但这样做会在一定程度上降低模型的性能。
