Offline RL
Transformer 作为近年非常火的模型,有很多人想要把它融合到 Offline RL 领域。过去的一些方法把将 Transformer 融入到传统 RL 的网络结构中, 本文则是想要验证是否能单纯使用 Transformer 模型来解决 Offline RL 问题,也就是说要完全丢掉基于 Bellman 等式的 TD Learning 那一套,只把 Offline RL 作为序列预测问题来解 。这有若干好处
标准 GPT 只是一个模仿数据集序列进行生成的模型,如果直接把它用到离线数据集上,其实就是做了个 “轨迹级” 的 BC 模仿学习 ,而我们都知道在 Offline 数据集上直接这样做会由于次优轨迹的存在而导致性能不佳。作者借鉴了 UDRL 论文的处理方法, 将预期得到的一些目标也作为附加输入来做监督训练,这样训练完后就能泛化到 “面对近期的历史轨迹,为了实现目标,应该采取什么 action” ,从而允许我们通过给定目标信息来控制策略质量。UDRL 中目标信息设计为 “在一定 horizon 内收到一定 return”,如下图所示 此想法也很像 Hindsight Experience Replay(HER)论文的 Hindsight 思想,这种根据 Offline 轨迹重实际实现的目标进行重新标注的思路其实和 “自监督学习” 非常类似,可以无缝衔接到 GPT 这种自监督预训练模型上。最近的文章 论文理解【Offline RL】——【RvS】What is Essential for Offline RL via Supervised Learning? 把这类方法定义为 “RvS” 类方法,并进行了一些分析
标准设定下,offline 数据集中的一条轨迹形如 t = t ′ = t ∑ T r t ′
下图给出了一个 return-to-go 的示意 这个 MDP 中每走一步会得到 -1 的 reward,agent 从随机位置出发按随机策略行动直到到达 goal 结束轨迹。每个圈边上的数字即是该轨迹中对应状态下的 return-to-go。在训练完成后的 generation 阶段,给定起点位置后,只须 在每一步决策时以训练数据中此位置收到的最大 return-to-go 作为条件选择动作,就能实现 offline 数据集中次优轨迹的拼接 。这里只是一个示意,作者提出的方法中对 return-to-go 条件的选取细节有所不同
本文的设计的 DT 模型结构如下 从下往上看
nn.Embedding
vocab_size
nn.Linear
nn.Conv2d
上图中的红色虚线显示了推断阶段的 autoregress 过程,而训练阶段使用的是 teacher-forcing 。具体而言
下面给出伪代码
IQL 论文指出本文 实验中使用了不一致的环境版本导致 DT 性能被高估,实际上不如 CQL,IQL 重新实验的结果如下