策略梯度方法
REINFORCE 演算法(REINFORCE)
REINFORCE 是你能用策略梯度定理做的最簡單的事,也是很適合先內化的入門演算法。用目前的策略跑完一整回合,看它賺到的總報酬,然後把你做過的每個動作的對數機率,依該報酬按比例往上或往下推。好的回合讓它所有動作都更可能出現;壞的回合讓它所有動作都更不可能出現。
具體而言,抽到一條軌跡後,你把 θ 加上 α 乘報酬 G_t 乘 ∇_θ log π_θ(a_t|s_t),並對所有時間步求和。因為 G_t 是完整的蒙地卡羅報酬——是真正看到的獎勵,不是估計——所以 REINFORCE 是不偏的,也不需要任何價值模型。代價是它只能在回合結束後才學,而報酬只是一個非常吵的數字。
純粹形式的 REINFORCE 以高變異數、學得慢著稱,常常要很多回合才有穩定進展。標準補救立刻就到:減去一個基準線、用「未來報酬」取代整段報酬,最後再用學到的評論家取代蒙地卡羅報酬——這就一路走到了演員–評論家方法。
\theta\leftarrow\theta+\alpha\,G_t\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)
強化高報酬回合的動作;弱化低報酬回合的動作。
又称
另见