演员-裁判方法 Actor-Critic
演员-评论家(Actor-Critic)方法,这是一种结合了基于价值(Value-Based)和基于策略(Policy-Based)的强化学习方法。这种方法使用两个神经网络:一个用于策略(演员),另一个用于价值函数(评论家)。
1. 演员-评论家方法概述
1.1 价值网络和策略网络
- 价值网络(Critic) :估计给定状态-动作对的预期回报,即动作价值函数 Q (s ,a)。
- 策略网络(Actor):直接输出在给定状态下采取各个动作的概率。
1.2 状态价值函数近似
-
状态价值函数 V (s) 可以通过策略网络和价值网络来近似:
其中,**θ 是策略网络的参数,w 是价值网络的参数**。
2. 网络结构
2.1 策略网络(Actor)
- 输入:状态 s(例如游戏的屏幕截图)。
- 输出:动作的概率分布。
- 使用Softmax激活函数确保输出的概率和为1。
2.2 价值网络(Critic)
- 输入:状态 s 和动作 a。
- 输出:近似的动作价值(标量)。
3. 训练神经网络
3.1 更新参数
- 目标是更新策略网络和价值网络的参数,使得状态价值函数 V (s ;θ ,w) 最大化。
3.2 更新策略网络
- 使用策略梯度方法更新策略网络,以增加状态价值。
- 评论家(价值网络)提供对演员(策略网络)的监督。
3.3 更新价值网络
- 使用时序差分(TD)学习更新价值网络,以更好地估计回报。
- 评论家的判断变得更加准确,监督完全来自奖励。
4. 算法步骤
4.1 观察和动作
- 观察状态 st。
- 根据策略网络 π (⋅∣st ;θt ) 随机采样动作 at。
4.2 执行和观察
- 执行动作 at ,环境提供新状态 s(t +1) 和奖励 rt。
- 根据策略网络随机采样 a(t+1)(但不执行)。(只是我们假想的动作)
4.3 评估和计算
- 评估价值网络:
- 计算TD误差:
4.4 微分和更新
- 对价值网络进行微分:
- 更新价值网络:
- 对策略网络进行微分:
- 更新策略网络:
5. 总结
5.1 演员和评论家的角色
- 训练期间 :
- 智能体由策略网络(演员)控制:at ∼π (⋅∣st ;θ)。
- 价值网络(评论家)提供对演员的监督。
- 训练后 :
- 智能体直接使用训练好的策略网络进行决策。
5.2 训练
- 使用策略梯度更新策略网络(演员),以增加状态价值。
- 使用TD学习更新价值网络(评论家),以更好地估计动作价值。
5.3 策略梯度与基线
- 基线 b 用于减少策略梯度的方差,它应该是独立于 θ 和 a 的。
- 一个好的基线可以是
(TD目标)。
5.4 确定性策略梯度(DPG)
- DPG是一种特殊的演员-评论家方法,其中策略网络是确定性的,输出是给定状态下的最佳动作。
- 通过最大化价值函数 Q (s ,a ;w) 来训练策略网络。