Actor-Critic算法

文章探讨了PolicyGradient中的回合更新模式及其局限性,引出了Actor-Critic算法。该算法通过Critic即时评估每一步动作的效果,以实现单步更新,加快学习进程。Actor-Critic的核心是分离出Actor(选择动作)和Critic(评价动作),两者基于不同的目标函数进行更新,且Critic通常用深度神经网络实现。

在 policy gradient 中讲解到的多种评估指标已经涵盖了下面要介绍的 Actor-Critic 的思想,梯度策略算法往往采用回合更新的模式,即每轮结束后才能进行更新。

如某盘游戏,假如最后的结果是胜利了,那么可以认为其中的每一步都是好的,反之则认为其中的每一步都是不好的。

下图 Monte-Carlo Policy Gradient 方法

Reinforce Policy Gradient

上图中的 是 policy network 输出的概率, Vt 是当前这一局的结果。这是 policy gradient 最基本的更新形式。

但我们前面也分析了:最后的结果好 并不能说明其中每一步都好。我们能不能抛弃回合更新的做法,加快到单步更新呢,Actor-Critic 算法就做了这个调整。

但要采用单步更新,我们就需要为每一步都即时做出评估。Actor-Critic 算法中的 Critic 负责的就是评估这部分工作,而 Actor 则是负责选择出要执行的动作。这就是 Actor-Critic 的思想。Critic 的输出有多种形式,可以采用 Q 值、V 值 或 TD 等。

总结一下Actor-Critic算法核心思想:

在 Actor-Critic 算法中,Critic 是评判模块(多采用深度神经网络方法),它会对动作的好坏评价,然后反馈给 Actor(多采用深度神经网络方法),让 Actor 更新策略。

从具体的训练细节来说,Actor 和 Critic 分别采用不同的目标函数进行更新。

### Actor-Critic算法概述 Actor-Critic是一种结合了价值方法和策略梯度方法优点的强化学习框架,在这个框架下,有两个主要组件:“演员”(Actor)负责决定采取什么行动,“评论家”(Critic)则评估当前状态的好坏并给出反馈。通过这种方式,可以更有效地探索环境并优化决策过程[^1]。 #### 原理 在Actor-Critic架构中,演员部分基于给定的状态选择动作;而评论家的任务是对选定的动作进行评价,即预测执行此操作后的预期回报。具体来说: - **演员**:采用概率分布的形式表示不同行为的选择倾向,并利用策略梯度技术调整这些偏好,使得长期奖励最大化。 - **评论家**:通常是一个估计未来收益的价值函数模型(如V(s),Q(s,a)),它帮助衡量所选动作的质量,并据此指导演员的学习方向。 两者相互协作,共同促进性能提升。当获得新的观测数据,会先由评论家计算出TD误差(Temporal Difference Error),再依据该误差反向传播至两个网络之中完成参数更新[^2]。 #### 实现方式 对于具体的实现细节而言,A3C (Asynchronous Advantage Actor-Critic) 是一种异步版本的Actor-Critic算法,其中多个代理并发运行并与共享全局网络交互。每个智能体会根据自己积累的经验独立地训练本地副本中的演员和评论家网络权重,之后定期同步到中心服务器上统一管理。这种设计不仅加快了收敛速度还提高了样本利用率。 以下是简化版Python伪代码展示如何构建基本的Actor-Critic结构: ```python import torch.nn as nn class Actor(nn.Module): def __init__(self, state_dim, action_dim): super().__init__() self.fc = nn.Sequential( nn.Linear(state_dim, 128), nn.ReLU(), nn.Linear(128, action_dim), nn.Softmax(dim=-1)) def forward(self, x): return self.fc(x) class Critic(nn.Module): def __init__(self, state_dim): super().__init__() self.fc = nn.Sequential( nn.Linear(state_dim, 128), nn.ReLU(), nn.Linear(128, 1)) def forward(self, x): return self.fc(x) ``` #### 应用场景 Actor-Critic及其变种广泛应用于各种连续控制任务和其他复杂环境下,例如机器人导航、自动驾驶汽车路径规划等领域。由于其能够处理高维输入空间并且支持端到端训练的特点,在解决实际问题方面展现出了巨大潜力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mylife512

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

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

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

打赏作者

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

抵扣说明:

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

余额充值