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

More Related Content

What's hot

確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回Ryuichi Ueda
 
確率ロボティクス第三回
確率ロボティクス第三回確率ロボティクス第三回
確率ロボティクス第三回Ryuichi Ueda
 
確率ロボティクス第11回
確率ロボティクス第11回確率ロボティクス第11回
確率ロボティクス第11回Ryuichi Ueda
 
Robot frontier lesson1
Robot frontier lesson1Robot frontier lesson1
Robot frontier lesson1Ryuichi Ueda
 
Robot frontier lesson2
Robot frontier lesson2Robot frontier lesson2
Robot frontier lesson2Ryuichi Ueda
 
Robot frontier lesson2 2018
Robot frontier lesson2 2018Robot frontier lesson2 2018
Robot frontier lesson2 2018Ryuichi Ueda
 
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナーRyuichi Ueda
 
Robot frontier lesson3 2018
Robot frontier lesson3 2018Robot frontier lesson3 2018
Robot frontier lesson3 2018Ryuichi Ueda
 
Robot frontier lesson1 2018
Robot frontier lesson1 2018Robot frontier lesson1 2018
Robot frontier lesson1 2018Ryuichi Ueda
 
博士論文本審査スライド
博士論文本審査スライド博士論文本審査スライド
博士論文本審査スライドRyuichi Ueda
 
Robot frontier lesson3
Robot frontier lesson3Robot frontier lesson3
Robot frontier lesson3Ryuichi Ueda
 

What's hot (11)

確率ロボティクス第二回
確率ロボティクス第二回確率ロボティクス第二回
確率ロボティクス第二回
 
確率ロボティクス第三回
確率ロボティクス第三回確率ロボティクス第三回
確率ロボティクス第三回
 
確率ロボティクス第11回
確率ロボティクス第11回確率ロボティクス第11回
確率ロボティクス第11回
 
Robot frontier lesson1
Robot frontier lesson1Robot frontier lesson1
Robot frontier lesson1
 
Robot frontier lesson2
Robot frontier lesson2Robot frontier lesson2
Robot frontier lesson2
 
Robot frontier lesson2 2018
Robot frontier lesson2 2018Robot frontier lesson2 2018
Robot frontier lesson2 2018
 
日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー日本ロボット学会第139回ロボット工学セミナー
日本ロボット学会第139回ロボット工学セミナー
 
Robot frontier lesson3 2018
Robot frontier lesson3 2018Robot frontier lesson3 2018
Robot frontier lesson3 2018
 
Robot frontier lesson1 2018
Robot frontier lesson1 2018Robot frontier lesson1 2018
Robot frontier lesson1 2018
 
博士論文本審査スライド
博士論文本審査スライド博士論文本審査スライド
博士論文本審査スライド
 
Robot frontier lesson3
Robot frontier lesson3Robot frontier lesson3
Robot frontier lesson3
 

More from Ryuichi Ueda

第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライドRyuichi Ueda
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックRyuichi Ueda
 
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話シェル芸勉強会と会場の話
シェル芸勉強会と会場の話Ryuichi Ueda
 
移動ロボットのナビゲーション
移動ロボットのナビゲーション移動ロボットのナビゲーション
移動ロボットのナビゲーションRyuichi Ueda
 
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆Ryuichi Ueda
 
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライドRyuichi Ueda
 
bash(の変な使い方)update
bash(の変な使い方)updatebash(の変な使い方)update
bash(の変な使い方)updateRyuichi Ueda
 
第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニングRyuichi Ueda
 
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Ryuichi Ueda
 
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トークRyuichi Ueda
 
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロRyuichi Ueda
 
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習Ryuichi Ueda
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018Ryuichi Ueda
 
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018Ryuichi Ueda
 
第34回シェル芸勉強会
第34回シェル芸勉強会第34回シェル芸勉強会
第34回シェル芸勉強会Ryuichi Ueda
 
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」Ryuichi Ueda
 
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライドRyuichi Ueda
 
第31回シェル芸勉強会スライド
第31回シェル芸勉強会スライド第31回シェル芸勉強会スライド
第31回シェル芸勉強会スライドRyuichi Ueda
 
direct use of particle filters for decision making
direct use of particle filters for decision makingdirect use of particle filters for decision making
direct use of particle filters for decision makingRyuichi Ueda
 
電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!Ryuichi Ueda
 

More from Ryuichi Ueda (20)

第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド第27回ロボティクスシンポジアスライド
第27回ロボティクスシンポジアスライド
 
シェル・ワンライナー160本ノック
シェル・ワンライナー160本ノックシェル・ワンライナー160本ノック
シェル・ワンライナー160本ノック
 
シェル芸勉強会と会場の話
シェル芸勉強会と会場の話シェル芸勉強会と会場の話
シェル芸勉強会と会場の話
 
移動ロボットのナビゲーション
移動ロボットのナビゲーション移動ロボットのナビゲーション
移動ロボットのナビゲーション
 
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
 
第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド第45回シェル芸勉強会オープニングスライド
第45回シェル芸勉強会オープニングスライド
 
bash(の変な使い方)update
bash(の変な使い方)updatebash(の変な使い方)update
bash(の変な使い方)update
 
第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング第41回シェル芸勉強会 午後オープニング
第41回シェル芸勉強会 午後オープニング
 
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
 
20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク20181113_子ども夢ロボット&トーク
20181113_子ども夢ロボット&トーク
 
第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ第37回シェル芸勉強会イントロ
第37回シェル芸勉強会イントロ
 
シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習シェル芸勉強会にみる、コミュニティを通じたIT学習
シェル芸勉強会にみる、コミュニティを通じたIT学習
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
 
poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018poster of PFoE used in ICRA 2018
poster of PFoE used in ICRA 2018
 
第34回シェル芸勉強会
第34回シェル芸勉強会第34回シェル芸勉強会
第34回シェル芸勉強会
 
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
 
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
 
第31回シェル芸勉強会スライド
第31回シェル芸勉強会スライド第31回シェル芸勉強会スライド
第31回シェル芸勉強会スライド
 
direct use of particle filters for decision making
direct use of particle filters for decision makingdirect use of particle filters for decision making
direct use of particle filters for decision making
 
電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!電子工作で光で動くロボットをつくろう!
電子工作で光で動くロボットをつくろう!
 

確率ロボティクス第八回