SlideShare a Scribd company logo
深層
強化学習
Naoto Yoshida / GROOVE X
2017-Feb-25
自己紹介・会社紹介
自己紹介
名前: 吉田 尚人
Twitter : Ugo-Nama @movingsloth
所属:GROOVE X 株式会社
夢:動物ロボットをつくりあげること
※ 一時期,OISTにいました (^o^)
創業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/
ソフトウェア・エレキ・メカ・デザイン
本題の前に:強化学習
強化学習とは何か
エージェントが未知の環境において自律的に行動を決定し,
かつ行動決定規則を学習することで将来に渡る累積報酬を最大化
することをめざす技術
@ ICRA2015, Google Deepmind
エージェント
環境
報酬: r
?
お腹をすかせたハト
エージェント:ハト
時刻
?
報酬: r
方策(行動決定規則)のパラメータに依存
して,取りうる軌道が異なる
やりたいこと
行動
結果
時刻
最大化
方策(行動決定規則)の改善
やりたいこと
報酬: r
?
行動
結果
パラメータ
強化学習の枠組み
● 環境とエージェントの相互作用を考える
● エージェントが環境から受け取るもの
○ 観測:センサの値・入力
○ 報酬:直近の行動に対する評価
● エージェントが出力するもの
○ 行動:モータ出力 etc. (連続値/離散値)
● 目標:累積報酬を最大化
行動: a 観測: o
報酬: r
環境
エージェント
行動決定規則
状態: s,状態遷移ルール: P(s’|s, a)
観測モデル: P(o|s)
0 ≦ γ < 1
方策
強化学習の枠組み
Black Box
● 環境とエージェントの相互作用を考える
● エージェントが環境から受け取るもの
○ 観測:センサの値・入力
○ 報酬:直近の行動に対する評価
● エージェントが出力するもの
○ 行動:モータ出力 etc. (連続値/離散値)
● 目標:累積報酬を最大化
● エージェントは環境に対する事前知識を全く
持たない状態でスタートする エージェント
行動決定規則
0 ≦ γ < 1
※報酬の関数は既知とすることもある
方策
行動: a 観測: o
報酬: r
強化学習がめざすこと
● できるだけ大きな期待報酬和を取るような行動決定規則を見つけること
○ 性能が良い規則を見つける
● できるだけ速く,そのような行動決定規則をみつけること
○ 環境を効率よく探索する
○ 現実的な時間で学習
● 安定的に,行動決定規則がみつかること
○ 変な行動規則にハマってしまわないようにする
時刻
最大化
方策(行動決定規則)の改善
強化学習の使いドコロ
● 入力と出力があって,その評価方法もわかるが,教師データがない
○ だから,人間を超えられる
● エージェントは何度も行動を試すことができる
○ ロボットシミュレータ,実ロボット,ゲーム, web広告 など
○ 足りないデータを補充することができる
● ざっくりと最初の行動決定方針は立てられるが,
どうチューニングすればよいかわからない
○ ロボットの例
パラメータ
行
動
観測
報酬
(状態,状態遷移ルール)
Black Box
行
動
観測
報酬
(状態,状態遷移ルール)
Black Box
?
?
シミュレータ:パラメータ
行動決定器
(方策)
熟考
型
直感
型
行動決定器
MCTSなど
モデルベース
学習:速
不確定度:明示的
可視化:◯
デバッグ:◯
事前知識:◯
転移学習:◯
※↑ シミュレータに依存
行動決定に時間がかかる
モデルフリー
学習:遅
不確定度:非明示的
可視化:✕
デバッグ:✕
事前知識:✕
転移学習:△
行動決定は高速
シミュレーション
モデルベース・モデルフリー強化学習の例
モデルベース
● テーブル関数系(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.
アルゴリズムを選ぶ時に注意すること
● そもそも,強化学習で解く必要がある問題か?
● 環境からの入力はどのようなものか?
○ 離散値 → テーブル関数,総状態数が大きいようだったら近似アルゴリズム
○ 連続値 → ニューラルネットワーク,カーネル法などの近似アルゴリズムが必要
● 環境のシミュレータは利用できるか?
● 環境はマルコフ決定過程(MDP)と言えそうか?
○ 言えなくても性能は向上できる可能性があるが,保証はできない
● 行動はどのように表現するか?
○ 行動の”種”のようなものは利用できるか?
■ 教師あり学習で初期化
■ Dynamic Movement Primitives
強化学習エンジニア???
● 強化学習エンジニアと言える基準は何かと聞かれて回答が難しかった
● 所謂データサイエンティストが新しいアルゴリズムを書くことは殆ど無い
○ scikit-learn, pandas 等のパッケージに放り込む,特徴量を選択する
○ つまり,入力データの作成と結果の評価,アルゴリズムの選択が主にやること
○ (たぶん,このプロセスは自動化できる)
○ そういう意味でいうと, 深層学習はかなり特殊
● ↑の観点からいえば,強化学習”エンジニア”とは
○ 1) 強化学習のpackageを知っている
○ 2) 強化学習アルゴリズムに食わせる ”環境(報酬・行動・入力) ”を構築できる
○ 3) 強化学習アルゴリズムの特徴を知っていて,選択できる
■ 連続行動,離散行動,画像入力 ...
最近のトレンド
● ソフトウェアフレームワーク が公開されはじめた
(Open-AI Gym etc.): モダンなものは Python のみ
● 共通のインターフェース で多様な問題を扱う
○ インターフェースを合わせることで,新たな問題が扱える
https://github.com/wbap/lis
https://universe.openai.com
https://deepmind.com/docum
ents/29/DeepMindLab.pdf https://github.com/erlerobot/gym-gazebo
https://github.com/ugo-nama-k
un/gym_torcs
深層強化学習入門
ちょっと悩ましい・・・という前置き
● 他の深層学習とくらべて,まだ実験段階な要素が多い
○ 報酬の設定
○ スタンダードな解決方法 ?
● 最近は挑戦的なタスク設定ができて派手だが,
どれくらい攻められるかは未知数
○ ハトはすごい
● ロボットの強化学習は,かなり状況が揃ってないと高度なことは難しい
○ シミュレータ,大量生産 or あまりパッとしないタスク
深層強化学習
= 深層学習 + 強化学習 + α
● 深層学習(学習の方法)
○ Adam, RMSProp, 畳み込みニューラルネットワーク , RNN, Boltzmann machine など
● 強化学習(学習の枠組み)
○ Q学習,方策勾配法,Actor-Critic など
● α(深層学習を使って強化学習をするための諸々のテクニック)
○ Async method, Experience replay など
深層強化学習の適用例
Mirowski, Piotr, et al. "Learning to navigate in
complex environments." arXiv preprint
arXiv:1611.03673 (2016).
画像入力でマリオ操作
https://www.youtube.com/watch?v=L4
KBBAwF_bE
https://www.youtube.com/watch?v=J
L8F82qUG-Q
深層強化学習では2つのネットワークを並列に更新していく
● 方策を表現するネットワーク
○ Policy Network
● 方策の性能を評価するネットワーク
○ Value Network
● 性能を評価して,その評価を元に方策の
改善を高速化
○ Value Network の更新速度
<< 方策の更新速度
○ A3C の更新など
● Q学習は非常に特殊な例
○ Policy Network と Value Networkが同一
○ 詳しくは:
■ http://qiita.com/Ugo-Nama/items/08c6a5f6a571335972d5
One-Hot
[1, 0]
連続値ベクトル
[-0.23, 0.88]
● 最も大きな違い:行動が連続ベクトル or 離散
○ 使えるアルゴリズムが変わってくる
■ Q学習は離散行動
○ 深層学習では,離散出力のほうが
学習しやすい傾向
(モデルフリー)深層強化学習の種類
直感
型
パラメータ
One-Hot
[1, 0]
連続値ベクトル
[-0.23, 0.88]
“Vanilla” Policy Gradient
期待値の形に直す
軌道の確率を展開
微分すると,方策に関する項だけ残る
学習は遅い.これに色々理論的な工夫をして高速化
深層強化学習 package
https://github.com/osh/kerlym
https://github.com/matthiasplappert/keras-rl
最近は色々と出てきた
- Keras:
- 連続行動: rllab
- 離散行動: keras-rl, kerlym
- Chainer: ChainerRL
- いろいろ
- scikit-learnほどドキュメント化はされていない
- ハンズオンで実感しよう!
https://github.com/openai/rllab
文献情報
● 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 ← 再版された!
Take Home Message
● 強化学習の使いドコロ
○ 教師データがない場合にも使える
○ シミュレータのある無しが重要
● 深層強化学習はおもしろい
○ その分色々と闇技術
● 近年のモデルベース強化学習をより詳しく知りたい方は
○ 「Model-based 強化学習とその周辺」
■ https://drive.google.com/drive/folders/0BzMTR9k7rE1_d2p0TG15Q0tvZzQ
深層強化学習 Pydata.Okinawa Meetup #22
ワークショップ資料は↓
https://github.com/ugo-nama-kun/pydata_okinawa2017

More Related Content

PDF
強化学習@PyData.Tokyo
PDF
[POStudy]大きなSIerの中で「アジャイルな開発で飯を食う」までの歩み
PDF
[社内セッション]DevOps時代の僕の生き方、働き方
PPTX
20211019 rpa勉強会!「自動化ネタ・rpaネタ・itネタ」ライトニングトーク大会! vol.31
PDF
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
PDF
[DevLOVE関西]大きなSIerの中で「アジャイルな開発で飯を食う」までの歩み
PDF
Netadashi Meetup #3 20170614
PDF
[POStudy ナイトセミナー][夏のLT大祭り2017]SIerにおける自律した組織のツクリカタとプロダクトオーナーシップについて
強化学習@PyData.Tokyo
[POStudy]大きなSIerの中で「アジャイルな開発で飯を食う」までの歩み
[社内セッション]DevOps時代の僕の生き方、働き方
20211019 rpa勉強会!「自動化ネタ・rpaネタ・itネタ」ライトニングトーク大会! vol.31
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
[DevLOVE関西]大きなSIerの中で「アジャイルな開発で飯を食う」までの歩み
Netadashi Meetup #3 20170614
[POStudy ナイトセミナー][夏のLT大祭り2017]SIerにおける自律した組織のツクリカタとプロダクトオーナーシップについて

What's hot (15)

PDF
20201130 rpal tvol26
PDF
進撃の受託開発
PDF
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
PPTX
Pythonの10年と今、これから
PPTX
[RSGT2018]「組織の中で自分を活かす生き方」のはじめかた
PPTX
【修正版】Django + SQLAlchemy: シンプルWay
PDF
DX Suite & UiPath さっくり読み取りさっくり連携
PPTX
CDH4->5 update苦労話
PDF
今からはじめる! Linuxコマンド入門
PPT
XP寺子屋 デザインパターン入門
PDF
20150603 JAWS-UG Tokyo AWS Summit
PPTX
H2O Waveを使ったAIアプリケーション作成入門
PDF
20180826 learn languages 2018 in odc
PPTX
H2Oを使ったノーコードのAutoML
PPTX
XAI (説明可能なAI) の必要性
20201130 rpal tvol26
進撃の受託開発
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
Pythonの10年と今、これから
[RSGT2018]「組織の中で自分を活かす生き方」のはじめかた
【修正版】Django + SQLAlchemy: シンプルWay
DX Suite & UiPath さっくり読み取りさっくり連携
CDH4->5 update苦労話
今からはじめる! Linuxコマンド入門
XP寺子屋 デザインパターン入門
20150603 JAWS-UG Tokyo AWS Summit
H2O Waveを使ったAIアプリケーション作成入門
20180826 learn languages 2018 in odc
H2Oを使ったノーコードのAutoML
XAI (説明可能なAI) の必要性
Ad

Viewers also liked (20)

PDF
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
PDF
PFN Spring Internship Final Report: Autonomous Drive by Deep RL
PPTX
Deep parking
PDF
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
PDF
Chainer, Cupy入門
PPTX
Chainerを使って細胞を数えてみた
PPTX
[DL輪読会]Semi supervised qa with generative domain-adaptive nets
PPTX
[DL輪読会]Unsupervised Cross-Domain Image Generation
PDF
[DL輪読会]StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generat...
PDF
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
PDF
Chainerチュートリアル -v1.5向け- ViEW2015
PPTX
[DL輪読会]Understanding deep learning requires rethinking generalization
PDF
On the benchmark of Chainer
PDF
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
PDF
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
PDF
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
PDF
マシンパーセプション研究におけるChainer活用事例
PDF
Chainer Update v1.8.0 -> v1.10.0+
PDF
A3Cという強化学習アルゴリズムで遊んでみた話
PDF
これから始める人の為のディープラーニング基礎講座
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
PFN Spring Internship Final Report: Autonomous Drive by Deep RL
Deep parking
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
Chainer, Cupy入門
Chainerを使って細胞を数えてみた
[DL輪読会]Semi supervised qa with generative domain-adaptive nets
[DL輪読会]Unsupervised Cross-Domain Image Generation
[DL輪読会]StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generat...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
Chainerチュートリアル -v1.5向け- ViEW2015
[DL輪読会]Understanding deep learning requires rethinking generalization
On the benchmark of Chainer
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
マシンパーセプション研究におけるChainer活用事例
Chainer Update v1.8.0 -> v1.10.0+
A3Cという強化学習アルゴリズムで遊んでみた話
これから始める人の為のディープラーニング基礎講座
Ad

Similar to 深層強化学習 Pydata.Okinawa Meetup #22 (20)

PDF
缶詰屋さんの課題解決にスクラムを使ってみた
PPTX
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
PDF
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
PDF
Contextual package
PDF
ここがスゴい(変だ)よ!Git lab!
PDF
CV勉強会CVPR2019読み会: Video Action Transformer Network
PPTX
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
PDF
クラウド登場で変化した受託案件と開発スタイルのRe-design~WebSig1日学校2013_受託の未来コース_後藤 和貴先生
PDF
営業現場で困らないためのディープラーニング
PPTX
ビープラウドの紹介と渋谷区千駄ヶ谷5-32-7に漂着するまでの道のり
PDF
新卒採用を、まっとうに ー面接者への通信簿ー
PDF
CoderDojo ひばりヶ丘の取り組み
PDF
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
PDF
Java script testing framework for around html5 studies-
PDF
機械学習でテスト実行を効率化するLaunchable.pdf
PDF
How you can speed up serverless development by local
PDF
JAWS-UG 初心者支部_20151127
PPT
Jag神戸3(共有用)
PPTX
Developers Summit 2019 Summer(デブサミ2019夏)
PDF
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
缶詰屋さんの課題解決にスクラムを使ってみた
ゲーム事業×データ分析 ドリコムにおける組織と仕事の組み立て方
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
Contextual package
ここがスゴい(変だ)よ!Git lab!
CV勉強会CVPR2019読み会: Video Action Transformer Network
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
クラウド登場で変化した受託案件と開発スタイルのRe-design~WebSig1日学校2013_受託の未来コース_後藤 和貴先生
営業現場で困らないためのディープラーニング
ビープラウドの紹介と渋谷区千駄ヶ谷5-32-7に漂着するまでの道のり
新卒採用を、まっとうに ー面接者への通信簿ー
CoderDojo ひばりヶ丘の取り組み
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
Java script testing framework for around html5 studies-
機械学習でテスト実行を効率化するLaunchable.pdf
How you can speed up serverless development by local
JAWS-UG 初心者支部_20151127
Jag神戸3(共有用)
Developers Summit 2019 Summer(デブサミ2019夏)
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践

深層強化学習 Pydata.Okinawa Meetup #22