Actor-Critic从名字上看包括两部分,参与者(Actor)和评价者(Critic)。其中Actor使用策略函数,负责生成动作(Action)并和环境交互。而Critic使用我们之前讲到了的价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。

基于策略和基于价值的RL算法

在基于策略的RL中,最优策略是通过直接操纵策略来计算的,而基于价值的函数通过找到最优值函数来隐式地找到最优策略。 基于策略的RL在高维和随机的连续动作空间以及学习随机策略方面非常有效。 同时,基于价值的RL在样品效率和稳定性方面表现出色。

策略梯度RL的主要挑战是高梯度方差。 减少梯度估计方差的标准方法是使用基线函数b(st)[4]。 关于添加基线会引起很多关注,这会在梯度估计中引起偏差。 有证据表明,基线不能为梯度估算提供基础。

证明基线是无偏见的

REINFORCE算法的策略梯度表达式如下所示:

REINFORCE的策略梯度表达的期望形式

我们可以写出轨迹的奖励R(τ)如下:

然后添加基线函数,如下所示修改策略梯度表达式:

插入基线功能

我们可以将奖励和基准期限称为优势函数。 可以表示如下:

优势功能

在上面的等式中要注意的重要一点是基线b是s_t而不是s_t` [4]的函数

我们可以重新排列表达式,如下所示:

上式是等效的E(X-Y)。 由于期望的线性,因此我们可以将E(X-Y)重新排列为E(X)-E(Y)[3]。 因此,对上面的等式进行了如下修改:

如果带有基线的第二项为零,则可以证明添加基线函数b在梯度估计中未添加偏差。 那意味着

我们可以将期望概括如下:

第二项的证明为零,如下所示:

上面的推论证明,添加基线函数对梯度估计没有偏差

Actor-critic

简单来说,Actor-Critic是策略梯度的时间差异(TD)版本[3]。它有两个网络:参与者和评论家。参与者决定应该采取哪种行动,评论家告知参与者该行动有多好,应该如何调整。参与者的学习基于策略梯度方法。相比之下,评论家通过计算价值函数来评估参与者的行动。

这种类型的架构是在生成对抗网络(GAN)中,鉴别器和生成器都参与游戏[2]。生成器生成伪图像,鉴别器使用其真实图像的表示来评估所生成的伪图像的质量[2]。随着时间的流逝,生成器可以创建伪造的图像,这些伪造的图像对于鉴别器是无法区分的[2]。同样,Actor和Critic都参与了游戏,但是与GAN [2]不同,他们都在不断改进。

Actor-critic类似于带有基准的称为REINFORCE的策略梯度算法。强化是MONTE-CARLO的学习,它表示总收益是从整个轨迹中采样的。但是在参与者评论家中,我们使用引导程序。因此,优势功能的主要变化。

策略梯度总回报中的原始优势函数更改为自举。 资料来源:[3]

最后,b(st)更改为当前状态的值函数。 可以表示如下:

我们可以为actor-critic编写新的修改后的优势函数:

或者,将优势函数称为TD错误,如Actor-Critic框架所示。 如上所述,参与者的学习是基于策略梯度的。 参与者的策略梯度表达式如下所示:

参与者的政策梯度表达

Actor-Critic算法的伪代码[6]

1、使用来自参与者网络的策略πθ对{s_t,a_t}进行采样。

2、评估优势函数A_t。 可以将其称为TD误差δt。 在Actor-critic算法中,优势函数是由评论者网络产生的。

3、使用以下表达式评估梯度:

4、更新策略参数θ

5、更新基于评价者的基于价值的RL(Q学习)的权重。 δt等于优势函数。

6、重复1到5,直到找到最佳策略πθ。

引用

  1. https://inst.eecs.berkeley.edu/~cs188/sp20/assets/files/SuttonBartoIPRLBook2ndEd.pdf
  2. https://theaisummer.com/Actor_critics/
  3. http://machinelearningmechanic.com/deep_learning/reinforcement_learning/2019/12/06/a_mathematical_introduction_to_policy_gradient.html
  4. https://danieltakeshi.github.io/2017/03/28/going-deeper-into-reinforcement-learning-fundamentals-of-policy-gradients/
  5. https://en.wikipedia.org/wiki/Expected_value
  6. http://rail.eecs.berkeley.edu/deeprlcourse-fa17/f17docs/lecture_5_actor_critic_pdf

作者:Dhanoop Karunakaran

deephub翻译组

Actor-Critic:强化学习中的参与者-评价者算法简介相关推荐

  1. 强化学习中的脉冲神经网络

    简 介: 脉冲强化学习是最近兴起的将脉冲神经网络应用到强化学习中的一个研究领域.固然脉冲神经网络的引入会给强化学习带来一些新的东西,但目前的研究仍然仅仅满足于如何让算法收敛,而没有发挥出脉冲神经网络独 ...

  2. labview叠加白噪声_强化学习中Ornstein-Uhlenbeck噪声是鸡肋吗?

    欢迎转载,转载请注明出处--知乎专栏"机器学习与控制论". 读过DDPG论文[1]的同学几乎都会有一个问题,论文中使用Ornstein-Uhlenbeck噪声用于探索,比较难理解, ...

  3. 多智能体强化学习:鼓励共享多智能体强化学习中的多样性

    题目:Celebrating Diversity in Shared Multi-Agent Reinforcement Learning 出处:Neural Information Processi ...

  4. 强化学习中的递归神经网络

    在解决模型训练的机器学习问题时,可以使用已知的输出(监督学习),或者模型可以在事先不知道正确结果的情况下自行学习在可用数据中寻找模式(无监督学习). 强化学习(RL)不属于这两种类型:然而,它同时具有 ...

  5. 《强化学习周刊》第26期:UCL UC Berkeley发表深度强化学习中的泛化研究综述、JHU推出基于强化学习的人工决策模型...

    No.26 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  6. (深入理解)强化学习中Model-based和Model-free的区别是什么

    文章目录 RL的形式化 RL求解算法 model-based:知己知彼,百战百胜 Model-free:两耳不闻窗外事,一心只读圣贤书 总结 RL的形式化 首先我们定义强化学习中的马尔可夫决策过程MD ...

  7. 最新综述 | 强化学习中从仿真器到现实环境的迁移

    ©PaperWeekly 原创 · 作者|李文浩 学校|华东师范大学博士生 研究方向|强化学习 最近 survey 了一下 sim2real 领域最近的相关工作,先整理个第一版(共有七篇论文)的总结. ...

  8. 八千字长文深度解读,迁移学习在强化学习中的应用及最新进展

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载. 机器之心原创 作者:Luo Sainan 编辑:H4O 迁移学习通 ...

  9. 《强化学习与最优控制》学习笔记(三):强化学习中值空间近似和策略空间近似概述

    写在前面的 前一章链接: <强化学习与最优控制>学习笔记(二):强化学习与最优控制的一些术语对比 这章主要是对应书中第二章前面的值空间近似和策略空间近似的简要介绍部分. 在本书的第一章就指 ...

  10. 强化学习中的基础概念和术语——spinning up文档翻译

    Key Concepts and Terminology 以下内容翻译自open ai 的spinning up文档,同时加入了一些自己的理解.原始内容来自spinningup 文章目录 Key Co ...

最新文章

  1. UWP Composition API - 锁定列的FlexGrid
  2. Android开发--Matrix(一)--实现图片的动态放大缩小
  3. python批量读取csv文件-使用Python读写csv文件的三种方法
  4. html引入另一个html
  5. 【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片
  6. 机器人吴非_Nature封面:8天做完688个实验,每天工作21.5小时,实验机器人展现超强战斗力...
  7. 商务先锋 多功能一体化网络营销软件
  8. Ubuntu 13.04 安装最新版本的Nginx
  9. c语言单片机循环程序,单片机c语言教程:C51循环语句
  10. 计算机鼠标显示停顿原因,经常遇到鼠标指针停顿卡的解决方法
  11. 联通BSS-ESS-CBSS系统安装相关
  12. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法
  13. SSL基础:5:openssl常用选项说明
  14. PAT(乙级)2020年秋季考试【答案+题解】
  15. 调色板的原理和调色板显示模式
  16. 南京车贴制作,海报车贴写真喷绘制作
  17. Mini-NDN 安装
  18. Java_09 快速入门 Java IO编程
  19. eNSP—静态路由+NAT网络地址转换
  20. 树莓派+神经计算棒2部署Openvino的human_pose_estimation_demo实例

热门文章

  1. STC15单片机——定时/计数器2、3、4
  2. 【模板】吉司机线段树(势能线段树)
  3. 步步为赢,做好数据分析的7个步骤
  4. kaggle 电商数据分析
  5. 分享Echarts饼状图显示信息,内容,值,百分比都显示的代码
  6. 背景色透明度影响字体的透明度
  7. python计算log函数
  8. 10月15号 360一面
  9. 如何远程访问办公室电脑(过年工作不打烊),亲测有效稳定
  10. 【观察】嵌入式AI崛起,这里有一本通关“秘籍”