Up 状態の価値関数 作成: 2026-07-02
更新: 2026-07-05

4足歩行ロボット他律型運動脳 > 訓練状態の価値関数

    訓練アルゴリズムは,訓練対象の運動脳 NN の外部モジュールとして,
      価値関数 NN :
        状態 s の入力に対し s の価値 V(s) を出力
    を用いる。


    運動脳 NN と価値関数 NN は,並行して訓練される。
    それぞれのパラメータ更新が,
       θ(1) → θ(2) → ・・・
       φ(1) → ϕ(2) → ・・・
    と並んで進行する。

    その訓練の中で,データのやりとりをする。
    即ち,運動脳の訓練では,行動 a_t のアドバンテージ A_t の導出に V(s_t), V(s_{t+1}), ‥‥, V(s_{n-1-t}) を用いるが,これは価値関数 NN から取得する:
        s_{t+k} を 価値関数 NN に入力
        価値関数 NN は,V(t+k) を出力
    一方,価値関数 NN は,運動脳 NN が生成する試行データの
       s_t → ( r_t, r_{t+1}, ‥‥, r_{n-1-t} )
    で,学習する。


    ともに訓練しながらのデータのやりとりであるから,最初のうちは出鱈目なデータのやりとりになる。
    しかし,データのやりとりは正のフィードバック関係になっているので,訓練の中でだんだんと出鱈目が鎮まり,うまく協調する関係になっていく。
      φ が改善するほど,θ上のアドバンテージ計算が安定する。
      θ が改善するほど,φを訓練する教師信号が良くなる。


  • actor - critic
    運動脳 NN と価値関数 NN の関係は,
       actor - critic
    の関係に見ることができる:
      actor (運動脳 NN) は,状態に対し行動を起こす
      critic (価値関数 NN ) は,状態に対しこれを評価する

    そして,
      「actor のパラメータ値更新に,critic を用いる」
    が,方法論 GAE (Generalized Advantage Estimation) というわけである。


  • 価値関数 NN の訓練
    ○ 教師信号
    教師信号は,次のどちらか:
    ・割引累積報酬(Return)
      R_t = ∑ { γ^k r_{t+k} | k=0, ‥‥ }
       (実際に得られた累積報酬)
    ・GAE の「価値ターゲット」 \[ V^{target}_t \ = A_t + V(s_t) \]

    ○ 損失関数
    ・教師信号が R_t の場合
       LV(τ,t) = ( V(s_t) − R_t )^2
      読み方は,
        「価値関数 V(s_t) を R_t に近づけるための二乗誤差」)
      これを 4096 × n 個の (τ,t) について平均:
       LV(φ) = E_(τ,t) [ LV(τ,t) ]
    ・教師信号が V_t_target の場合 \[ LV(τ,t) = ( V(s_t) − V^{target}_t \ )^2 \\ LV(\phi) = E_{(τ,t)} [\ LV(τ,t)\ ] \]

    ○ パラメータ値φの更新
    LV(φ) を最小化するように更新する。(勾配下降)
       φ ← φ − α_φ∇_φ LV(φ)

    PPO の実装では GAE が一般的。
    理由は,GAE の方がノイズが少なく,学習が安定するため。



    註:
    V(s_t) は,つぎの式がこれの定義になる:
      V(s_t) = E[ ∑ { γ^k r_{t+k} | k = 0,‥‥, n-1-t } ]

    しかしこの期待値は,解析的に計算するものではない。
    実際,「解析的に計算する」 は,あり得ない:
      ロボットの状態遷移は複雑
      ノイズがある
      乱数がある
      未来の報酬は無数の可能性に分岐する
      その確率分布を解析的に書けない

    期待値の式は,「定義」であって,計算可能な式ではない。
    そして,このような式を 「計算」 するところに,NN の真骨頂がある。
    価値関数 NN は,学習によって,つぎをするものになる:
      V_φ(s_t) ≈ E[ ∑ { γ^k r_{t+k} | k = 0,‥‥, n-1-t } ]
       φ : 現パラメータ値