強化学習@PyData.Tokyo

42
強化 学習 Naoto Yoshida / GROOVE X 2017-Jan-27 のはなしをまるっと

Transcript of 強化学習@PyData.Tokyo

強化学習

Naoto Yoshida / GROOVE X2017-Jan-27

のはなしをまるっと

自己紹介・会社紹介

自己紹介

名前: 吉田 尚人

Twitter : Ugo-Nama @movingsloth

所属:GROOVE X 株式会社

夢:動物ロボットをつくりあげること

創業2年目のロボット・スタートアップ@人形町 ロボット作ってます!

企業名

設立年月

GROOVE X株式会社

2015年11月

従業員数24名、うちエンジニア16名

(2017年1月現在)

事業内容 新世代の家庭用ロボット開発事業

会社概要

http://www.groove-x.com/

GROOVE Xについて

→ 今後2年でメンバー数3倍になる予定

STRICTLY CONFIDENTIAL  |

GROOVE Xのロボットとチーム

“かわいさ”に重点をおいたロボットを自社開発中!

    GROOVE Xのロボット GROOVE Xのチーム

会話

完璧なタスク遂行

かわいいは正義まだまだ募集中!!

http://www.groove-x.com/

ソフトウェア・エレキ・メカ・デザイン

本題:強化学習

強化学習を学ぶことは困難だ!

推定予測

計画制御

強化学習

最近は統合が進む: Kappen, Hilbert J., Vicenç Gómez, and Manfred Opper. "Optimal control as a graphical model inference problem." Machine learning 87.2 (2012): 159-182.

強化学習とは何か

エージェントが未知の環境において自律的に行動を決定し,

かつ行動決定規則を学習することで将来に渡る累積報酬を最大化

することをめざす技術

@ ICRA2015, Google Deepmind

エージェント

環境

報酬: r

?

時刻

?

報酬: r

方策(行動決定規則)のパラメータに依存して,取りうる軌道が異なる

やりたいこと

時刻

最大化

方策(行動決定規則)の改善

やりたいこと

?

報酬: r

※ 独立同時分布,Markov性,Training・Validation・Test datasetの存在などのキモチイイ前提が一旦無くなります

強化学習の枠組み● 環境とエージェントの相互作用を考える

● エージェントが環境から受け取るもの○ 観測:センサの値・入力

○ 報酬:直近の行動に対する評価

● エージェントが出力するもの○ 行動:モータ出力 etc.

● 目標:累積報酬を最大化行動: a 観測: o

報酬: r

環境

エージェント行動決定規則

状態: s,状態遷移ルール : P(s’|s, a)観測モデル: P(o|s)

0 ≦ γ < 1

方策

強化学習の枠組み

行動: a 観測: o報酬: r

Black Box● 環境とエージェントの相互作用を考える

● エージェントが環境から受け取るもの○ 観測:センサの値・入力

○ 報酬:直近の行動に対する評価

● エージェントが出力するもの○ 行動:モータ出力 etc. (連続値/離散値)

● 目標:累積報酬を最大化

● エージェントは環境に対する事前知識を全く

持たない状態でスタートする エージェント行動決定規則

0 ≦ γ < 1

※報酬の関数は既知とすることもある

方策

強化学習の枠組み

行動: a 観測: o報酬: r

Black Box● 環境とエージェントの相互作用を考える

● エージェントが環境から受け取るもの○ 観測:センサの値・入力

○ 報酬:直近の行動に対する評価

● エージェントが出力するもの○ 行動:モータ出力 etc. (連続値/離散値)

● 目標:累積報酬を最大化

● エージェントは環境に対する事前知識を全く

持たない状態でスタートする エージェント行動決定規則

※報酬の関数は既知とすることもある

0 ≦ γ < 1

方策

もう少し,目的について

γ が小さいγ = 0

γ が大きいγ = 0.999

γ (割引率)が大きいほどより遠い未来を加味して行動を決定できるが,そのかわり学習時に長い時間が必要となる

Credit Assignment Problem

-1

期待値を計算

時刻

これがより大きな値になるように学習させる

Black Box

真の確率にはアクセスできない

実際の目的関数

実際は,パラメータを持つ

行動決定規則

を決めた上での   の期待値を

目的関数にし,これを最大化

実際は,パラメータを持つ

行動決定規則

を決めた上での   の期待値を

目的関数にし,これを最大化

期待値を計算

これがより大きな値になるように学習させる

真の目的関数に直接アクセスできない→ 目的関数を推定する必要がある→ その目的関数を使って,行動を最適化

実際の目的関数

真の確率にはアクセスできない

実際は,パラメータを持つ

行動決定規則

を決めた上での   の期待値を

目的関数にし,これを最大化

期待値を計算

これがより大きな値になるように学習させる

真の目的関数に直接アクセスできない→ 目的関数を推定する必要がある→ その目的関数を使って,行動を最適化

2つの最適化を回すことがポピュラー● 方策評価● 方策改善

実際の目的関数

真の確率にはアクセスできない

実際は,パラメータを持つ

行動決定規則

を決めた上での   の期待値を

目的関数にし,これを最大化

真の目的関数に直接アクセスできない→ 目的関数を推定する必要がある→ その目的関数を使って,行動を最適化

2つの最適化を回すことがポピュラー● 方策評価● 方策改善

MDP環境下では,Value Function実際の目的関数

真の確率にはアクセスできない

強化学習の種類

行動 観測報酬

(状態,状態遷移ルール )

エージェント

Black Box

↑目的関数を計算する方法で分類

強化学習の種類

大きく,2つの強化学習がある

● モデルベース強化学習○ モデルを作って間接的に近似

● モデルフリー強化学習○ モデル無しで直接的に近似

行動 観測報酬

(状態,状態遷移ルール )

エージェント

Black Box

↑目的関数を計算する方法で分類

行動

観測報酬

(状態,状態遷移ルール)

Black Box

行動

観測報酬

(状態,状態遷移ルール)

Black Box

?

?

行動決定器MCTSなど

シミュレーション

モデルベース

学習:速不確定度:明示的可視化:◯デバッグ:◯事前知識:◯転移学習:◯※↑ シミュレータに依存

行動決定に時間がかかる

モデルフリー

学習:遅不確定度:非明示的可視化:✕デバッグ:✕事前知識:✕転移学習:△

行動決定は高速

シミュレータ:パラメータ

パラメータ

行動決定器(方策)

行動

観測報酬

(状態,状態遷移ルール)

Black Box

行動

観測報酬

(状態,状態遷移ルール)

Black Box

?

?

シミュレータ:パラメータ

パラメータ

行動決定器(方策)

熟考型

直感型

行動決定器MCTSなど

シミュレーション

モデルベース

学習:速不確定度:明示的可視化:◯デバッグ:◯事前知識:◯転移学習:◯※↑ シミュレータに依存

行動決定に時間がかかる

モデルフリー

学習:遅不確定度:非明示的可視化:✕デバッグ:✕事前知識:✕転移学習:△

行動決定は高速

“Vanilla” Policy Gradient

Note: 確率的なサンプリングを含む目的関数の勾配を取ると,よく出てくる

期待値の形に直す

軌道の確率を展開

微分すると,方策に関する項だけ残る

学習は遅い.これに色々理論的な工夫をして高速化

モデルベース・モデルフリー強化学習の例

モデルベース

● テーブル関数系(MDP)

○ R-max, Dyna● カーネル系(MDP)

○ PILCO(Gaussian Process)

● 深層学習系

○ Embed to Control○ 深層PILCO

● 最適強化学習

○ AIXI (理論的存在, Bayesian RL)

● 特殊な例:○ Alpha Go (モデルが既知)

モデルフリー

● Markov 決定過程(MDP, 後述)を仮定

○ Q学習,遅延Q学習,SARSA○ 初期の Actor-Critic

● 深層Q学習:Q学習 + DNN○ DQN, double DQN, etc.

● 方策勾配法(Policy Gradient)○ MDPを超えて強化学習を扱える

● その他

○ TRPO● A3C:Actor-Critic + DNN + α

○ PGを大規模化し,発展させたもの

○ Asynchronous Advantage Actor Critic

モデルベース強化学習は現状,小規模な問題に適用される例が多い

深層学習の登場によって,テレビゲームや自動操縦のような複雑なタスクも適用可能になってきた

使う時に注意すべきパラメータ● 強化学習アルゴリズムにだいたいある重要なパラメータ

○ 減衰率パラメータ: γ■ エージェントの最終的な頭の良さを決める.大きいと学習は遅い

○ 学習率パラメータ: α■ 学習のはやさを決める.十分小さい必要がある

○ 探索パラメータ

■ エージェントがどれだけ積極的に冒険するかを決める

■ アルゴリズムによって性質が大きく異なる

● その他,深層強化学習をする時は深層学習のパラメータ設定が必要○ モデルの大きさ

○ 特徴量抽出

○ 事前処理

○ etc. etc.

(前提なし)強化学習問題の注意・難しさ● エージェントがアクセスできる情報に制約がある

○ 縛り付き機械学習というような考え方もとっつきにくい

■ ”エージェントと環境の相互作用 ”という考え方は機械学習ではあまりしない

● エージェントに流れ込んでくるデータは独立同時分布ではない○ 系列データとも微妙に意味が異なる

○ 系列データは,各系列については独立

● 入ってくるデータは全てテストデータ(?)であるが,

しかし過去手に入れたデータ(訓練データ?)と独立ではない

● エージェントが自分で環境から情報を取ってこなければならない○ 探索と利用のジレンマ( Exploration-Exploitation)

(前提なし)強化学習問題の注意・難しさ

そこで,色々な仮定を入れて議論できるようにする

仮定

● タスク設定の仮定

○ Episodic Task:エピソードタスク■ 終了条件が存在し,実験を打ち切る

■ 各軌道が独立となる

■ 特に重要なもの

● Multi-Armed Bandit Problem

○ Continual Task:継続タスク■ 終了条件が存在しない

仮定:Markov決定過程

● Markov Decision Process: MDP○ 強化学習を語る上で頻出する,環境に関する仮定

○ エージェントの観測は,環境の状態そのものであるという仮定

■ o = s,

■ 報酬は

○ 直感的には■ 各ステップに与えられている情報だけから,次のステップを予測することができる

● 例)ダイナミクスがNewton力学 + ノイズで記述可能

○ 特性

■ 最適な方策が存在し,それと同等な方策が 決定論的な関数↓の形でも表される

■ Q学習などの効率的な学習手法が導出できる

Torque

ロボットの強化学習● ロボットの強化学習は難しい

○ 試行回数に限界がある(ロボットは壊れる)

○ 1つのロボットが収集できるデータには限界がある

■ 100万回も試行できない

○ 確立したロボティクスの分野に入り込む余地がない

■ SLAM, Planning, 確立した技術が成立している

○ ロボットの計算リソースは限られている

ロボットの強化学習● ロボットの強化学習は難しい

○ 試行回数に限界がある(ロボットは壊れる)

○ 1つのロボットが収集できるデータには限界がある

■ 100万回も試行できない

○ 確立したロボティクスの分野に入り込む余地がない

■ SLAM, Planning, 確立した技術が成立している

○ ロボットの計算リソースは限られている

学習時,最初は壊れても良いロボットは大量生産される品質は管理される

Levine, Sergey, et al. "Learning hand-eye coordination for robotic grasping with deep learning and large-scale data collection." arXiv preprint arXiv:1603.02199 (2016).

https://www.youtube.com/watch?v=iaF43Ze1oeI

ロボットの強化学習● ロボットの強化学習は難しい

○ 試行回数に限界がある(ロボットは壊れる)

○ 1つのロボットが収集できるデータには限界がある

■ 100万回も試行できない

○ 確立したロボティクスの分野に入り込む余地がない

■ SLAM, Planning, 確立した技術が成立している

○ ロボットの計算リソースは限られている

学習時,最初は壊れても良いロボットは大量生産される品質は管理される

SLAMはMLE・MAP・Bayes推定Planningは状態(モデルパラメータ)が推定されれば可能強化学習で同時に解く試みもある

Mirowski, Piotr, et al. "Learning to navigate in complex environments." arXiv preprint arXiv:1611.03673 (2016).

https://www.youtube.com/watch?v=JL8F82qUG-Q

ロボットの強化学習● ロボットの強化学習は難しい

○ 試行回数に限界がある(ロボットは壊れる)

○ 1つのロボットが収集できるデータには限界がある

■ 100万回も試行できない

○ 確立したロボティクスの分野に入り込む余地がない

■ SLAM, Planning, 確立した技術が成立している

○ ロボットの計算リソースは限られている

学習時,最初は壊れても良いロボットは大量生産される品質は管理される

SLAMはMLE・MAP・Bayes推定Planningは状態(モデルパラメータ)が推定されれば可能強化学習で同時に解く試みもある

クラウド・無線通信・小型 PC巨大なネットワークで画像認識させながらロボットをリアルタイムで動かすくらいは可能据え置きシステムなら 計算リソースは無尽蔵

http://jabelone.com.au/blog/make-autonomous-car-code-included/

https://www.youtube.com/watch?v=tFwCyHdAWf0

ロボットの強化学習● ロボットの強化学習は難しい

○ 試行回数に限界がある(ロボットは壊れる)

○ 1つのロボットが収集できるデータには限界がある

■ 100万回も試行できない

○ 確立したロボティクスの分野に入り込む余地がない

■ SLAM, Planning, 確立した技術が成立している

○ ロボットの計算リソースは限られている

学習時,最初は壊れても良いロボットは大量生産される品質は管理される

SLAMは最尤推定・Bayes推定Planningは状態(モデルパラメータ)が推定されれば可能強化学習で同時に解く試みもある

クラウド・無線通信・小型 PC巨大なネットワークで画像認識させながらロボットをリアルタイムで動かすくらいは可能据え置きシステムなら 計算リソースは無尽蔵

最近のトレンド● ソフトウェアフレームワーク が公開されはじめた

(Open-AI Gym etc.): モダンなものは Python のみ

● 共通のインターフェース で多様な問題を扱う

○ インターフェースを合わせることで,新たな問題が扱える

https://github.com/erlerobot/gym-gazebo

https://github.com/wbap/lis

https://universe.openai.com

https://deepmind.com/documents/29/DeepMindLab.pdf

https://github.com/ugo-nama-kun/gym_torcs

文献情報

● Reinforcement Learning State-of-the-Art○ Wiering, Marco, van Otterlo, Martijn (Eds.), 2012

● Sutton & Barto 本 2.0○ 近日発売予定?

○ https://webdocs.cs.ualberta.ca/~sutton/book/bookdraft2016sep.pdf

● これからの強化学習○ 牧野 貴樹, 澁谷 長史, 白川 真一 (著, 編集), 2016

● 強くなるロボティック・ゲームプレイヤーの作り方○ 八谷 大岳, 杉山 将 (著), 2008 ← 再版された!

Yan Duan, Xi Chen, Rein Houthooft, John Schulman, Pieter Abbeel. "Benchmarking Deep Reinforcement Learning for Continuous Control". Proceedings of the 33rd International Conference on Machine Learning (ICML), 2016.

ちいさな王子(星の王子様)より

もしきみがぼくのことをなつかせてくれれば,ぼくの暮らしはお日さまに照らされたように

なる.ほかの足音とはちがう足音を,ききわけられるようになるんだ.ほかの足音がした

ら,ぼくは穴のなかにもぐっちゃう.きみの足音が聞こえたら,まるで音楽が聞こえてきた

みたいに,穴から出ていくよ.

(略)あそこ,麦畑になってるでしょ?ぼくはパンなんか食べない.だから麦なんか役に立

たない.麦畑を見たって何も感じないんだ.さびしいことだよ!でも,きみは金色の髪色

をしてるね.だから,きみがぼくのことをなつかせてくれたら,とっても良いと思うんだ!

麦も金色だから,麦畑を見ればきみのことが思い出せるでしょ.それにぼく,麦畑に吹く

風の音がきっと好きになるよ・・・

特徴の選択フィルタリング

後天的な学習 学習の汎化・関数近似・情報の圧縮(ちいさな王子 21節 光文社古典新訳文庫より)特徴を選択する Drive : Reward

予測

Take Home Message● 強化学習にアクセスするのはなかなか難しい

● 深層学習と,強化学習は全然別のこと○ 強化学習は学習の「枠組み」

○ 深層学習はニューラルネットワークという「やり方」

● モデルベース強化学習 と モデルフリー強化学習 がある○ それぞれに強さ・弱点がある

● ロボットの強化学習も,よく考えれば適用できそうな場面が増えてきた○ よく考えなければ,難しい.まだまだ研究が必要.量産ロボットの可能性

● 近年のモデルベース強化学習をより詳しく知りたい方は○ 「Model-based 強化学習とその周辺」

■ https://drive.google.com/drive/folders/0BzMTR9k7rE1_d2p0TG15Q0tvZzQ