Actor-Critic算法
Actor-Critic算法概述
基本概念
Actor-Critic算法是一种结合了策略梯度和值函数估计的强化学习方法。它由两个主要组件组成: Actor(演员)负责选择动作,Critic(评论家)负责评估动作的价值。 这种架构结合了策略梯度的优势(直接优化策略)和值函数方法的优势(减少方差)。
核心思想:Actor-Critic算法通过分离策略(Actor)和价值评估(Critic)来同时获得策略梯度的直接性和值函数方法的稳定性。
算法原理
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)
优势与特点
1. 减少方差
通过Critic提供的基线减少策略梯度的方差
2. 在线学习
可以实时更新,不需要等待整个回合结束
3. 连续动作空间
特别适合处理连续动作空间的问题
4. 样本效率
相比纯策略梯度方法,样本效率更高
应用场景
机器人控制
连续动作空间的机器人控制任务
游戏AI
复杂游戏环境中的决策制定
自动驾驶
车辆控制、路径规划等任务
资源调度
复杂环境下的资源分配和调度