策略梯度算法原理_策略梯度定理原理_HCH996的博客-程序员宅基地

技术标签: 强化学习  

Policy Gradient策略

根据在某个状态采取某种行为来决定能得到多少的奖励值。

调整内部Actor的参数使得总奖励值R越大越好。但R是一个随机变量,转换为最大化期望值。

策略梯度算法推导

需要让Agent不断跟环境互动,搜集多条轨迹数据 

采样到的数据只有一次, 具体的实现过程

需要在后面乘以整场游戏的Reward。

实际操作技巧之添加Baseline

 因为奖励可能总是正的。对于动作a, b,c而言,权重大的动作表明被其被采取的概率提升越大,在都提升的体情况下,提升小的与几率下降。同样的,如果,某个动作没有被采样到,就不会被提升,但并不意味着这是一个不好的action,可通过调整奖励值的正负性规避此类问题。

 实际操作技巧之分配合适的权重(优势函数)

给每个action合适的credit, 之前的算法中,只要是在同一个episode中,所有的状态动作对都会乘以相同的权重,显然是不公平的,因为在同一个episide之中,有的action会更具优势,一个episode的整体奖励值为正数,不代表其中所有的状态动作都能带来正奖励。类似地,整场回合效果比较差,不代表回合中的每个行为都是错的。因此,该给每个行为各自赋予合理的weight以真正反映其对应的好坏程度。如何给出合理的weight呢?

一种方法是: 不把整个回合得到的reward加起来。只计算从某个action执行以后所得到的reward, 因为已经发生过的事情和它没有关系了, 不管之前得到了多少的reward, 都不能算当前action的功劳, 当前action对后续动作的影响与时间存在一定的关系,时间越久,影响力越小, 将credit设置为从当前时间步到回合结束时的折扣累加和, 折扣因子设置为??

方法二,额外利用一个网络去估算,

 A^\theta (s_t, a_t)中的\theta表示和环境去做主动的Agent, 也称优势函数,可以通过一个网络来估值。意义为相对的好,也即在当前的state下采取动作a,相对于其他可能的action的优势,但不是绝对的好。 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37841366/article/details/112391767

智能推荐

Shader学习笔记_函数探索_tex2D(sampler2D tex, float2 s)_weixin_34258078的博客-程序员宅基地

half4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = c.a; tex2D(sampler2D tex, float2 s)函数,这是CG程序中用来在一张贴图中对一个点进行采样的方法,返回一个float4。这里对 _MainTex在输入点上进行了采样,并将其颜色的rbg值赋予了输出的像素颜色,...

NamedParameterJdbcTemplate的使用_骑车去看海的博客-程序员宅基地

sql 要写成这样:INSERT INTO employees (last_name, email, dept_id) VALUES (:lastName,:email,:dept_id.id)其中lastName,email,dept_id对应pojo类employee里面的属性: private Integer id; private String lastName; p

android底部导航栏svg,vue开发移动端底部导航条功能_天文在线的博客-程序员宅基地

效果图src/app.vue头部导航内容区域import Tabbar from 'components/tabbar';export default {name: 'App',components:{Tabbar}}.g-container{position: relative;width:100%;height:100%;max-width:640px;min-width:320px;marg..._"content: \"\\e699\";"

NAACL 2019最佳论文:量子概率驱动的神经网络_PaperWeekly的博客-程序员宅基地

作者丨李秋池、王本友学校丨帕多瓦大学博士生研究方向丨信息检索/自然语言处理今天要介绍的文章与当前大火的 BERT 同获最佳论文,摘得 NAACL 2019 最佳可解释NL..._复值匹配 paperweekly

Visual Studio2019试用期过后,无法登录微软账号_vs2019评估期结束怎么办_Zhangermazi的博客-程序员宅基地

①打开Visual Studio2019②在“工具”栏中,点击选项,再点击账户或者在账户登录页面,点击账户选项(如下图)③在弹出的界面中,账户选项下,将“嵌入式Web浏览器”改为“系统Web浏览器”,点击确定,再进行登录,会跳转到浏览器进行登录即可(有的浏览器可能慢,俺用edge就比谷歌快很多(ಥ_ಥ) )..._vs2019评估期结束怎么办

CNN卷积后输出size的计算_卷积输入输出大小计算_无情的搬砖机器的博客-程序员宅基地

来个详细版的如下:source来个简版的如下:sourcepadding =“SAME”的情况:这里插一句帮助理解:自动补全的话,考虑步长为1,每一卷积从第一个维度开始一步一步移动,直到最后一个维度,那么输出肯定是和原来的维度一样,如果步长不是1比如为2 就要向上取整。比如7*7的图像采用3*3大小的卷积核进行卷积操作,padding = “SAME”的情况下就是..._卷积输入输出大小计算

随便推点

QT 判断鼠标是否在某个控件上_qt判断鼠标在控件内_漫步繁华街的博客-程序员宅基地

if(!ui->scoreStandardBtn->geometry().contains(this->mapFromGlobal(QCursor::pos())));_qt判断鼠标在控件内

FICO年结完全手册_okeqn_黑色银子托的博客-程序员宅基地

一:系统增加配置部分1,FBN1增加凭证号码范围,OBH2维护会计凭证号码到新的会计年度 2,KS13检查成本中心的有效期3,KA23检查成本要素的有效期4,KL03检查作业类型的有效期5,OKEQN增加成本控制范围下版本为0的新年度6,GB02 增加新年度的利润中心的凭证范围 ,0KE5 增加利润中心会计年度7,KANK_okeqn

docker 配置远程访问 以及 创建服务器docker hub_飞同小可的博客-程序员宅基地

配置docker远程访问1.通过daemon.json配置编辑/etc/docker/daemon.json{ "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]}或者2.通过systemd配置文件创建配置文件/etc/systemd/system/docker.service.d/docker.conf[Service]ExecStart=ExecStart=/usr/bin/dockerd -H fd:/

javascript中for-in和for-of的区别_for in for of 区别面试题-程序员宅基地

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma..._for in for of 区别面试题

GMS认证-Android8.1认证新特性与要求_曹禺的博客-程序员宅基地

https://www.jianshu.com/p/20c96d2957a7本文主要说明Android8.1过GMS认证的一些新特性和新要求。新增测试Android7.x以及之前的版本,如果要过GMS认证,只需要完成CTS测试、GTS测试和CTS Verifier,如果全部通过,将软件送给google授权的实验室即可。Android8.0以后,除了要完成默认版本的CTS测试、GTS测试和CTS V...

将Vue项目部署到服务器并通过IP访问_vue3项目放到linux下 如何访问_shaobohong的博客-程序员宅基地

1、在项目根目录下执行命令npm run build,对项目进行打包,打包后会在项目根目录下多出一个dist文件夹2、打开apache\conf\httpd.conf文件,增加监听端口3、确保apache\conf\httpd.conf文件里的Include conf/extra/httpd-vhosts.conf前面没有【#】号4、打开第3步提到的http-vhost.con..._vue3项目放到linux下 如何访问

推荐文章

热门文章

相关标签