AC & A2C & A3C

基本概念

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ω)逼近。并使用 T D ( λ ) 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 ω,而是使用参数 v v v。参数 v v v的更新方式为:
在这里插入图片描述
其中:
在这里插入图片描述,
在这里插入图片描述
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两个网络放在了一起。如上图所示,输入状态 s s s,输出策略 π \pi π和价值 v v v。当然也可以将Actor和Critic看成两个独立的部分。

第三个优化就是Critic评估点的优化。在单步采样中,优势函数 A ( s , t ) A(s,t) A(s,t)去掉动作可以表示为:
在这里插入图片描述
在A3C中采用多步采样,以加速收敛。此时优势函数为:
在这里插入图片描述
在A3C的目标函数(损失函数)中,加入策略函数 π \pi π的熵项,系数为c。
在这里插入图片描述
A3C算法的伪代码如下图所示:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负韶华ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值