如何分辨on-policy和off-policy
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相关推荐
- (深入理解)强化学习中on policy和off policy的区别
前言 这两个东西区别我个人感觉还挺玄学的.看到有很多说法,但是却感觉说的不是一个东西. 就比如有人总是喜欢把off policy分为行为策略和目标策略,说什么行为策略用来探索,目标策略用来学习.但是这 ...
- java.policy下载,java.policy 修改
java权限设置文件-java.policy - 空心菜小手 - 博客园 2016年4月22日 策略文件可以储存在无格式的ASCII文件或Policy类的二进制文件或数据库中 2.JVM自带的java ...
- 强化学习总结(1-2)——model-base(policy evaluation;policy control)
文章目录 强化学习总结(1-4) 马尔科夫决策过程 policy evaluation policy control policy iteration value iteration 两种方法的区别 ...
- Provider Policy与Consumer Policy在bnd中的区别
首先需要了解的是bnd的相关知识: 1. API(也就是接口), 2. API Provider(接口的实现) 3. API Consumer( 接口的使用者) OSGi中的一个版本有4个部分: ...
- 强化学习中on policy和off policy的区别-深度理解
参考图书: Deep Reinforcement Learning Fundamentals, Research and Applications https://link.springer.com/ ...
- 【李宏毅2020 ML/DL】P110-111 Policy Gradient Proximal Policy Optimization
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 关于强化学习,我专门花半年时间学习实践过,因此这里笔记只记录李老师的 outline .我的强化学习资源仓库: ...
- 【最佳实践】如何通过OSS的Bucket Policy设置访问授权?
如何让1个外部用户访问某个OSS资源? 某大型企业A使用OSS作为后端资源存储平台,当该企业期望将内部数据分享给下游合作伙伴B,那么基于阿里云OSS平台,有多少种方式呢? 方式1:基于Bucket ...
- Policy Injection Application Block
Microsoft Patterns & Practices团队在2007年发布的Enterprise Library 3.0 February 2007 CTP中,我们惊喜地发现了AOP的踪 ...
- pytorch笔记:policy gradient
本文参考了 策略梯度PG( Policy Gradient) 的pytorch代码实现示例 cart-pole游戏_李莹斌XJTU的博客-CSDN博客_策略梯度pytorch 在其基础上添加了注释和自 ...
- 强化学习笔记: MDP - Policy iteration
1 Policy iteration介绍 Policy iteration式马尔可夫决策过程 MDP里面用来搜索最优策略的算法 Policy iteration 由两个步骤组成:policy eval ...
最新文章
- 可能存在无限递归_做事永远无头无尾?人生中的递归现象
- JDFlipNumberView
- 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
- Python 学习笔记 多进程 multiprocessing
- python 输入输出转web_云计算开发学习笔记:Python3 输入和输出方式
- python中用来占位的语句是_MySQL / Python-gt;语句中占位符的语法错误?
- Android统计图控件之圆饼图
- 视频聊天软件开发都需要用到哪些三方服务?
- 画一幅山水画,有庐山,日出,牛
- 【Unity】一些不错的unity插件
- Java是未来的第一编程语言吗?
- Python最抢手、Java最流行、Go最有前途,7000位程序员揭秘2019软件开发现状
- 人工智能入门学习教程
- 东方已渐白。一枕清欢更待何人说
- 提示Microsoft office word 遇到问题需要关闭。还问是否发送错误报告。
- 浅谈未来的人工智能与奇点临近
- 软通动力华为java机考题库_软通动力Java考试题库.doc
- 人工智能定价算法的发展,使得默示共谋更为普遍
- ubuntu vscode 换字体
- 多媒体技术(大计基复习资料)
热门文章
- ug使用admas求解器方法
- Windows下编译OpenCV+opencv_contrib
- 企业版mysql安装教程linux,linux上mysql安装详细教程
- Python海里换算成公里的程序实现代码
- 微信、支付宝上的真人头像快换了吧!暴力催收,不少人已中招
- 微软应用商店无法使用问题记录-微软商店提示“我们这边出错了”的解决方法
- “国字号”高校,异地布局,即将开学!
- 交互原型图设计必备软件,这5款太赞了
- 深度补偿模型sparse-to-dense测试
- 计算机组成原理-7、流水线