基本概念

Actor-Critic(AC)

AC全称Actor-Critic,中文名演员-评论家算法。AC算法是一种既基于值函数、又基于策略函数的算法。这里所说的基于值函数的算法,主要指的是算法本身输出的所有动作的价值,根据最高价值来选择动作,这类算法不能选取连续的动作。而基于值函数的算法指算法本身输出下一步要采取各种动作的概率,然后根据概率来选取动作。


如上图所示,一个简单的AC算法(QAC)的策略梯度学习分成两部分:
1、Critic:使用状态动作价值函数qω(s,a)q_\omega(s,a)qω​(s,a),采用线性Q-值函数(ϕ(s,a)Tω\phi(s,a)^T\omegaϕ(s,a)Tω)逼近。并使用TD(λ)TD(\lambda)TD(λ)来更新参数ω\omegaω;
2、Actor:使用Critic得到的价值函数qω(s,a)q_\omega(s,a)qω​(s,a)引导策略函数参数θ的更新。

QAC算法的伪代码如下图所示:

Advanced Actor-Critic(A2C)

A2C全称Advanced Actor-Critic,中文名优势动作价值算法。在AC中,Critic使用的状态动作价值函数qω(s,a)q_\omega(s,a)qω​(s,a)对应的策略梯度为:

A2C较AC的优化体现在定义目标函数时减去基准线函数B(s)B(s)B(s),这样可以减少方差。此时策略梯度为:

取B(s)=vπθ(s)B(s)=v_{\pi_\theta}(s)B(s)=vπθ​​(s),Aπθ(s,a)=qω(s,a)−vπθ(s)A^{\pi_\theta}(s,a)=q_\omega(s,a)-v_{\pi_\theta}(s)Aπθ​(s,a)=qω​(s,a)−vπθ​​(s),其中Aπθ(s,a)A^{\pi_\theta}(s,a)Aπθ​(s,a)称为优势函数,它表征一个状态-动作对相对于平均状态-动作对的好坏程度。如果优势函数大于零,则说明该动作比平均动作好,如果优势函数小于零,则说明当前动作还不如平均动作好。

Actor中参数θ\thetaθ的更新方式为:

Critic中不再使用参数ω\omegaω,而是使用参数vvv。参数vvv的更新方式为:

其中:
,

A2C的基本结构如下:

Asynchronous Advantage Actor-Critic(A3C)

A3C全称为 Asynchronous Advantage Actor-Critic ,中文名字是异步优势动作评价算法。因为该算法的前三个单词的首字母都是A,所以简写为A3C。相比Actor-Critic,A3C的优化主要有3点,分别是异步训练框架,网络结构优化,Critic评估点的优化。其中异步训练框架是最大的优化。

A3C使用异步训练框架,基本框架还是AC框架。不再利用单个线程,而是利用多个线程。每个线程相当于一个智能体在随机探索,多个智能体共同探索,并行计算策略梯度,维持一个总的更新量。公共部分的网络模型就是我们要学习的模型,而线程里的网络模型主要是用于和环境交互使用的,这些线程里的模型可以帮助线程更好的和环境交互,拿到高质量的数据帮助模型更快收敛。

第二个优化也是网络结构的优化。在AC框架中Actor和Critic是互相分开的,而在A3C中将Actor、Critic两个网络放在了一起。如上图所示,输入状态sss,输出策略π\piπ和价值vvv。当然也可以将Actor和Critic看成两个独立的部分。

第三个优化就是Critic评估点的优化。在单步采样中,优势函数A(s,t)A(s,t)A(s,t)去掉动作可以表示为:

在A3C中采用多步采样,以加速收敛。此时优势函数为:

在A3C的目标函数(损失函数)中,加入策略函数π\piπ的熵项,系数为c。

A3C算法的伪代码如下图所示:

AC A2C A3C相关推荐

  1. 强化学习之Actor-Critic (AC, A2C, A3C, DDPG)

    目录 1. Review Policy Gradient 2. Review Q-learning 3. Actor-Critic 4. Advantage Actor-Critic 5. A2C解决 ...

  2. RL policy gradient 之 A2C, A3C,PPO小总结

    Policy gradient Parameterize policy directly No value function On policy 训练: Because samples can not ...

  3. 机器学习-54-RL-06-Actor-Critic(强化学习-A2C,A3C,Pathwise Derivative Policy Gradient)

    文章目录 Actor-Critic Actor-Critic Review – Policy Gradient Review – Q-Learning Actor-Critic Advantage A ...

  4. 强化学习之AC系列算法(AC、A2C、A3C)

    文章目录 AC算法 AC A2C A3C AC算法 我们之前讲过基于价值的强化学习,我们也讲过基于策略的强化学习,这节课所讲的AC系列算法就是同时使用了这两种方法包含有:AC--Actor Criti ...

  5. 强化学习算法:AC系列详解

    文章目录 AC A2C A3C References AC Actor-Critic算法分为两部分,actor的前身是policy gradient,它可以轻松地在连续动作空间内选择合适的动作,val ...

  6. MATLAB的强化学习工具箱(Reinforcement Learning Toolbox)使用细节注意

    普遍问题 step function和reset function执行顺序 ResetFunc (-1 Episode) StepFunc (0 step) ResetFunc (0 Episode) ...

  7. 什么是强化学习?(主要的强化学习概念)

    文章目录 什么是强化学习?(主要的强化学习概念) 4.主要的强化学习概念 4.1 基于模型与无模型(Model-based vs. Model-free) 4.2 预测(prediction)和控制( ...

  8. 强化学习个人学习总结

    强化学习 Reinforce Learning,简称RL.RL是利用奖励(reward)驱动代理(agent)在获取环境(env)的状态(state/obs)后做出一些列行动(action),导致环境 ...

  9. 综述向:强化学习经典方法梳理

    最近组内需要做强化学习相关研究,因为面对的是新项目,同事们对强化学习的原理都不太了解,我们就计划轮流在组内做一些不定期分享,补充相关的基础知识.于是我对强化学习的一些经典算法进行了梳理,并在此进行记录 ...

  10. 2021春实习系列------西山居游戏

    2021年3月多投了一些公司的实习,想增加一下自己的能力,下面整理一下当时的面试,希望给后面的人一些帮助. 本人本科学的控制,研究所主要方向是强化学习,所以主要是投递强化学习方向的岗位. 强化学习中主 ...

最新文章

  1. Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令]
  2. 【Spark】扩展Spark Catalyst,打造自定义的Spark SQL引擎
  3. raid -- 分区-- 格式化 --挂载
  4. 前端笔试能查吗_微软前端社招笔试详解
  5. 性能提升160%,为全球提供顶级算力:阿里云发布第三代神龙云服务器
  6. eclipse安卓开发环境配置全流程
  7. 芯原的神经网络处理器IP获百余款人工智能芯片采用
  8. linux复制文件所有属性,Linux 下文件完全复制cp(属性不变)
  9. 在微软工作有多舒服?
  10. leetcode 5855. 找出数组中的第 K 大整数(C++、java、python)
  11. MFC对话框美化四(自绘标题栏)
  12. 4.3 Matplotlib 图中图
  13. C/C++编程日记:简单的C语言实现推箱子小游戏
  14. 那些不回你微信的人都在看什么?
  15. 软件测试周刊(第86期):一个人为寻求他所需要的东西,走遍了全世界。回到家里,找到了。
  16. 超硬核之傅里叶公式推导(上)
  17. 树莓派开机自动运行shell脚本——记录开机时间
  18. OEEL——使用OEEL快速画出精美图案(以土地利用转移变化为例)
  19. JVM:JVM常见参数配置
  20. 服务器上传图片显示图片404,关于使用spring文件上传遇到的服务器中的图片访问不到报404的问题...

热门文章

  1. ---常见的计算几何问题的快速计算机算法(计算机图形学+游戏渲染碰撞检测)
  2. c/c++进制转换方法汇总(含全部代码)
  3. pci-e服务器显卡性能,PCI-E插槽速度可影响游戏性能
  4. Android 接入阿里云推送com.aliyun.ams:alicloud-android-push:3.7.4步骤(二)
  5. c语言中人脸磨皮算法,人脸磨皮算法
  6. 易接SDK ios9以上无法弹出充值界面的一种情况
  7. 欧拉角到方向余弦矩阵
  8. PS一键磨皮插件磨皮DR4.5中文增强版(PS CC 2014-2019),人像修图调色软件
  9. OpenCV 安装配置 Jupyter Notebook
  10. python playsound播放时关闭_使用playsound modu停止音频