主要記錄一下自己仔細學習 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 一下,不更新。