前言

本篇文章我们来介绍一下Actor-Critic 方法。

一、Actor-Critic 方法

1.构造价值网络和策略网络

Actor是策略网络,用来控制agent运动;Critic是价值网络,用来给动作打分;Actor-critic方法把策略学习和价值学习结合起来;在讲策略学习的时候,我们说过我们要学习的是Vπ(s)即状态价值函数,可惜我们不知道π(a|s)和Qπ(s,a),所以我们用两个网络分别近似π(a|s)和Qπ(s,a);

我们用π(a|s;θ)近似π(a|s),这里θ是神经网络的参数;用q(s,a;w)近似Qπ(s,a),其中w是另一个神经网络的参数;策略网络π(a|s;θ)用来控制agent运动,所以叫做actor,你可以把它当做一个运动员;价值网络q(s,a;w)用来评价动作的好坏,所以叫做critic,你可以把它当做裁判;学习这两个网络的目的是让运动员的平均分越来越高,并且让裁判的打分越来越精准;

2.训练策略网络π(a|s;θ)和价值网络q(s,a;w)


训练的时候要更新两个神经网络的参数θ和w,但是更新参数θ和w的目标是不同的,更新策略网络π(a|s;θ)的参数θ是为了让V(s;θ,w)的值增加;策略网络的监督信号是价值网络q(s,a;w)的打分,也就是通过让自己的表现越接近价值网络的打分来更新参数θ;
更新价值网络q(s,a;w)的参数w是为了让价值网络q(s,a;w)的打分更精准,价值网络的监督信号是环境给出的奖励,也就是通过让自己的打分越来越接近奖励,裁判的水平也就不断提高;

3.训练神经网络的步骤


观测到当前状态st;
把st作为输入,用策略网络π计算概率分布,然后随机随机抽样得到动作at;
agent执行动作at,环境更新状态st+1,并且给出奖励rt;
用TD算法更新价值网络的参数w;让裁判打分更精准;
最后策略梯度算法更新策略网络的参数θ;
Notes:TD算法已经在价值学习里面讲过了;策略梯度算法在策略学习里面讲了,忘记了可以回去看一下;

4.总结一下Actor-Critic Method方法:

策略网络(actor)观测到当前的状态s,控制agent做出动作a;策略网络相当于一个运动员,目标是让技术越来越好;
(这里的技术指的就是神经网络的参数θ)
但是策略网络即运动员并不知道什么样的动作比较好,所以需要价值网络(critic)来对它的动作打分(也就是q);运动员这样做只是在迎合裁判的喜好,如果裁判的水平不高,那么运动员的水平也不会高,因此裁判员的水平也需要提高;价值网络的改进通过奖励r来提高;总之,Actor-Critic方法的终极目的是学习策略网络,而价值网络只是起辅助作用,策略网络学习完后就不需要这个裁判(价值网络)了;

总结

以上就是今天要讲的内容,本文简单介绍了Actor-Critic方法。

Actor-Critic 方法相关推荐

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

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

  2. 强化学习论文笔记:Soft Actor Critic算法

    Soft Actor Critic是伯克利大学团队在2018年的ICML(International Conference on Machine Learning)上发表的off-policy mod ...

  3. 【强化学习笔记】2020 李宏毅 强化学习课程笔记(PPO、Q-Learning、Actor + Critic、Sparse Reward、IRL)

    前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. 文章目录 前言 Introduction Two Learning Mod ...

  4. CS294(285) Actor Critic算法系列

    CS294(285) Actor Critic算法系列 CS294(285) Actor Critic之agents(https://duanzhihua.blog.csdn.net/article/ ...

  5. actor critic玩cartpole

    只能玩到reward=200多,git actor critic采用单步更新,每一步游戏后Actor和Critic都进行学习. Actor网络使用交叉熵损失,是因为r_s为正时需要增加选择a_s的概率 ...

  6. python实现CRITIC方法

    一个很简单的CRITIC方法python实现,通常用来确定属性权重的标准重要性.除了不要求属性的独立性外,CRITIC方法还反映了属性之间的相关系数.主要步骤为 1.标准化决策矩阵,可以有很多种方法. ...

  7. 【强化学习】Actor Critic原理

    PG算法是一种只基于policy的一种方法,存在的问题就是该算法需要完整的状态序列,且单独对策略函数进行迭代更新,不太容易收敛. Actor-critic方法呢是一种将 策略(Policy Based ...

  8. An Actor–Critic based controller for glucose regulation in type 1 diabetes

    a b s t r a c t \qquad 控制器基于Actor-Critic(AC)算法,受强化学习和最优控制理论(optimal control theory)的启发.控制器的主要特性是: 同时 ...

  9. 【UE4】查找Actor的方法(蓝图)

    查找Actor的三种方法 Get All Actors Of Class :通过给定的对象模板将场景中与之匹配的对象进行查找,并返回查找到的所有对象. Get All Actors with Inte ...

  10. 【论文解读】深度强化学习基石论文:函数近似的策略梯度方法

     导读:这篇是1999 年Richard Sutton 在强化学习领域中的经典论文,论文证明了策略梯度定理和在用函数近似 Q 值时策略梯度定理依然成立,本论文奠定了后续以深度强化学习策略梯度方法的基石 ...

最新文章

  1. size_t和int区别
  2. SpringMVC学习手册(三)------EL和JSTL(上)
  3. java中的各种流(老师的有道云笔记)
  4. Enterprise Library Configuration DAAB的使用
  5. OC-数组排序-NSSortDescriptor使用
  6. GraphQL:Descriptor Attributes
  7. mysql 5.7 主从切换_mysql5.7 主从复制的正常切换【转】
  8. scanf输入数组_清除C / C ++中的输入缓冲区,妈妈再也不用担心我的学习
  9. 报错,ERROR 8324 --- [io-12000-exec-8] c.y.cols.controller.CardTypeController
  10. epoll_create, epoll_ctl和epoll_wait select函数分析
  11. 送你一份有态度的红包封面!
  12. idea使用教程-idea简介
  13. C++中的RECT类
  14. 管理欲望:领导者的自我觉察与突破
  15. word多级目录设置和自动生成目录
  16. 1024,20个入行故事,浮世中见证着程序员的奋斗
  17. 打开windows资源共享以及“无法访问你可能没有权限使用网络资源”问题的解决
  18. 模拟山羊收获日Android,模拟山羊收获日手机版
  19. 虚拟机是什么?有什么用
  20. Linux丢包问题排查思路

热门文章

  1. 时间之外-沉睡者 - 2022/2/24
  2. java retry_Spring重试支持Spring Retry的方法
  3. Activiti与SpringBoot 5分钟入门(一)
  4. 名侦探柯南--最完全的资料(转)
  5. Purchasing progress
  6. pyqt使用label显示图片
  7. 网络原理考点之信道容量与最大信号传输率、最大数据传输率
  8. qt repaint 用法_Qt重绘之update,repaint详解(转)
  9. java窗口的repaint_Java Swing revalidate()与repaint()
  10. cmd cd命令格式