DQN方法回顾:【强化学习】DQN算法-CSDN博客
策略梯度方法回顾:【强化学习】策略梯度算法-CSDN博客
1. 简介
在基于值函数和基于策略的方法,都是通过神经网络学习一个值(Q值或策略)的方法。Actor-Critic则是同时学习两个值的方法,其基于Critic网络学习Q值/V值,再将学习到的Q值/V值应用于Actor网络,Actor网络用于学习策略函数。
2. Actor-Critic算法
Actor-Critic本质上还是一个基于策略梯度的算法,将目标函数的梯度写为
其中
策略梯度方法利用的是(4)的形式,并利用蒙特卡洛方法估计Q值,这种方法估计的Q值方差较大。Actor-Critic算法利用(6),通过基于时序差分方法的神经网络更新V值,再将V值应用于策略网络中更新策略。其实际上是把DQN算法的Q网络融入到了策略梯度算法中。
3. 算法流程
Actor-Critic 分为两个部分:Actor(策略网络)和 Critic(价值网络)
- Actor 要做的是与环境交互,并在 Critic 价值函数的指导下用策略梯度学习一个更好的策略。
- Critic 要做的是通过 Actor 与环境交互收集的数据学习一个价值函数,这个价值函数会用于判断在当前状态什么动作是好的,什么动作不是好的,进而帮助 Actor 进行策略更新。
流程如下: