主要记录一下自己仔细学习 RL 时的感悟。记录一下防止遗忘
Q-learning 和 DQN 都是基于值函数的(如 \(V\) 和 \(Q\) 函数),而策略梯度(policy gradient)则是基于策略的。后者显式的训练一个策略,对这个策略使用梯度下降等方法。
actor-critic 本质上是对 policy gradient 的改进。核心是在训练策略(即 actor)的同时也训练一个评价这个策略的 critic。在 policy gradient 中,我们是将当前 actor 下的 trajectory 计算出来之后(倒序)求出 loss,即 \(\gamma\) 作为 discount factor 的加权和。进行梯度下降即可。而在 actor-critic 中,我们额外再训练一个 critic 作为衡量 actor 好坏的量度。critic 的 loss 可以设置为 \(r+\gamma V(s_{t+1})-V(s_t)\),训练时,需要先将 \(\gamma V(s_{t+1})\) 中的 \(V\) detach 一下,不更新。