1 背景

无聊时看群聊发现在半年前2021年7月左右新出了一个方法,叫做decision transformer。一直以来都是对attention机制大家族保持着崇高的敬意,于是找到了这篇文章看了一下。看完之后感觉并不是很惊喜,也可能是期待太高。文章核心做的工作是给出了一种新的深度强化学习训练模式,使得能够更加‘端对端’地去用transformer大家族去拟合和训练。截止2022年1月22日,这篇文章在谷歌学术上有了50次引用(半年多)。
论文原文:Decision Transformer: Reinforcement Learning via Sequence Modeling
代码仓库:https://github.com/kzl/decision-transformer

2 模型结构


文章并没有提出新的模型结构,本质是在为transformers提供输入的embeddings。RL中的一个轨迹由多个st,at,rts_t, a_t, r_tst,at,rt按顺序组成,作者将其中的rtr_trt换成对于未来的奖励期望–汇报RtR_tRt,然后将采样获得的长度为K的轨迹直接顺序拼接起来形成一个输入。然后就可以将其看作正常DL中的xix_ixi来做回归训练了。那LOSS是怎么产生的呢?因为整个模型要预测的是下一步动作,所以LOSS是由当前模型预测的下一步的动作aprea^{pre}apre和真实的下一步动作aaa之间的差得到的。这就很有意思了,相当于标签不仅是标签,还会在某种情况下成为输入。
当然,这里面还是有几个小细节:
1)直接把采样得到的K长的raw feature喂给transformers那怕是有点直接,于是作者在这二者直接加了一层MLP来project一下。如果状态是图像的话,比如Atari里的游戏,那么就通过CNN提取后再拼接回去。
2)虽然作者抛弃了传统的策略改进过程,但是序列决策问题还是序列决策,总是要有个能表示当前步骤的ttt的,因此作者在st,at,rts_t, a_t, r_tst,at,rt的embeddings上都加了ttt的embedding,相当于了positional encoding。
3)作者想用transformers拟合的是动作action,但是作者说其实拟合state和reward也行就是没那么直接。

下面这个伪代码还是很直观的:

3 实验

实验部分,作者在Atari和openai的数据集上做了测试,言简意赅概括就是“还行,还不错”:

作者的几个小实验放在了discussion里,里面有几个有意思的尝试,挑了两个:

一个是说K,也就是采样的长度越长越好。

另一个是说解决稀疏、延迟奖励环境下效果也不错。

4 特点总结

1)总的来说,本文还是给DRL领域带来了有趣的尝试,尤其是对于离线DRL来说,能够通过简单的输入构建就可以利用上Transformer大家族的强大模型,比如GPT\BERT,这对于一些问题还是十分重要的。
2)仔细想想,效果可能主要来自于注意力机制对于样本之间的信息交互作用,使得不同样本之间学习到了一下未来或者过去的知识,从而可以直接端对端学习动作。我们想象一个生动的场景:每隔1小时就会复制一个你,然后放到小黑屋里存着,你还是正常做事情。那么过了10个小时,有了10个你的样本,这些样本都知道到他们产生时刻为止事情的一些进展,你让他们来到一起交流分享一下,那么就会从这些不同时刻的片段你中学到到底什么是对的什么是错的。之所以作者会用回报而不是即时奖励,就是因为回报是能代表当前时刻的一个优劣的情况,以方便不同的样本之间进行交互。

[经典论文分享] Decision Transformer: Reinforcement Learning via Sequence Modeling相关推荐

  1. 【论文阅读】Decision Transformer: Reinforcement Learning via Sequence Modeling

    [论文阅读]Decision Transformer: Reinforcement Learning via Sequence Modeling 1 本文解决了什么问题? 本文将强化学习抽象为一个序列 ...

  2. 【强化学习论文】Decision Transformer:通过序列建模进行强化学习

    Article 文献题目:Decision Transformer: Reinforcement Learning via Sequence Modeling 文献时间:2021 摘要 我们引入了一个 ...

  3. 论文解析:Deep Reinforcement Learning for List-wise Recommendations

    论文解析:Deep Reinforcement Learning for List-wise Recommendations 简介 京东在强化学习推荐系统方面的工作 背景 推荐系统存在的问题: 无法通 ...

  4. 论文记载: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks

    强化学习论文记载 论文名: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks ( 车辆网络交通信号灯 ...

  5. 历史最全、最细、近一年最新 知识图谱相关经典论文分享

    本资源包含了知识图谱相关最全.最细.以及近一年最新经典论文,涉及知识表示.知识建模.知识抽取基础(数据采.实体识别.关系抽取.事件抽取). 知识融合. 知识图谱表示学习.知识存储.基于知识的智能问答. ...

  6. 论文代码解读 Hierarchical Reinforcement Learning for Scarce Medical Resource Allocation

    论文解读 论文笔记 Hierarchical Reinforcement Learning for Scarce Medical Resource Allocation_UQI-LIUWJ的博客-CS ...

  7. 【论文笔记】Adaptive Reinforcement Learning Neural Network Control for Uncertain Nonlinear System

    Adaptive Reinforcement Learning Neural Network Control for Uncertain Nonlinear System With Input Sat ...

  8. 【论文笔记】A Reinforcement Learning Method for Multi-AGV Scheduling in Manufacturing

    目录 Abstract Keywords 1 INTRODUCTION 2 REINFORCEMENT LEARNING 3 PROBLEM FORMULATION A. Problem Statem ...

  9. 【论文笔记】Deep Reinforcement Learning Control of Hand-Eye Coordination with a Software Retina

    目录 Abstract Keywords 1. INTRODUCTION 2. BACKGROUND A. Software Retina B. Deep Reinforcement Learning ...

  10. [论文翻译]DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning

    DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning 0 总结 名称 项目 题目 DeepPath: A Re ...

最新文章

  1. 开发人员最喜爱的十大免费的Visual Studio插件
  2. URAL - 1114-Boxes (分步乘法原理)
  3. VTK:PolyData之InterpolateTerrain
  4. Win11代言人官宣
  5. EasyUI左右布居
  6. c语言猴子选大王指针,C语言描述怎么用循环队列实现猴子选大王
  7. 不用下载软件,mac自带丰富快捷键截图Ctrl+shift+4
  8. python字符串查找的四种方法_Python中的字符串查找操作方法总结
  9. tomcat 在linux下的关闭问题
  10. Luogu P2880 [USACO07JAN]平衡的阵容Balanced Lineup (ST表模板)
  11. scrapy入门小案例--爬取电影天堂最新电影下载地址
  12. linux学习第八周总结
  13. android bmob获取密码,Bmob后端云初体验
  14. 基于GPU预计算的大气散射
  15. 房贷等额本金和等额本息有什么区别,为何很多人傻傻分不清?
  16. 纪中9日游(2019.7.5~7.13)
  17. 怎样度过人生的低潮期?
  18. Python爬取豆瓣+数据可视化
  19. jQuery——简洁的javaScript库
  20. 数字与罗马数字之间转换

热门文章

  1. 分别使用while、do-while和for循环输出1-1000中含有7或者7倍数的整数之和及个数-详解
  2. 统计大写字母出现的次数
  3. feature map理解
  4. thinkphp配置mysql集群_ThinkPHP教程_PHP框架之ThinkPHP(五)【连接数据库与主从数据库设置】...
  5. ecshop判断是手机访问还是web访问
  6. <冈萨雷斯图像处理>局部直方图处理:直方图统计(Histogram Statistics)
  7. 后缀自动机(知识整理+板子总结)
  8. 第26章 SpringMVC中基于注解的Controller(一)
  9. DNS相关知识及其配置
  10. MySQL Sending data 查询数据慢