Abstract

引入了一个,将强化学习,抽象为序列建模问题的框架

  • Decision Transformer:将RL问题转化条件序列建模
  • 创新点:
    • 与之间的传统方法,拟合价值函数/计算策略梯度的方法不同
    • DT只是利用causally masked Transformer,来输出最佳动作
    • 通过根据desired return/reward,past states,actions,来调节自回归模型,从而输出实现期望回报的actions

1 Introduction

  • Transformer可以对语义概念的大规模分布进行建模,包括zero-shot generalization && out-of-distribution image generation
  • RL只是通过学习单一的策略,来对特定的狭窄行为分布,进行建模

本方法:不是直接将Transformer作为RL的架构,而是研究trajectory modeling(类似语言建模),是否可以代替传统的RL算法(例如TD主导的范式)

  • 新方法:通过序列建模目标,收集经验,训练Transformer模型

  • 与传统方法的不同点:

  1. 不需要:bootstrapping来传播returns,从而避免“Deadly traid”(会破坏RL稳定性的因素之一)
  2. 不需要:discount future rewards(导致short-sighted)
  3. 不需要:专门的RL框架,Transformer在NLP、CV中都用于supervised learning,扩展性强
  • Decision transformer的优点:
  1. Transformer可以直接通过self-attention,执行信用分配(与Bellman equation相反,BE缓慢地传播rewards,并且容易产生“干扰”信号),这使得transformer在奖励稀疏/分散注意力的条件下,依旧有效工作
  2. Transformer的泛化性更强,可以对更广泛的行为分布进行建模,从而进行更好的泛化迁移
  3. “Upside-down” RL(UDRL)虽然也使用以目标回报为条件的监督损失,但是transformer的出发点是序列建模,而不是supervised learning

Decision Transformer用在model-free offline RL当中

通过从suboptimal data中学习策略,来对agents进行任务驱动——从固定的、有限的经验中,找到最有效的actions。

由于error propagation && value overestimation,这项任务非常具有挑战性

但是,对于序列建模来说,这是一个非常natural的task。通过在states、actions、returns序列上,训练自回归模型,可以将policy sampling简化为自回归生成模型autoregressive generative modeling。

Decision Transformer可以通过手动设置返回的tokens,来指定策略——which “skill” to query,就像generation里面的promt一样。

2 Preliminaries

2.1 Offline RL

Offline RL中,agents只能访问由trajectories from the environment组成的,fixed limited dataset,而不是通过与环境交互来获得数据。这使得agents无法探索环境,收集额外的feedback

2.2 Transformers

Transformer是一种高效的序列建模架构

回顾一下,主要框架为encoder-decoder stacks (stacked self-attention layers with residual connections and layer normalization)。每个self-attention layer输入$n$个对应于unique input tokens的embeddings $\{x_i\}^n_{i = 1}$,然后输出$\{z_i\}^n_{i = 1}$,输入输出的维度保持不变。

其中第$i$个token通过linear transformation,映射到key $k_i$、query $q_i$、value $v_i$,最终第$i$个self-attention layer的输出,是通过$q_i$和$k_i$的nromalized dot product + sofmax,对$v_i$进行加权得出的。

self-attention,通过计算query && key的相似性(maximizing the dot product),隐性地得到state-return关联,来分配“credit”。


Decision transformer是在GPT框架的基础上,使用causal self-attention mask,修改transformer框架,来实现autoregressive generation。

具体方法是,仅仅使用序列中的前一个tokens,来替换$n$个tokens的summation / softmax

3 Method

Decision Transformer:models trajectories autoregressively with minimal modification to the transformer architecture

Trajectory representation

选择轨迹的关键需求

  • 可以使transformer能够学习有意义的模式
  • 能够在测试时有条件地生成actions

对model rewards进行建模并不简单,因为我们希望模型能够基于future desired returns来生成actions,而不是past rewards。

所以,并不是直接对reward进行建模,而是对returns-to-go进行建模$\hat{R}_t = \sum^T_{t^{\prime} = t} r_{t^{\prime}}$

这种方法生成了如下所示的,适合自回归训练和生成的轨迹:

也就是说,用的不是(state, action, reward) tuple,而是(state, action, return-to-go) tuple

Architecture

  1. 将最后$K$个timesteps,输入Decision Transformer(总共$3K$个tokens,每个tuple里面都有3个模态)。为了得到token embeddings,
  2. 为每个模态都学习一个linear layer,将原始输入投影到embedding dimension,紧接着的是一个layer normalization。
  3. 最后tokens通过GPT model处理,通过自回归模型预测future action tokens

在CV中,对于visual inputs,state被输入convolutional encoder,而不是linear layer

每个timestep的embedding,都会被学习,并添加到每个token中

这一点和标准的transformer中使用的positional embedding不同,因为一个timestep对应了3个tokens

Training

从数据集中,采样序列长度为$K$的minibatch。

输入token $s_t$对应的prediction head,被训练用来预测$a_t$

  • 对于discrete actions,使用cross-entropy loss
  • 对于continuous actions,使用mean-squared error

每个timestep的losses都做了average

如果换成预测$s_t$ or return-to-go,并不会对性能提升起到关键性作用个,虽然有这个可能。这是后续的研究点之一

Evaluation

在评估阶段,我们根据所需要的性能指标,来指定target return(例如,指定生成专家行为的maximum possible return)、environmen starting state,来初始化generation。

执行生成的action后,我们将target return减去获得的reward,并获得下一个state。

重复以上过程,不断生成actions,用于下一个return-to-go && state,直到结束