SlideShare a Scribd company logo
2019/01/25
マインクラフトで深層強化学習
ハンズオン
(株)Preferred Networks
梅澤慶介
2018/02/23
自己紹介
2
• 梅澤 慶介
• 金融マーケット予測モデルの研究開発
@AlpacaJapan
• Chainer Evangelist @Preferred Networks
• Twitter:@kmechann
• GitHub:@keisuke-umezawa
2019/01/25
Alpaca Forecast AI Prediction Matrix
3
• 最近、Bloombergアプリとしてリリースした金融商品予測システム
• 30分後に価格が上がるか下がるか予測する
2019/01/25
Agenda
1. 強化学習とは
2. Chainer/ChainerRLの紹介
3. 本日のハンズオンについて
4. Chainer User Groupの紹介
4
2019/01/25
強化学習とは
5
2019/01/25
強化学習とは
6
• エージェント(学習の主体)が環境から得られる状態に対して、
報酬を最大化するように行動を学習する
• 何が嬉しいかというと、正答データがない問題でも報酬を正し
く定義できれば問題を解くことができる
環境
状態
行動
報酬
2019/01/25
強化学習の学習過程
7
• 強化学習でブロック崩しを
学習する様子
• 環境:ゲーム
• 状態:画像
• 報酬:崩したプロックの数
• エージェント:ゲームAI
• 行動:板の移動
• 最初はすぐに失敗するが、120回を超
えると人間並みの腕並み
• 240回を超えると…
Google DeepMinds: Google DeepMind's Deep Q-learning playing Atari Breakout (https://youtu.be/V1eYniJ0Rnk)
2019/01/25
強化学習の応用例
• ロボット
• 自動運転
8
2019/01/25
強化学習の応用例
• ロボット
• 自動運転
9
2019/01/25
深層強化学習によるバラ積みロボット(国際ロボット展2015)
10
• 深層学習で教示レスに動作を獲得した
2019/01/25
深層強化学習によるドローン制御 (CEATEC'16)
11
2019/01/25
強化学習の応用例
• ロボット
• 自動運転
12
2019/01/25
深層強化学習による自動運転 (CES2016)
13
2018/02/23
Chainer/ChainerRLの紹介
14
2018/11/25
Chainer
• Chainerとは (http://chainer.org/)
• Preferred Networks製Deep Learningフレームワーク
15
2018/11/25
Chainer
16
• Google社製TensorFlowなどの同類
2018/11/25
拡大するChainerファミリー
17
Chainer UI
Chainer Chemistry
強化学習
画像認識
可視化
グラフ構造
大規模分散
Menoh
推論特化
強化学習?
ChainerRL: 深層強化学習ライブラリ
エージェントが環境とのインタラクションを通じて報酬を最大化
する行動を学習する
ChainerRLによる強化学習の流れ
1. 環境を構築
ChainerRLによる強化学習の流れ
2. エージェントを定義
ChainerRLによる強化学習の流れ
3. インタラクションさせる
実装済みのアルゴリズム
• Deep Q-Network (Mnih et al., 2015)
• Double DQN (Hasselt et al., 2016)
• Normalized Advantage Function (Gu et al., 2016)
• (Persistent) Advantage Learning (Bellemare et al., 2016)
• Deep Deterministic Policy Gradient (Lillicrap et al., 2016)
• SVG(0) (Heese et al., 2015)
• Asynchronous Advantage Actor-Critic (Mnih et al., 2016)
• Asynchronous N-step Q-learning (Mnih et al., 2016)
• Actor-Critic with Experience Replay (Wang et al., 2017) <- NEW!
• Path Consistency Learning (Nachum et al., 2017) <- NEW!
• etc.
2018/02/23
ハンズオンをはじめよう!
23
2018/11/25
今回の強化学習の問題
24
• MarLo-FindTheGoal-v0
• 目的
• find the goal 
• 報酬
• 1stepごとに-0.01
• 最大で250step
• ゴールにダド率いたら1.0
• 制限時間を超えたら-0.1
2018/11/25
深層強化学習をチョット詳しく
25
• Deep Q-Network (DQN)
• 強化学習では、状態に対する各行動の評価値をQ値と呼び、
それを用いる手法をQ学習と呼ぶ
• Q値を表現する関数をQ関数と呼び、それをDeep Neural
Networkで表現するのでDeep Q-Networkという。
状態
Convolutional
Neural Network
行動評価
前進
後退
右回
左回
2018/11/25
DQNの工夫
26
• Experience Replay
• experienceに蓄積した結果をランダムで学習データにつかう
Experience
(状態 , 行動 , 報酬)
, 後退 , -0.1
, 右回 , -0.1
, 前進 , 1.0
, 前進 , -0.1
Replay
2018/11/25
ハンズオンで変更するパラメータ
27
Experience
(状態 , 行動 , 報酬)
, 後退 , -0.1
, 右回 , -0.1
, 前進 , 1.0
, 前進 , -0.1
Replay Q関数
環境
状態
行動
報酬
2018/11/25
ハンズオンで変更するパラメータ
28
Experience
(状態 , 行動 , 報酬)
, 後退 , -0.1
, 右回 , -0.1
, 前進 , 1.0
, 前進 , -0.1
Replay Q関数
環境
状態
行動
報酬
1. Experience Replayの種類
2. Agentの種類
3. Q関数の種類
2019/01/25
環境構築
• 今回のハンズオンは告知したように、あらかじめ以下のどちら
かの方法で環境構築をお願いしています
• sshを使わない方法
• https://qiita.com/ikeyasu/private/d6e587126a54ce559604
• sshを使う方法
• https://qiita.com/keisuke-umezawa/items/fcf5d00474e244217a5e
29
2018/11/25
ハンズオン開始!
30
• https://notebooks.azure.com/keisuke-umezawa/projects/marlo
2018/11/25
おまけ:新しいシミュレーション環境を作る
31
• https://notebooks.azure.com/keisuke-umezawa/projects/marlo-new-
env
2018/02/23
chug (Chainer User Group)の紹介
32
2018/02/23
Chainer User Groupの紹介
• connpass
• Slack chainer-jp
• Twitter @chug_jp
• 活動内容
• Meetup・ハンズオンの開催
• Chainerに関する情報・ドキュメントの拡充
• Web チュートリアルの作成
• 一緒に活動できる方を募集しています
!Slack #chug-jp-management に是非
33
2019/01/25

More Related Content

Similar to 20190125 Minecraftで深層強化学習 ハンズオン

楽天ラクマの組織とシステムをマイクロサービス化しようとした話
楽天ラクマの組織とシステムをマイクロサービス化しようとした話楽天ラクマの組織とシステムをマイクロサービス化しようとした話
楽天ラクマの組織とシステムをマイクロサービス化しようとした話
Rakuten Commerce Tech (Rakuten Group, Inc.)
 
「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法
「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法
「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法ブレークスルーパートナーズ 赤羽雄二
 
大企業 vs ベンチャー
大企業 vs ベンチャー大企業 vs ベンチャー
大企業 vs ベンチャー
Keisuke Umezawa
 
20180221 chainer on_colaboratory_at_gdcjp
20180221 chainer on_colaboratory_at_gdcjp20180221 chainer on_colaboratory_at_gdcjp
20180221 chainer on_colaboratory_at_gdcjp
Hirokuni Uchida
 
EMS とは?-めざせ! EMS チョットワカル-
EMS とは?-めざせ! EMS チョットワカル-EMS とは?-めざせ! EMS チョットワカル-
EMS とは?-めざせ! EMS チョットワカル-
祥子 松山
 
AbemaTVにおける推薦システム
AbemaTVにおける推薦システムAbemaTVにおける推薦システム
AbemaTVにおける推薦システム
cyberagent
 
20180628 chainer on_colaboratory
20180628 chainer on_colaboratory20180628 chainer on_colaboratory
20180628 chainer on_colaboratory
Keisuke Umezawa
 
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
Rakuten Group, Inc.
 
今日から始める機械学習〜はてなの事例〜
今日から始める機械学習〜はてなの事例〜今日から始める機械学習〜はてなの事例〜
今日から始める機械学習〜はてなの事例〜
syou6162
 
ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測
澪標アナリティクス
 
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
Rakuten Group, Inc.
 

Similar to 20190125 Minecraftで深層強化学習 ハンズオン (11)

楽天ラクマの組織とシステムをマイクロサービス化しようとした話
楽天ラクマの組織とシステムをマイクロサービス化しようとした話楽天ラクマの組織とシステムをマイクロサービス化しようとした話
楽天ラクマの組織とシステムをマイクロサービス化しようとした話
 
「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法
「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法
「デジタルヘルスコネクト」 ワークショップ第1回 リーンスタートアップの考え方と具体的なアプローチ、顧客ニーズの把握方法
 
大企業 vs ベンチャー
大企業 vs ベンチャー大企業 vs ベンチャー
大企業 vs ベンチャー
 
20180221 chainer on_colaboratory_at_gdcjp
20180221 chainer on_colaboratory_at_gdcjp20180221 chainer on_colaboratory_at_gdcjp
20180221 chainer on_colaboratory_at_gdcjp
 
EMS とは?-めざせ! EMS チョットワカル-
EMS とは?-めざせ! EMS チョットワカル-EMS とは?-めざせ! EMS チョットワカル-
EMS とは?-めざせ! EMS チョットワカル-
 
AbemaTVにおける推薦システム
AbemaTVにおける推薦システムAbemaTVにおける推薦システム
AbemaTVにおける推薦システム
 
20180628 chainer on_colaboratory
20180628 chainer on_colaboratory20180628 chainer on_colaboratory
20180628 chainer on_colaboratory
 
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
 
今日から始める機械学習〜はてなの事例〜
今日から始める機械学習〜はてなの事例〜今日から始める機械学習〜はてなの事例〜
今日から始める機械学習〜はてなの事例〜
 
ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測
 
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
楽天におけるビッグデータを対象としたデータサイエンス&AIの最新応用事例
 

More from Keisuke Umezawa

C2CマーケットプレイスでのMLの応用
C2CマーケットプレイスでのMLの応用C2CマーケットプレイスでのMLの応用
C2CマーケットプレイスでのMLの応用
Keisuke Umezawa
 
Chainerを使ってプロダクション環境上で推論するには
Chainerを使ってプロダクション環境上で推論するにはChainerを使ってプロダクション環境上で推論するには
Chainerを使ってプロダクション環境上で推論するには
Keisuke Umezawa
 
20181215 Chainer User Group 「chug」のご紹介
20181215 Chainer User Group 「chug」のご紹介20181215 Chainer User Group 「chug」のご紹介
20181215 Chainer User Group 「chug」のご紹介
Keisuke Umezawa
 
Chainer User Group 「chug」
Chainer User Group 「chug」 Chainer User Group 「chug」
Chainer User Group 「chug」
Keisuke Umezawa
 
Start to Contribute to Chainer!
Start to Contribute to Chainer!Start to Contribute to Chainer!
Start to Contribute to Chainer!
Keisuke Umezawa
 
プログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowプログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flow
Keisuke Umezawa
 
Rustを支える技術
Rustを支える技術Rustを支える技術
Rustを支える技術
Keisuke Umezawa
 
Neural Models for Information Retrieval
Neural Models for Information RetrievalNeural Models for Information Retrieval
Neural Models for Information Retrieval
Keisuke Umezawa
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer
Keisuke Umezawa
 

More from Keisuke Umezawa (9)

C2CマーケットプレイスでのMLの応用
C2CマーケットプレイスでのMLの応用C2CマーケットプレイスでのMLの応用
C2CマーケットプレイスでのMLの応用
 
Chainerを使ってプロダクション環境上で推論するには
Chainerを使ってプロダクション環境上で推論するにはChainerを使ってプロダクション環境上で推論するには
Chainerを使ってプロダクション環境上で推論するには
 
20181215 Chainer User Group 「chug」のご紹介
20181215 Chainer User Group 「chug」のご紹介20181215 Chainer User Group 「chug」のご紹介
20181215 Chainer User Group 「chug」のご紹介
 
Chainer User Group 「chug」
Chainer User Group 「chug」 Chainer User Group 「chug」
Chainer User Group 「chug」
 
Start to Contribute to Chainer!
Start to Contribute to Chainer!Start to Contribute to Chainer!
Start to Contribute to Chainer!
 
プログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowプログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flow
 
Rustを支える技術
Rustを支える技術Rustを支える技術
Rustを支える技術
 
Neural Models for Information Retrieval
Neural Models for Information RetrievalNeural Models for Information Retrieval
Neural Models for Information Retrieval
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer
 

20190125 Minecraftで深層強化学習 ハンズオン

Editor's Notes

  1. エージェントが環境の状態を観測をして行動を選び、その行動に応じて状態が変化して、また新しい観測と報酬がエージェントの元に届く まず環境を初期状態にリセットし、最初の観測を返す 環境はアクションを受け取って4つの値を返せば十分
  2. アルゴリズムごとに異なるエージェントのパラメータを渡して、エージェンとを作る
  3. 環境とインタラクションさせる 環境とエージェントのインタラクションをベタにかけばよい エージェントが観測と報酬をうけとって次の行動を返す 環境が行動を受け取って次の観測、報酬などをかえす このループを回す
  4. 環境とインタラクションさせる 環境とエージェントのインタラクションをベタにかけばよい エージェントが観測と報酬をうけとって次の行動を返す 環境が行動を受け取って次の観測、報酬などをかえす このループを回す