| Up | パラメータ値の目的関数 | 作成: 2026-05-17 更新: 2026-07-04 |
2. 目的関数の値を最小化/最大化するパラメータ変更を, 勾配法で求める 運動脳 NN の場合,目的関数は 「<行動の良さ>の大きさ」 を定義するものになる。 <行動の良さ>は,アドバンテージで定義した : というわけで,「<行動の良さ>の大きさ」 を表す目的関数は,素朴にはつぎになる: ( 4096 × n の A_(τ,t) の平均 ) 「素朴」と言うのは, 更新の方向性 が盛られていないから。 そこで,式をつぎのように補正する: Ratio_(τ,t) = θ(a_t|s_t) / θ_old(a_t|s_t; τ) Ratio_(τ,t) の意味は:, ここで,つぎを想起しよう: 現パラメータ値θの更新には, θ上の試行のデータを使うのではなく, θ_old 上の試行のデータを使う Ratio_(τ,t) の定義の中の θ(a_t|s_t) は: 行動の確率分布が出力される。 この確率分布から,θ(a_t|s_t) を得る。 しかし,目的関数Lは,まだ不十分である。 Ratio_(τ,t) の値が大きいと,勾配が荒れる。 そこで,「クリップ」 を施す: さらに, clip( Ratio_(τ,t),1−ϵ,1+ϵ ) A_(τ,t) → min ( Ratio_(τ,t) A_(τ,t), clip( Ratio_(τ,t),1−ϵ,1+ϵ ) A_(τ,t) ) こうして,目的関数の仕上がり形は, = E_(τ,t) [ min( Ratio_(τ,t) A_(τ,t), clip( Ratio_(τ,t),1−ϵ,1+ϵ ) A_(τ,t) ) ] |