导航菜单

Actor-Critic算法

Actor-Critic算法概述

基本概念

Actor-Critic算法是一种结合了策略梯度和值函数估计的强化学习方法。它由两个主要组件组成: Actor(演员)负责选择动作,Critic(评论家)负责评估动作的价值。 这种架构结合了策略梯度的优势(直接优化策略)和值函数方法的优势(减少方差)。

核心思想:Actor-Critic算法通过分离策略(Actor)和价值评估(Critic)来同时获得策略梯度的直接性和值函数方法的稳定性。

Actor (策略网络)环境Critic (值函数网络)TD误差反馈动作a状态s和奖励r

算法原理

1. Actor-Critic架构

Actor: 策略网络 π(a|s,θ),Critic: 值函数网络 V(s,ω)

2. 优势函数

A(s,a) = Q(s,a) - V(s) = r + γV(s') - V(s)

3. 策略梯度更新

∇θJ(θ) = E[∇θlog(π(a|s,θ)) * A(s,a)]

4. 值函数更新

TD误差: δ = r + γV(s') - V(s)

观察状态Actor选择动作执行动作Critic评估更新网络

优势与特点

1. 减少方差

通过Critic提供的基线减少策略梯度的方差

2. 在线学习

可以实时更新,不需要等待整个回合结束

3. 连续动作空间

特别适合处理连续动作空间的问题

4. 样本效率

相比纯策略梯度方法,样本效率更高

应用场景

机器人控制

连续动作空间的机器人控制任务

游戏AI

复杂游戏环境中的决策制定

自动驾驶

车辆控制、路径规划等任务

资源调度

复杂环境下的资源分配和调度