目录

  • 基本概念:
  • Q-learning VS Sarsa:
  • DQN VS PPO:
  • 区分on-policy 与 off-policy
  • 一些总结:

基本概念:

  • 如果要学习的 agent和环境互动的 agent同一个的话, 这个叫做on-policy(同策略)。
  • 如果要学习的 agent 跟和环境互动的 agent 不是同一个的话, 那这个叫做off-policy(异策略)。

有趣的解释:古时候,优秀的皇帝都秉持着“水能载舟 亦能覆舟”的思想,希望能多了解民间百姓的生活。皇帝可以选择通过微服出巡,亲自下凡了解百姓生活(On-policy),虽然眼见为实,但毕竟皇帝本人分身乏术,掌握情况不全;因此也可以派多个官员去了解情况,而皇帝本人则躺在酒池肉林里收听百官情报即可(Off-policy)。

Q-learning VS Sarsa:

Q-learning vs. Sarsa
二者都是基于TD的强化学习策略,但是前者是off-policy(有目标网络和行为网络),后者是on-policy。

  1. 他们的更新方式(贝尔曼方程)是一样的,区别在target计算方式,Q-learning是选择最优action,Sarsa是实际action。因此更新的时候输入是不一样的(有无下一时刻的action)。
  2. Q-learning计算下一状态的预期收益时使用了max操作,直接选择最优动作,而当前policy并不一定能选择到最优动作,因此这里生成样本的policy和学习时的policy不同,为off-policy算法。
  3. SARAS算法,基于当前的policy直接执行一次动作选择,然后用这个样本更新当前的policy,因此生成样本的policy和学习时的policy相同,算法为on-policy算法。
  4. Q-learning更莽撞,Sarsa更胆小。

DQN VS PPO:

on-policy与off-policy区别:更新值函数时是否只使用当前策略所产生的样本.

  1. DQN有两个网络,policy_nettarget_net。因为有两个agent,一个表示当前policy,一个表示目标policy。replay buffer中存储的是很多历史样本,更新Q函数时的target用的样本是从这些样本中采样而来,因此更新时使用的可能是历史样本,所以是off-policy。(memory不会定时清理,只有达到容量上限时,会除掉开始的数据)
  2. PPO也有两个网络,actorcritic。因为学习的 agent 跟和环境互动的 agent是同一个。并且用于更新的样本是当前策略产生的样本,因此是on-policy。也有memory,不过更新一次就会clear。

区分on-policy 与 off-policy

以下是个人总结,不一定正确,如有错误还请各位大佬指出:

  • 法一:目标策略 target policy 和 行为策略 behavior policy是否是同一个策略
  • 法二:更新值函数时是否只使用当前策略所产生的样本. (新价值所使用的方法是沿着既定的策略(on-policy)抑或是新策略(off-policy))
    个人感觉从 behavior policy 与 target policy 角度解释不够准确(探索环境/交互的策略和学习/更新的策略是否为同一个),因为DQN就不能这样看呀!(target_policy固定不变,policy交互、更新参数,之后再同步参数)。

❗❗发现了一个从代码层面分辨的小技巧 -> 对于用到了memory存储数据的算法,观察memory存的数据是怎么变的:
1️⃣ 对于off-policy策略,memory会一直存数据,如果满了就替换前面的。因此每次更新的时候,可能会用到其他策略采样到的数据。
2️⃣ 对于on-policy策略,更新一次参数后memory会被清空。

但是!!!Q-learning和Sarsa不能这样分辨,二者都是单步更新没有用到memory。
Q-learning是传入(state, action, reward, next_state, done)更新,Sarsa是传入(state, action, reward, next_state, next_action,done)进行更新。

为什么前者是off-policy而后者是on-policy呢?

  • 在Sarsa中更新Q函数时用的action就是贪婪策略得出来的,下一回合也用的是这个action去进行step。两个action一定相同就是(同策略)on-policy。
  • 但是在Q_learning中,更新时的action是Q_max得到的,而下一回合的Action是用贪婪策略(在更新后的Qmax基础上有探索)得到的,这时的action和Action就有可能不一样,就是(异策略)off-policy。

一些总结:

  1. 更新策略
    单步更新:DDPG,DQN,Q-learning,Sarsa,PPO,TD3,Actor-Critic
    玩完一轮再更新:MC,PG
  2. policy结构
    Actor-Critic结构:DDPG(双份),PPO,TD3(双份)
    policy_net+target_net:DQN
    Q_table:MC,Q-learning,Sarsa
    MLP:PG
  3. 用到了ReplayBuffer:DDPG,DQN,Actor-Critic
  4. 同策略or异策略
    off-policy:DDPG,DQN,Q-learning,TD3
    on-policy:PG,PPO(更新一次后memory被clear了),Sarsa,MC,A2C,A3C
    A2C 和 A3C 都是 on-policy(同策略)

强化学习中 on-policy与off-policy 的理解;如何区分on-policy 与 off-policy;RL更新策略、policy结构总结相关推荐

  1. 强化学习中状态价值函数和动作价值函数的理解

    考虑这样的一个选路径问题 从s点出发,有0.6的概率到a点,0.4的概率到b点,sa路径的回报是1,sb路径的回报是2,后面同理,箭头下面的选择这条路的概率,上面的数字是这条路的回报.目的地是g点. ...

  2. 深度强化学习中的好奇心

    本文为 AI 研习社编译的技术博客,原标题 : Curiosity in Deep Reinforcement Learning 作者 | Michael Klear 翻译 | 凝决2018 校对 | ...

  3. 强化学习中的脉冲神经网络

    简 介: 脉冲强化学习是最近兴起的将脉冲神经网络应用到强化学习中的一个研究领域.固然脉冲神经网络的引入会给强化学习带来一些新的东西,但目前的研究仍然仅仅满足于如何让算法收敛,而没有发挥出脉冲神经网络独 ...

  4. 最新综述 | 强化学习中从仿真器到现实环境的迁移

    ©PaperWeekly 原创 · 作者|李文浩 学校|华东师范大学博士生 研究方向|强化学习 最近 survey 了一下 sim2real 领域最近的相关工作,先整理个第一版(共有七篇论文)的总结. ...

  5. 《强化学习与最优控制》学习笔记(三):强化学习中值空间近似和策略空间近似概述

    写在前面的 前一章链接: <强化学习与最优控制>学习笔记(二):强化学习与最优控制的一些术语对比 这章主要是对应书中第二章前面的值空间近似和策略空间近似的简要介绍部分. 在本书的第一章就指 ...

  6. 强化学习中的基础概念和术语——spinning up文档翻译

    Key Concepts and Terminology 以下内容翻译自open ai 的spinning up文档,同时加入了一些自己的理解.原始内容来自spinningup 文章目录 Key Co ...

  7. 初探强化学习(10)强化学习中的一些术语(non-stationray,sample efficiency,planning和Learnin,Reward,off-policy和on-policy )

    1. 关于stationray 参考博客. Stationary or not 根据环境是否稳定.可以将强化学习问题分为stationary.non-stationary. 1.1 stationar ...

  8. 《强化学习周刊》第26期:UCL UC Berkeley发表深度强化学习中的泛化研究综述、JHU推出基于强化学习的人工决策模型...

    No.26 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  9. (深入理解)强化学习中Model-based和Model-free的区别是什么

    文章目录 RL的形式化 RL求解算法 model-based:知己知彼,百战百胜 Model-free:两耳不闻窗外事,一心只读圣贤书 总结 RL的形式化 首先我们定义强化学习中的马尔可夫决策过程MD ...

  10. labview叠加白噪声_强化学习中Ornstein-Uhlenbeck噪声是鸡肋吗?

    欢迎转载,转载请注明出处--知乎专栏"机器学习与控制论". 读过DDPG论文[1]的同学几乎都会有一个问题,论文中使用Ornstein-Uhlenbeck噪声用于探索,比较难理解, ...

最新文章

  1. XenServer XAPI简介
  2. word2003快速排版工具栏_技巧 | 快速又好看,PPT制作不再难
  3. Android 系统(202)---Android:这是一份全面 amp; 详细的Webview使用攻略
  4. 应用密码学的笑话之MD5+Salt不安全
  5. MyBatis快速将MySQL转换成Oracle语句
  6. 关于JQuery的异步注册
  7. mysql安装无法创建mysqld_MySQL 5.7安装错误`mysqld:无法创建/写入文件’/ var / lib / mysql / is_writable’...
  8. windows2003手工安装配置php5详细指南
  9. SVG 坐标和 viewBox
  10. ENVI5.3下载与安装
  11. Chrome浏览器下载zoom录像
  12. S3C2410 通用异步收发UART 串口通信
  13. 最近公共祖(LCA)模板_祖先深度_区域祖先_(欧拉序列+标准RMQ+四毛子)O(n)-O(1)
  14. mysql运维工程师_运维工程师需要了解的MySQL运维经验
  15. 微信小程序 --- 不在以下合法域名列表中请参考文档
  16. 某宝 小黑屋 x-sg?xt x-si?n x-m?ni-w?a 分析学习
  17. 力扣网-罗马数字转整数
  18. s7填表指令att_这些PLC指令你会用吗?plc编程入门
  19. 三类机构舆情-2019年3月5日
  20. gerrit 评审 报错“Submit including parents”

热门文章

  1. [BZOJ3162]独钓寒江雪
  2. 计算机基础知识——二进制
  3. 【git】git强制覆盖单个文件
  4. built a JNCIS LAB系列:Chapter 7 MPLS
  5. 传统数据处理技术如何与大数据处理技术有机结合
  6. 联想r480安全模式_thinkpad怎么进入安全模式
  7. Istio 南北向流量管理
  8. poi 移除图片_用poi替换ppt中的文字和图片
  9. Android--手机一键Root原理分析
  10. 费马大定理四分之一解决