强化学习之AC、A2C和A3C

阅读本文可参考我以前的文章《强化学习实践教学》https://tianjuewudi.gitee.io/2021/07/16/qiang-hua-xue-xi-shi-jian-jiao-xue/#toc-heading-29,其中的连续动作空间上求解RL章节是本文的基础,其中的DDPG和Actor-Critic除了Target网络外其余都一致。

首先,A2C的全称是Advantage Actor Critic,而A3C是Asynchronous Advantage Actor Critic,A2C源自A3C。

Actor Critic

首先解释一下Actor Critic的概念,Q-learning是一种价值迭代法,而policy gradient是一种策略迭代法,Actor Critic同时使用了这两种方法。

Actor直接负责输出每个Action的概率,有多少个Action就有多少个输出。Critic输出的是动作价值Q。这是两个神经网络。在Policy Gradient中,一个episode的累计Reward就像是一个Critic,决定了Actor的学习方向,使得Actor倾向于学习Critic累计Reward更高的逻辑。因此策略梯度可写作:
g = E [ ∑ t = 0 ∞ ψ t ∇ θ l o g π θ ( a t ∣ s t ) ] g = E[\sum_{t=0}^{\infty}\psi_t \nabla_{\theta}log \pi_{\theta}(a_t|s_t)] g=E[t=0ψtθlogπθ(atst)]
其中这里的π就是actor,ψ就是critic,这是一个广义的框架。

critic有多种形式:

  1. 一个轨迹中的Reward相加。
  2. 一个轨迹中后面某部分的Reward相加。
  3. 相加后的Reward减去一个baseline。
A2C(Advantage Actor-Critic)算法是一种常用的强化学习算法,旨在通过同时训练一个策略网络(Actor)一个价值网络(Critic)来实现优化。 在A2C算法中,Actor网络用于学习动作策略,而Critic网络用于评估状态的价值。Actor网络根据当前状态选择一个动作,并生成一个策略分布。Critic网络根据当前状态估计该状态的价值。这两个网络共同工作,通过优化目标函数来提高策略价值的准确性。 A2C算法的训练过程可以分为两个步骤:生成样本更新参数。生成样本时,Actor网络根据当前状态生成动作,并与环境进行交互,得到下一个状态奖励。然后,使用这些样本计算出优势函数,即当前状态的动作价值与预期价值之间的差异。 更新参数时,使用生成的样本来计算ActorCritic网络的损失函数。Actor损失函数一般使用策略梯度方法,通过最大化优势函数来更新策略网络的参数。Critic损失函数一般使用均方误差损失,通过最小化实际价值与预期价值之间的差异来更新价值网络的参数。这两个网络的参数可以使用梯度下降法进行更新。 与A3C(Asynchronous Advantage Actor-Critic)算法不同,A2C算法是一种1-step方法,即每次更新只考虑当前的状态动作。而A3C算法是一种n-step方法,考虑了未来多个状态动作的影响。因此,A3C相比于A2C在更新参数的方式上有所不同,但都是基于Actor-Critic的思想。 总结来说,A2C算法是一种结合了ActorCritic网络的强化学习算法,通过不断生成样本更新网络参数来提高策略价值的准确性。它是一种1-step方法,与A3C算法相比,在更新参数的方式上有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [强化学习算法:AC系列详解](https://blog.csdn.net/qq_29176963/article/details/104975905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

微笑小星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值