Q-learning、DQN 及 DQN 改进算法(Double DQN,Dueling DQN)都是基于价值的方法, Q-learning 用于处理有限状态,而 DQN 用来解决连续状态的问题。强化学习中除了基于值函数的方法,还有基于策略的方法。基于值函数的方法主要是学习值函数,然后根据值函数导出一个策略,学习过程中并不存在一个显式的策略;而基于策略的方法则是直接显式地学习一个目标策略,策略梯度是基于策略的方法。
基于策略的方法首先需要将策略参数化。假设目标策略是一个随机性策略,并且处处可微,其中
是对应的参数,可以用神经网络模型来为这样一个策略函数建模,输入某个状态,然后输出一个动作的概率分布,目标是要寻找一个最优策略并最大化这个策略在环境中的期望回报。在每一个状态下,梯度的修改是让策略更多地去采样到带来较高Q值的动作,更少地去采样到带来较低Q值的动作。
Actor-Critic 算法
既学习价值函数,又学习策略函数。
Actor-Critic 分为两个部分:Actor(策略网络)和 Critic(价值网络)
Actor 要做的是与环境交互,并在 Critic 价值函数的指导下用策略梯度学习一个更好的策略。
Critic 要做的是通过 Actor 与环境交互收集的数据学习一个价值函数,这个价值函数会用于判断在当前状态什么动作是好的,什么动作不是好的,进而帮助 Actor 进行策略更新。