1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶDeep Reinforcement Learning

Connected

演習

クリップした確率比

ここでは、PPO の目的関数で重要な要素である「クリップした確率比」を実装します。

参考として、確率比は次のように定義されます: $$\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}$$

そして、クリップした確率比は \(\mathrm{clip}(r_t(\theta), 1-\varepsilon, 1+\varepsilon)\) です。

指示

100 XP
  • action_log_prob から行動確率 prob を、action_log_prob_old から prob_old を取得します。
  • 旧行動の対数確率を torch の勾配計算グラフから切り離します。
  • 確率比を計算します。
  • 代理目的関数をクリップします。