【深度强化学习】(4) Actor-Critic 模型解析,附Pytorch完整代码

本文介绍了深度强化学习中的Actor-Critic算法,它结合了策略迭代和值迭代,通过行动者网络选择动作和评论家网络评估动作效果。算法分为Actor和Critic两部分,分别用于动作选择和策略评价。文中提供了代码示例,展示了如何在OpenAIGym环境中使用该算法解决具体问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,今天和各位分享一下深度强化学习中的 Actor-Critic 演员评论家算法,Actor-Critic 算法是一种综合了策略迭代和价值迭代的集成算法。我将使用该模型结合 OpenAI 中的 Gym 环境完成一个小游戏,完整代码可以从我的 GitHub 中获得:

https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model


1. 算法原理

根据 agent 选择动作方法的不同,可以把强化学习方法分为三大类:行动者方法(Actor-only),评论家方法(Critic-only),行动者评论家方法(Actor-critic)。

行动者方法中不会对值函数进行估计,直接按照当前策略和环境进行交互。通过交互后得到的立即奖赏值直接优化当前策略。例如:Policy Gradients

评论家方法没有需要维护的策略,评论家方法的策略是直接通过当前的值函数获得的,并通过值函数获得的策略与环境交互。交互得到的立即奖赏值用来优化当前值函数。例如:DQN

行动者评论家方法是由行动者和评论家两个部分构成。行动者用于选择动作评论家评论选择动作的好坏。行动者选择动作的方法不是依据当前的值函数,而是依据存储的策略。评论家的评论一般采用时间差分误差的形式,时间差分误差是根据当前的值函数计算获得的时间差分误差是是评论家的唯一输出,并且驱动了行动者和评论家之间的所有学习。


2. 公式推导

根据策略梯度算法的定义,策略优化目标函数如下:

L_\pi = \sum _{a\in A} log \pi_ \theta (s_t, a_t) (G_{t}^{n}-V(s_t))

令 ,A_t = G_t^n - V(s_t),称 A_t 为优势函数。采用 n 步时序差分法求解时,G_t 可以表示如下:

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

立Sir

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

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

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

打赏作者

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

抵扣说明:

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

余额充值