狠狠撸

狠狠撸Share a Scribd company logo
マインクラフトで深層強化学習
ハンズオン
Preferred Networks / Chainer Evangelist
Keisuke Umezawa
2018/02/23
自己紹介
2
? 梅澤 慶介
? 金融マーケット予測モデルの研究開発
@AlpacaJapan
? Chainer Evangelist @Preferred Networks
? Twitter:@kmechann
? GitHub:@keisuke-umezawa
2018/11/25
Alpaca Forecast AI Prediction Matrix
3
? 最近、Bloombergアプリとしてリリースした金融商品予測システム
? 30分後に価格が上がるか下がるか予測する
2018/02/23
マインクラフトで深層強化学習
4
2018/11/25
概要
5
? Minecraftをシミュレーション環境として深層強化学習のハンズオン
を行います
? 現在、マインクラフトを活用したMARLOという深層強化学習のコ
ンテストが行われています
? そこで使用されている、marLoというOpenAI's Gym互換の
Minecraft環境を活用します
2018/11/25
ハンズオン内容
6
? marLoでは下記のような環境が用意されており、今回はこのうち一
つを選んでハンズオンを行います。
? その後、皆さんに好きな課題にチャレンジしていただきます。
? だいたいのタイムスケジュール
? 18:30? Chainer/CuPy/ChainerRLの紹介
? 18:45? 環境設定?問題解説
? 20:00? 演習
? 21:00 終了
2018/02/23
Chainer/CuPy/ChainerRLの紹介
7
2018/11/25
Chainer
? Chainerとは (http://chainer.org/)
? Preferred Networks製Deep Learningフレームワーク
8
2018/11/25
Chainer
9
? Google社製TensorFlowなどの同類
2018/11/25
CuPy
10
ChainerにおけるGPU計算を全て担当するライブラリが独立
NumPy互換APIで低コストにCPUコードをGPUへ移行
特異値分解などの線形代数アルゴリズムをGPU実行
KMeans, Gaussian Mixture ModelなどのExampleの充実
import numpy as np
x = np.random.rand(10)
W = np.random.rand(10, 5)
y = np.dot(x, W)
import cupy as cp
x = cp.random.rand(10)
W = cp.random.rand(10, 5)
y = cp.dot(x, W)
GPU
https://github.com/cupy/cupy
2018/11/25
拡大するChainerファミリー
11
Chainer UI
Chainer Chemistry
強化学習
画像認識
可視化
グラフ構造
大規模分散
Menoh
推論特化
強化学習?
ChainerRL: 深層強化学習ライブラリ
エージェントが環境とのインタラクションを通じて報酬を最大化
する行動を学習する
ChainerRLによる強化学習の流れ
1. 環境を構築
ChainerRLによる強化学習の流れ
2. モデルを定義 (contd.)
Q-Function: 観測→各行動の価値(将来の報酬の和の期待値)
ActionValue: Discrete, Quadratic
ChainerRLによる強化学習の流れ
Distribution: Softmax, Mellowmax,
Gaussian,…
Policy: 観測→行動の確率分布
2. モデルを定義
ChainerRLによる強化学習の流れ
3. エージェントを定義
ChainerRLによる強化学習の流れ
4. インタラクションさせる
実装済みのアルゴリズム
? 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.
ChainerRL Quickstart Guide
? Jupyter notebookでQ-functionを定義し、Double DQNでCart
Pole Balancingを学習
https://chainer-colab-notebook.readthedocs.io/ja/latest/notebook/hands_on/chainerrl/quickstart.html
2018/02/23
ハンズオンをはじめよう!
20
2018/11/25
今回の強化学習の問題
21
? MarLo-FindTheGoal-v0
? 7x7 room
? Goal: find the goal ?
(yellow block)
? Rewards:
? -0.01 per command
? 100 commands max
? 1.0 find goal
? -0.1 out of time
2018/11/25
ハンズオン開始!
22
? https://bit.ly/2Bfmi9z
2018/02/23
chug (Chainer User Group)の紹介
23
2018/02/23
Chainer User Groupの紹介
? connpass
? Slack chainer-jp
? Twitter @chug_jp
? 活動内容
? Meetup?ハンズオンの開催
? Chainerに関する情報?ドキュメントの拡充
? Web チュートリアルの作成
? 一緒に活動できる方を募集しています
!Slack #chug-jp-management に是非
24
2018/02/23
2018/02/23
APPENDIX
26

More Related Content

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

Editor's Notes

  1. エージェントが環境の状態を観測をして行動を選び、その行動に応じて状態が変化して、また新しい観測と報酬がエージェントの元に届く まず環境を初期状態にリセットし、最初の観測を返す 環境はアクションを受け取って4つの値を返せば十分
  2. Q-Functionは観測から、エージェントが取れる行動の価値を予測する アクションの価値の定義にはいろいろある 離散的なら別々に返す 連続的なアクションなら二次形式で返す、など それらを統一的に扱えるよう抽象化している
  3. ポリシーは、観測を受け取って、行動の確率分布を返す ガウシアンだったら、平均と分散をLinearで計算して、distributionに渡して、分布を返す
  4. アルゴリズムごとに异なるエージェントのパラメータを渡して、エージェンとを作る
  5. 環境とインタラクションさせる 環境とエージェントのインタラクションをベタにかけばよい エージェントが観測と報酬をうけとって次の行動を返す 環境が行動を受け取って次の観測、報酬などをかえす このループを回す
  6. 環境とインタラクションさせる 環境とエージェントのインタラクションをベタにかけばよい エージェントが観測と報酬をうけとって次の行動を返す 環境が行動を受け取って次の観測、報酬などをかえす このループを回す
  7. 環境とインタラクションさせる 環境とエージェントのインタラクションをベタにかけばよい エージェントが観測と報酬をうけとって次の行動を返す 環境が行動を受け取って次の観測、報酬などをかえす このループを回す