| Up | 古い試行データを使う | 作成: 2026-07-05 更新: 2026-07-05 |
θ_old : θに更新される前のパラメータ値 θ_new : θの更新結果のパラメータ値 とする。 PPO は「オンポリシー」だが, θ上の試行のデータを使うのではなく, θ_old 上の試行のデータを使う (データは,ログに保存される) 理由として説かれるのは: 学習が不安定になる しかしそのかわり,「θ_old 上の試行のデータ」 と 「θの更新」 のギャップを埋める処方が要る。 この処方は,後述の 「パラメータ値の目的関数」 の内容になるが,先回りして示すと: このそれぞれに対し, アドバンテージ (「行動の良さ」) を計算する。。 試行τの a_t のアドバンテージを,A(τ,t) と表記。 方法は, Ratio(τ,t) = θ(a_t|s_t) / θ_old(a_t|s_t; τ) を,A(τ,t) に倍する。 「a_t をどれくらい選ぶか」 の,θ_old 対 θ の比 これは,「重要度サンプリング」 の考え方。 「θ_old のデータでθを更新」 は,ロジックとしてはイレギュラー。 しかし NN は柔軟なので,この形でも学習は進む。 「θ_old のデータでθを更新」 は,PPO の設計上の選択であり,論理的必然ではない ちなみに, Ratio_(τ,t) と A__(τ,t) の a_t をθからとる の場合は, θ_old(a_t|s_t; τ) は,θ_old の NN から求める となる。 単純なロジックだと,これは θ_old 用に,歩行脳 NN をもう一つ用意 ということになる。 |