on-policy的定义:behavior policy和target-policy相同的是on-policy,不同的是off-policy。

behavior policy:采样数据的策略,影响的是采样出来s,a的分布。
target policy:就是被不断迭代修改的策略。

如果是基于深度的算法,那么非常好分辨:目标函数里面一定有s和a的期望,而计算梯度的时候使用了SGD,把一个采样作为了期望的值。但是这里面还有一个隐含的限制就是采样遵循的分布必须是s,a的分布。

因此分辨是否是on-policy的,只需要看目标函数。如果目标函数中s,a的分布和策略相关的,那么一定是on-policy的,如果是策略无关的,那么一定是off-policy的。

比如DQN的目标函数:
这里一个(s,a)对看成一个随机变量,服从均匀分布,因此分布和策略无关(至于为什么s,a是均匀分布,那个是算法自己假设的),因此采样的时候需要用到experience replay,使得不管什么策略采样得到的reward,都变成均匀分布的。

因此用了experice replay之后,随便什么策略采样,虽然采样出来s,a服从那个策略的分布,但是经过experice replay之后还是变成了均匀分布。

比如PG:

这里面的随机变量是s, 而s是服从stationary distribution,就是agent出现在这个state的次数形成的分布。而这个分布和策略pi是相关的,因此是on-policy的(改变策略之后,agent出现的概率也改变了)

比如DPG:


这里面的分布d是一个常数(这是为了计算梯度方便),因此DPG中s,a的采样和策略无关,是off-policy的。

比如PPO:


就是一个期望+一个类似正则项的东西,而非常明显看出来,这个期望是服从策略theta’的,也就是说s,a分布和策略相关,因此是on-policy的。

简单说下PPO:PPO用两个网络表示策略,一个是theta’一个是theta,用theta’网络的策略采样reward,得到的reward给theta的网络梯度下降。看起来怎么用了两个策略? 其实两个策略最后慢慢收敛到一起的,是一个策略。如果是off-policy是完全和策略无关的。

如何分辨on-policy和off-policy相关推荐

  1. (深入理解)强化学习中on policy和off policy的区别

    前言 这两个东西区别我个人感觉还挺玄学的.看到有很多说法,但是却感觉说的不是一个东西. 就比如有人总是喜欢把off policy分为行为策略和目标策略,说什么行为策略用来探索,目标策略用来学习.但是这 ...

  2. java.policy下载,java.policy 修改

    java权限设置文件-java.policy - 空心菜小手 - 博客园 2016年4月22日 策略文件可以储存在无格式的ASCII文件或Policy类的二进制文件或数据库中 2.JVM自带的java ...

  3. 强化学习总结(1-2)——model-base(policy evaluation;policy control)

    文章目录 强化学习总结(1-4) 马尔科夫决策过程 policy evaluation policy control policy iteration value iteration 两种方法的区别 ...

  4. Provider Policy与Consumer Policy在bnd中的区别

    首先需要了解的是bnd的相关知识: 1. API(也就是接口), 2. API Provider(接口的实现) 3. API Consumer( 接口的使用者) OSGi中的一个版本有4个部分:    ...

  5. 强化学习中on policy和off policy的区别-深度理解

    参考图书: Deep Reinforcement Learning Fundamentals, Research and Applications https://link.springer.com/ ...

  6. 【李宏毅2020 ML/DL】P110-111 Policy Gradient Proximal Policy Optimization

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 关于强化学习,我专门花半年时间学习实践过,因此这里笔记只记录李老师的 outline .我的强化学习资源仓库: ...

  7. 【最佳实践】如何通过OSS的Bucket Policy设置访问授权?

    如何让1个外部用户访问某个OSS资源?  某大型企业A使用OSS作为后端资源存储平台,当该企业期望将内部数据分享给下游合作伙伴B,那么基于阿里云OSS平台,有多少种方式呢? 方式1:基于Bucket ...

  8. Policy Injection Application Block

    Microsoft Patterns & Practices团队在2007年发布的Enterprise Library 3.0 February 2007 CTP中,我们惊喜地发现了AOP的踪 ...

  9. pytorch笔记:policy gradient

    本文参考了 策略梯度PG( Policy Gradient) 的pytorch代码实现示例 cart-pole游戏_李莹斌XJTU的博客-CSDN博客_策略梯度pytorch 在其基础上添加了注释和自 ...

  10. 强化学习笔记: MDP - Policy iteration

    1 Policy iteration介绍 Policy iteration式马尔可夫决策过程 MDP里面用来搜索最优策略的算法 Policy iteration 由两个步骤组成:policy eval ...

最新文章

  1. 可能存在无限递归_做事永远无头无尾?人生中的递归现象
  2. JDFlipNumberView
  3. 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
  4. Python 学习笔记 多进程 multiprocessing
  5. python 输入输出转web_云计算开发学习笔记:Python3 输入和输出方式
  6. python中用来占位的语句是_MySQL / Python-gt;语句中占位符的语法错误?
  7. Android统计图控件之圆饼图
  8. 视频聊天软件开发都需要用到哪些三方服务?
  9. 画一幅山水画,有庐山,日出,牛
  10. 【Unity】一些不错的unity插件
  11. Java是未来的第一编程语言吗?
  12. Python最抢手、Java最流行、Go最有前途,7000位程序员揭秘2019软件开发现状
  13. 人工智能入门学习教程
  14. 东方已渐白。一枕清欢更待何人说
  15. 提示Microsoft office word 遇到问题需要关闭。还问是否发送错误报告。
  16. 浅谈未来的人工智能与奇点临近
  17. 软通动力华为java机考题库_软通动力Java考试题库.doc
  18. 人工智能定价算法的发展,使得默示共谋更为普遍
  19. ubuntu vscode 换字体
  20. 多媒体技术(大计基复习资料)

热门文章

  1. ug使用admas求解器方法
  2. Windows下编译OpenCV+opencv_contrib
  3. 企业版mysql安装教程linux,linux上mysql安装详细教程
  4. Python海里换算成公里的程序实现代码
  5. 微信、支付宝上的真人头像快换了吧!暴力催收,不少人已中招
  6. 微软应用商店无法使用问题记录-微软商店提示“我们这边出错了”的解决方法
  7. “国字号”高校,异地布局,即将开学!
  8. 交互原型图设计必备软件,这5款太赞了
  9. 深度补偿模型sparse-to-dense测试
  10. 计算机组成原理-7、流水线