PG算法是一种只基于policy的一种方法,存在的问题就是该算法需要完整的状态序列,且单独对策略函数进行迭代更新,不太容易收敛。
Actor-critic方法呢是一种将 策略(Policy Based)和价值(Value Based)相结合的方法。下面继续来理一下AC方法的思路!

Actor-Critic算法包括两部分,Actor网络使用PG里的策略函数,负责生成动作,和环境交互,Critic网络使用价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。
PG中我们用的是蒙特卡罗法来计算每一步的价值部分替代Critic的功能,现在我们在AC中用类似于DQN中的价值函数来替代蒙特卡罗法。

汇总来说,就是Critic通过Q网络计算状态的最优价值vt, 而Actor利用vt这个最优价值迭代更新策略函数的参数θ,进而选择动作,并得到反馈和新的状态,Critic使用反馈和新的状态更新Q网络参数w, 在后面Critic会使用新的网络参数w来帮Actor计算状态的最优价值vt。

AC算法的主要缺点在于:无论怎么调参,算法都很难收敛。故后面引入A3C就是为了解决这个问题
重点参考下一篇:AC的注释版本

【强化学习】Actor Critic原理相关推荐

  1. 深度强化学习-DDPG算法原理和实现

    全文共3077个字,8张图,预计阅读时间15分钟. 基于值的强化学习算法的基本思想是根据当前的状态,计算采取每个动作的价值,然后根据价值贪心的选择动作.如果我们省略中间的步骤,即直接根据当前的状态来选 ...

  2. 深度强化学习——DQN算法原理

    DQN算法原理 一.DQN算法是什么 二.DQN训练过程 三.经验回放 (Experience Replay) 四.目标网络(Target Network) 1.自举(Bootstrapping) 2 ...

  3. 深度强化学习-Actor-Critic算法原理和实现

    全文共2543个字,2张图,预计阅读时间15分钟. 基于值的强化学习算法的基本思想是根据当前的状态,计算采取每个动作的价值,然后根据价值贪心的选择动作.如果我们省略中间的步骤,即直接根据当前的状态来选 ...

  4. 强化学习ppt_机器学习原理、算法与应用配套PPT第四部分(深度学习概论、自动编码器、强化学习、聚类算法、半监督学习等)...

    本文是SIGAI公众号文章作者雷明编写的<机器学习>课程新版PPT第四部分,包含了课程内容的深度学习概论,自动编码器,受限玻尔兹曼机,聚类算法1,聚类算法2,聚类算法3,半监督学习,强化学 ...

  5. 那些年玩过的超级玛丽,竟然还隐藏了强化学习的这些原理

    深度强化学习是一个很有意思,值得持续研究的方向.现在深度学习大热,一点也不输给现在的室外气温,但大热背后也有隐忧,也就是深度学习虽然表面光鲜,但细看就会发现:仍然充满了槽点.这里说两个"费& ...

  6. 深度强化学习-D3QN算法原理与代码

    Dueling Double Deep Q Network(D3QN)算法结合了Double DQN和Dueling DQN算法的思想,进一步提升了算法的性能.如果对Doubel DQN和Duelin ...

  7. 深度强化学习-DQN算法原理与代码

    DQN算法是DeepMind团队提出的一种深度强化学习算法,在许多电动游戏中达到人类玩家甚至超越人类玩家的水准,本文就带领大家了解一下这个算法,论文和代码的链接见下方. 论文:Human-level ...

  8. 深度增强学习--Actor Critic

    Actor Critic value-based和policy-based的结合 实例代码 1 import sys 2 import gym 3 import pylab 4 import nump ...

  9. 【强化学习】Q-Learning原理及代码实现

    最近工作是在太忙了,无奈,也没空更新博客,职业上也从研发变成了产品,有小半年没写代码了,怕自己手生的不行,给自己两天时间,写了点东西,之前做搞机器学习,搞深度学习,但一直对依赖全场景数据喂模型的方向有 ...

  10. 强化学习——Q-Learning算法原理

    一.Q-Learning :异策略时序差分控制 从决策方式来看,强化学习可以分为基于策略的方法(policy-based)和基于价值的方法(value-based).基于策略的方法直接对策略进行优化, ...

最新文章

  1. binlog数据库不写入binlog_mysql 为什么不能仅仅用 binlog 保证不丢数据
  2. 手机端html5展示pdf,pdf.js移动端展示预览打开pdf-pdfh5.js
  3. 吗咿呀嘿,超分,让照片动起来PaddleGAN
  4. 出租(标记+格式输出)
  5. 数据查找matlab,MATLAB:使用矢量化查找已排序数据的统计信息
  6. kaggle案例(part1)--Text Analysis Topic Modelling with spaCy||GENSIM
  7. P1446 [HNOI2008]Cards
  8. app = Flask(__name__)相关说明
  9. 3.5英寸万转硬盘的末路(万转“偏瘫”记连载二)
  10. linux刷windows phone,老机焕新生!Lumia 950XL也能跑Win10
  11. 2011年度全球移民国家移民条件浅析
  12. java-net-php-python-4java个人博客系统计算机毕业设计程序
  13. Vue中 引入使用 vue-json-views
  14. 1.3.3微信小程序WeUI.js网页开发样式库
  15. Linux exec函数
  16. php callable closure,详解php 使用Callable Closure强制指定回调类型
  17. 雷电模拟器导入burp证书
  18. Android闹钟服务AlarmManager
  19. 30岁女会计转行学计算机,30多转行当会计怎么样?30岁转行做会计晚不晚-之了课堂...
  20. 树莓派js调用C语言,SpiderMonkey js中调用c程序

热门文章

  1. 具有Tron效果的JavaFX 2 Form
  2. Hibernate缓存级别教程
  3. java的Swing里怎么new一条线_java – 在JFrame上绘制一条线
  4. HH SaaS电商系统的商品物流模板的功能设计
  5. ORACLE数据库常用命令总结
  6. php导出页面居中设置,PHPExcel导出插入图片和居中问题
  7. 动态数据交换 python_如何用 Python 和 Streamlit 做交互式数据分析产品?
  8. knn算法python代码_K-最近邻分类算法(KNN)及python实现
  9. using用法是什么?
  10. android王者调不了界面,王者荣耀登录界面怎么改?登录界面更改教程[多图]