確率ロボティクス第9回: 行動決定(その2)

千葉工業大学 上田 隆一


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Creative Commons License

確率ロボティクス第9回

今日やること

  • Q学習のおさらい
  • ベルマン方程式
  • ベルマン方程式と制御
  • 価値反復
確率ロボティクス第9回

Q学習の「学習の原理」として紹介した手続き

  • 最初に適当なを設定
  • 次の2つの値を比較
      • は方策が示すものとは別の行動
  • 後者のほうがよければ
いつか収束する
確率ロボティクス第9回

ベルマン(最適)方程式

  • 収束したをそれぞれとすると
  • : 最適方策
    • どのでも最適な行動を提示可能
  • : 最適状態価値関数
    • 状態から最適方策を選び続けたときの価値の期待値
  • ベルマン方程式を解く問題: 最適制御問題
実は世の中の制御はベルマン方程式を解く問題になっている
確率ロボティクス第9回

(最適)制御問題の例

  • 制御の問題: ある状態を別の状態に変化させたい
    • その際、コストを抑えたい(最小化したい)
      • PIDなどはコストを直接考えていないのである意味でヒューリスティック
現象 制御
ロボットが目的地にいない 目的地にいる状態にしたい
機械が振動している 振動してない状態に戻したい
ライントレースのロボットがラインからずれた ライン中央に戻したい
洗濯物が洗濯機の中に 畳んで収納したい

(※VLAは目的の状態を言葉から自律的に設定)

制御対象の見かけ、計算リソース・時間の制約、解法で違う問題に見えるだけ
確率ロボティクス第9回

例: ベルマン方程式から機械を安定させる問題へ

  • 考えるシステム
      • : 状態(時間の関数)
      • : 制御入力(時間の関数)
  • 制御の目的: の最小化
      • 最初の項: なるべくを原点付近に保つ
      • 次の項: なるべく入力の値を小さく(労力をかけたくない)
つまり(なにかの拍子に動いてしまった)システムを制止させたい
確率ロボティクス第9回

この問題のベルマン方程式

  • ある時刻から微小時間の間の制御が最適なとき
      • どの時刻をとおいてもよいことに注意
  • を求めましょう
確率ロボティクス第9回

ベルマン方程式の整理(数式の変形方法は教科書を)

  • に対して線形な式に近似してベルマン方程式を整理すると

    • (これもベルマン方程式といえる)
  • 意味
    • なので、の平均値を考えると
    • つまり、を適切に選ぶと、の変化量に速度の平均値をかけると、の減少率と釣り合う(任意の時刻で成立)
  • これからやること
    • 右辺の括弧内を最小にするを求める
    • その最小値がになるようにを求める
確率ロボティクス第9回

の算出とハミルトン-ヤコビ方程式

  • を考える
    • 前ページの方程式ののかっこの中身
    • を最小にするを考えるとにというのが前ページの方程式
  • の中身を代入
  • 変形していくと(教科書参照のこと)、次のを最小に
  • このときの
    • ハミルトン-ヤコビ方程式(物理で出てくる。が消えて物理の問題に)
確率ロボティクス第9回

の解

  • が成り立つと仮定するとが次の方程式の解のときにとなる
      • 直接は解けないが「有本-ポッターの方法」などで求められる(講師は詳しくありませんが)
  • を使って前ページのを表現すると
      • これが最適制御
確率ロボティクス第9回

今の例のおさらい

  • 強化学習と制御は別物ではない
    • 学習の背景となっていたベルマン方程式から、振動を抑える制御の解が得られた
確率ロボティクス第9回

価値反復

  • 強化学習は「状態遷移も報酬も分からんからエージェントに経験させる」というもの
    じゃあ分かってたら別に経験いらないじゃないか
    • ほんとうは順序が逆で、価値反復ができないから強化学習をやる
確率ロボティクス第9回

価値反復の手続き

  • ベルマン方程式(の右辺)でをひたすら更新
    • : 収束していない最適状態価値関数
    • 問題設定が適切なら必ず収束
  • Q学習(や他の強化学習)との違い
    • 強化学習: が分からないからエージェントに行動させてを得る
確率ロボティクス第9回

例: 水たまりの問題(右図)

  • 状態価値関数の更新(下図)
    • スイープ: 全状態の価値を更新すること
  • ゴール側からが求まっていく

確率ロボティクス第9回

例: ロボットの制御

確率ロボティクス第9回

まとめ

  • ベルマン方程式
    • 最適方策と最適状態価値関数が満たす性質を記述
    • 重要: これが理解できると様々な制御がこれの近似であると分かる
  • ベルマン方程式と制御
    • 強化学習と制御は別物ではない
  • 価値反復
    • モデルが分かっている場合の最適状態価値関数を求める方法
      • 計算量が大きいという問題がある(次元ののろい)
        • 実用の面では重要な状態でのみ計算させることもできるが、その場合、解の最適性は保証されない
確率ロボティクス第9回