Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

確率ロボティクス第八回

3,686 views

Published on

強化学習

Published in: Technology
  • Sex in your area is here: ♥♥♥ http://bit.ly/2Q98JRS ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/2Q98JRS ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

確率ロボティクス第八回

  1. 1. 確率ロボティクスと移動ロボットの行動生成 第8回 上田隆一
  2. 2. 本日の内容 • 強化学習 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 2
  3. 3. 強化学習(reinforcement learning) • 今、流行り(←皮肉)の機械学習の一種 • 制御の側からの説明 – 動的計画法から状態遷移と報酬が事前に 与えられず、後から知りながら方策を求めていく方法 • 他、脳の一部がこれで学習しているのではないか等、 神経科学、学習心理学とも関連 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 3
  4. 4. • 当然、価値反復より難しい • 一方、状態遷移を事前に準備する必要はない Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 4 ロボットは動いている間に 知ることになる
  5. 5. 解法 • モンテカルロ法 • TD学習 – Sarsa – Q学習 • ... Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 5
  6. 6. モンテカルロ法 • 一番ネイティブな方法 – おそらく他の手法を使った方が良いが、 方策と価値関数の関係がよく分かる • ロボットを動かす – 状態遷移を観測 – 報酬を観測 – これらから価値関数を求める Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 6
  7. 7. 方策の評価 • 方策を与えて、その方策に対応する価値関数を 計算する方法を考えてみましょう • 手順 1. 価値関数をnullに初期化 2. 初期状態を適当に選んでロボットを動かす (ロボットは自身の状態、行動、報酬を記録) 3. その試行における状態の価値を計算 4. 各状態の価値を、これまでの全試行の価値の 平均値で更新 • 更新回数とこれまでの平均値から計算する Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 7
  8. 8. 方策を求める方法 • 方策が与えられない場合 – 価値関数が求まれば行動も求まり、 学習したことになる – でもどうやって行動を選ぶのか? • 価値をもう一種類考えるとやりやすい – 行動価値 • Qp(s,a): 方策pの元、状態sで行動aを選択することの価値 – Vp(s) = maxa Qp(s,a) Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 8
  9. 9. 手順(方策オン型) 1. Qp(s,a)をnullで初期化 2. 初期状態を適当に選んでロボットを動かす • Qp(s,a)が一番良い行動a(グリーディな行動)を選ぶ。 たまに違うのを選ぶ(e-グリーディ方策) 3. その試行における状態行動対の価値を計算 4. 各状態の価値を、これまでの全試行の価値の 平均値で更新 • 問題として、e-グリーディー方策の価値が求まる点が Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 9
  10. 10. 手順(方策オフ型) • 各志向の非グリーディな行動が 混ざっている部分を価値の更新に使わない – 終端状態から遡ってグリーディな行動だけとって いた部分だけ切り取って、そこの価値だけ更新 • 問題 – 無駄が多い – (方策オン型であっても)ちょっとした問題でも 試行が足りなくなる Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 10
  11. 11. ブートストラップの導入 • (強化学習での)ブートストラップ – 以前に計算した遷移後の状態の価値を使って 遷移前の状態の価値を求める – 価値反復で行ったもの Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 11
  12. 12. TD(temporal difference)学習 • 行動した時に次の式で価値を更新 – V(s) ← (1-a)V(s) + a[r + gV(s')] • a: ステップサイズパラメータと呼ばれる • g: 割引率(1で考えておいて大丈夫です) – 何回も上の式で価値を更新すると 価値反復の時と同様、収束する – 方策オン型(Sarsa)とオフ型(Q学習) Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 12
  13. 13. Sarsa • 方策ON型TD学習 • 行動価値を学習 – Q(s,a) ← (1-a)Q(s,a) + a[r + gQ(s',a')] • 手順 – Q(s,a)を初期化 – eグリーディ方策等から行動aを選択 – 行動aをとり、s'に移った後、次の行動a'を選択 – 上の式でQ(s,a)を更新 Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 13
  14. 14. Q学習 • 方策オフ型TD学習 • 次の式を使う • Q(s,a) ← (1-a)Q(s,a) + a[r + gmaxa'Q(s',a')] • eグリーディ方策を使っても非グリーディな行動が 価値関数に影響を与えない Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 14
  15. 15. 課題 • 次のページの問題について、プログラムを 組むか、紙に解法を書いて提出のこと – 期日: 14回目の講義前まで – 提出方法(紙の場合): 上田まで • 学籍番号と名前を記載のこと • (TeXなりWordなり手書きなりなんでも) – 電子データの場合 • 電子メールに学籍番号と名前を明記の上、 コードとREADMEのありか(GitHub等)を教えてください • コードを固めて送って頂いても構いません • READMEには、アルゴリズムの概説と実行方法を Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 15
  16. 16. 問題 • 以下のようなタスクを考えます • 状態:エージェントはどこかの状態にいます(5状態) – Sgはゴールです。この状態に入るとタスクが終わります • 行動: エージェントは、行動として「右」か「左」を選びます。 その後、サイコロ(つまり1〜6の一様乱数)の数だけ右あるいは 左の状態に移動します。 – 端ではその状態に留まります • 報酬(制御の目的): -1x行動数(つまり行動の回数を最小に) • 問題: 各行動価値関数をなんらかの方法で解いてみましょう Oct. 7, 2015 確率ロボティクスと移動ロボットの行動生成 16 Sg ゴール S1 S2 S3 S4

×