策略梯度方法
演員–評論家架構(actor-critic architecture)
想像兩位合作的學習者。演員是策略——它決定要做什麼。評論家是價值估計器——它在旁觀察並評分演員做得如何。演員靠跟隨評論家的回饋而進步,評論家則靠把自己的預測對照實際發生的結果而進步。兩者合起來,結合了策略梯度的長處(適用於連續與隨機動作)與價值學習的長處(低變異、逐步回饋)。
機制上,評論家用時間差分更新學 V(s) 或 Q(s,a),並提供演員一個優勢訊號,取代那個很吵的蒙地卡羅報酬。演員接著走一步以該優勢加權的策略梯度。關鍵在於評論家每一步都給回饋,而不是只在回合結束時,所以學習比純 REINFORCE 更快、也平滑得多。
代價是評論家引入了偏誤,也多了一個要調的東西——它的學習率、它的架構、它的誤差如何傳播。若評論家配適得差,它會誤導演員,整個系統就發散。幾乎每個現代策略梯度演算法——A2C、A3C、DDPG、SAC、PPO——都是對這個架構某種精心的變形。
advantage = reward + gamma * V(next_state) - V(state) actor_loss = -log_prob(action) * advantage.detach() critic_loss = advantage.pow(2)
評論家替這一步評分;演員跟隨由此得到的優勢。
又稱
另見