SlideShare a Scribd company logo
1
シーエイトラボ株式会社
TensorFlow と Gymを使ってDoubleDQN
TensroFlow勉強会 第4回
2016/6/23C8Lab Copyright 2014 C8Lab Inc. All rights reserved
2 2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
 自己紹介
新村拓也
- シーエイトラボ株式会社 代表取締役
- TensorFlow勉強会
- 機械学習のための数学塾
3
概要
 DQN
 Deep Q Network (ヤンキーじゃないよ)
 DeepLearning とQ Learningを組み合わせたもの
 AlphaGoにも使われていたらしいやつ
 DoubleDQN
 Double Deep Q Network(二人のヤンキーじゃないよ)
 DeepMindが2015年12月に発表
 同年2月にDQN出したばかりなのに。。。
 DQNより精度いいよ(後述)
 Gym
 OpenAIが提供しているオープンソース
 今年のどっかで出した
 ゲームや物理エンジン向けのシミュレーション環境
 まだβ版?
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
4
参考にしたサイト、コード
 ウェブサイト
 ご注文は機械学習ですか?http://musyoku.github.io/2016/03/16/deep-reinforcement-
learning-with-double-q-learning/
 ゼロからDeepまで学ぶ強化学習 http://qiita.com/icoxfog417/items/242439ecd1a477ece312
 DQNの生い立ち + Deep Q-NetworkをChainerで書いた http://qiita.com/Ugo-
Nama/items/08c6a5f6a571335972d5
 論文
 Hado van Hasselt, Arthur Guez, David Silver. Deep Reinforcement Learning with Double
Q-learning. arXiv:1509.06461. 2015 http://arxiv.org/abs/1509.06461
 ソースコード
 devsisters/DQN-tensorflo https://github.com/devsisters/DQN-tensorflow
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
とても参考になりました!ありがとうございます!
5
強化学習について簡単に
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
・右に進む
・左に進む
・餌が食べられる
・サメに食べられる
行動
報酬
新しい状態
環境
現状を考えて、一番将来的に報酬
が多くなる行動を選択する。
状態
6
簡単な例(迷路)
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
下の方がゴールに
近そうだけど・・・
▼報酬
・どれだけゴールに近いか
・ゴールしたらもっと沢山
▼報酬(マイナス)
・かかった時間
▼状態
・今どこにいるか
▼行動
・上下左右移動
Try & Errorを繰り返して、「この場所にいた時に」
「こっちに動いた方がいい」ということを学習
7
Q学習について簡単に
 ポリシー決定手法の一つ
 つか、Q学習以外はActorCriticしか知らん
 ある状態sにおける行動aが将来まで合計してもたらす価値Qを最大化
するような方策をとるというポリシー
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
行動を決定する関数
Target(教師)データ
Qは状態sの時に行動aを取った時に得られる報酬
を予測する関数
8
補足
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
状態sでaを行った報酬
行動したあとの状態s’で最適な行
動を取った時に将来的に得られる
報酬
状態sで最適な行動を取った時に将
来的に得られる報酬
行動価値評価を行うQが正しければこの式は限
りなく同じ値になる!
9
DQNについて簡単に
 行動価値を決めるQとかいっているが、具体的に何を使うのか?
 DQNでは、Qはニューラルネットワークそのもの
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
conv1 conv2 outfc1
▼出力
・この状況で取りうる行動の価値
例)
左・・・10点
右・・・5点
停止・・・5点
10
DQNについて簡単に
 ニューラルネットワーク自体は同じ構造のものが二つ存在している
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
実際に行動を行ってその評価価値
は何点だ!と予測するネットワーク
行動の結果の状況s’で取るべき行動a’
の価値を評価するネットワーク
11
DQNのデータセット
 とあるの状況(s)
 その時撮った行動(a)
 それによって得られた報酬(r)
 その行動を取ったことによって生じた新しい状況(s’)
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
状況s 行動a
Qθ側のNNで決定
右に行
く!
報酬r
・ブロック崩してた:+1
・死んでた。。。:−1
新しい状況s’
学習する前に最初にこれらの情報をひたすら収集
12
DQNの学習
1. Qθ側のネットワークで状況sの時に行動aを取った時の価値を算出
2. 教師信号(target)となる以下の式をr, s’ を与えてQπ側で計算
3. Qθとtargetの誤差を計算してQθを更新
4. ある程度ステップ数をこなしたらQθの重みでQπを更新
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
NNの順伝播みたいなもの
行動価値評価を行うQが正しければQθとtargetは限りなく同じ値になる!
13
DoubleDQNについて
 DQNの問題点
 行動価値を過大評価してしまうことによりパフォーマンスが落ちる
 なぜ過大評価してしまうのか?
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
このmaxのせい
 DQNでは次のステップ以降の行動を選択
のもその評価をするのもQπだけで行ってい
る。
 ちょっとしたことでネットワーク出力の1部が
いきなり大きくなった時に悪影響を及ぼす。
14
DoubleDQNについて
 DQNとDoubleDQNの違い
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
こうじゃ!
DQNのこれを・・・
評価自体はQπのまま
行動の決定をQθが行う!
 次以降のステップで取る行動評価が、Qπで値が最大になる行動とは限らない。
 次以降の行動評価をQπ、Qθ二つのNNで行う=>DoubleDQN
15
もう少し突っ込んで
 なぜ選択と評価をQπ、Qθでそれぞれ担当するとQ値を過大評価しなく
なるの?
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
 この下限値がDoubleDQNではゼロになる
DQNにおけるtarget側のQ値が、maxを持つと下限値を持ってしまう
16
DoubleDQNの実装
 DQNさえ作ってしまえばDoubleDQNへの変更は10行程度
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
before
after
行動価値評価はしない
次の行動をQθから取得
17
DoubleDQNの実装
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
取得した行動とQπを使って次以降の行動価値を計算
 DQNからDoubleDQNにするのは簡単
 だがDQNを作るのが疲れる
 ネットワーク二つあるし。。。
 シミュレーション環境どうするの。。。
 というかシミレーション環境作るのが一番大変!!!
 Unity? PyGame? Etc…
18
OpenAI Gym
 シミュレーション環境を簡単に呼び出し、状況、報酬などを簡単に取得
可能
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
19
今回作ったもの
 Gymにあるブロック崩しを行うAI
 TensorFlow 0.9で実装
 昨日の夜から回しています。。。。
 200万イテレーション程度(実際2000万くらいは必要)
 CPUマシンなので学習が全然すすまないww
 GPUマシンなら1日で2000万くらい回せるとのこと
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
20
とりま結果
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
報酬は少しずつ増えてきている、こ
れから伸びていきそう?(まだ二個く
らいしか壊せない。。。)
どんどんゲームで死ななくなっている
21
実演
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
22
まとめ
 TensorFlowとGymでDoubleDQN実装してみました
 DQN実装できればDoubleDQNは超簡単
 CPUマシンでDQNをやってはならない。。。。。
 TensorFlowで今後強化学習実装を楽にするような実装でるのに期
待!
 現状はパラメータを切り替えたり色々めんどい。。。
 学習もうすこし進めたらgithubにあげようかと
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
23 2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
ご静聴ありがとうございました!
24
お問い合わせ
ご興味のある企業・団体・個人様は、以下までお問い合わせください。
シーエイトラボ株式会社
http://www.c8-lab.com
東京都港区赤坂 8-5-40 ペガサス青山
Tel 090-3320-2680
代表取締役社長/CEO 新村拓也
E-mail:tak@c8-lab.com
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
C8Lab株式会社は東京大学発のベンチャー企業です。
東京大学人工物工学研究センターの太田順教授と
C8Labの新村拓也氏が株式会社グローバルプレナーズと
共同研究した「SNSデータ分析によるオントロジーネット
ワーク構築」の技術がCOMPYに応用されています。
「ソーシャル情報から抽出したユーザ行動目的に基づく推
薦システム」「同行者コンテキスト依存の文書抽出および
トピック解析」「同行者依存のトピック発見モデル」など、
ユーザーの行動分析に関する研究で論文を多く発表して
います。

More Related Content

PPTX
強化学習 DQNからPPOまで
PDF
Optimizer入門&最新動向
PDF
DQNからRainbowまで 〜深層強化学習の最新動向〜
PDF
Transformerを多層にする際の勾配消失問題と解決法について
PPTX
モデル高速化百選
PDF
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
PDF
Introduction to Prioritized Experience Replay
PPTX
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
強化学習 DQNからPPOまで
Optimizer入門&最新動向
DQNからRainbowまで 〜深層強化学習の最新動向〜
Transformerを多層にする際の勾配消失問題と解決法について
モデル高速化百選
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
Introduction to Prioritized Experience Replay
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)

What's hot (20)

PDF
【DL輪読会】Universal Trading for Order Execution with Oracle Policy Distillation
PDF
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
PDF
Decision Transformer: Reinforcement Learning via Sequence Modeling
PPTX
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
PDF
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
PDF
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
PPTX
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
PDF
Layer Normalization@NIPS+読み会・関西
PDF
TensorFlowで逆強化学習
PDF
研究効率化Tips Ver.2
PPTX
[DL輪読会]Focal Loss for Dense Object Detection
PDF
論文紹介:Dueling network architectures for deep reinforcement learning
PDF
方策勾配型強化学習の基礎と応用
PDF
introduction to double deep Q-learning
PPTX
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
PPTX
Curriculum Learning (関東CV勉強会)
PDF
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
PPTX
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
【DL輪読会】Universal Trading for Order Execution with Oracle Policy Distillation
深層強化学習入門 2020年度Deep Learning基礎講座「強化学習」
Decision Transformer: Reinforcement Learning via Sequence Modeling
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
NIPS2017読み会@PFN: Hierarchical Reinforcement Learning + α
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
Deep Recurrent Q-Learning(DRQN) for Partially Observable MDPs
Layer Normalization@NIPS+読み会・関西
TensorFlowで逆強化学習
研究効率化Tips Ver.2
[DL輪読会]Focal Loss for Dense Object Detection
論文紹介:Dueling network architectures for deep reinforcement learning
方策勾配型強化学習の基礎と応用
introduction to double deep Q-learning
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
Curriculum Learning (関東CV勉強会)
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
【DL輪読会】論文解説:Offline Reinforcement Learning as One Big Sequence Modeling Problem
【論文紹介】How Powerful are Graph Neural Networks?
Ad

Similar to Tf勉強会(4) (20)

PDF
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
PDF
20180830 implement dqn_platinum_data_meetup_vol1
PDF
強化学習とは (MIJS 分科会資料 2016/10/11)
PDF
[CV勉強会]Active Object Localization with Deep Reinfocement Learning
PDF
introduction to Deep Q Learning
PPTX
Batch Reinforcement Learning
PPTX
Deep reinforcement learning for imbalanced classification
PPTX
1017 論文紹介第四回
PPTX
深層学習とTensorFlow入門
PPTX
Decision Transformer: Reinforcement Learning via Sequence Modeling
PPTX
深層強化学習入門
PDF
introduction to Dueling network
PPTX
勉強会用スライド
PDF
PDF
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
PPTX
Deep Q-learning from Demonstrations
PDF
TensorFlowで学ぶDQN
PPTX
pygame+gymで強化学習
PDF
ChainerRLの紹介
PDF
DQN と過ごすクリスマス
Rainbow: Combining Improvements in Deep Reinforcement Learning (AAAI2018 unde...
20180830 implement dqn_platinum_data_meetup_vol1
強化学習とは (MIJS 分科会資料 2016/10/11)
[CV勉強会]Active Object Localization with Deep Reinfocement Learning
introduction to Deep Q Learning
Batch Reinforcement Learning
Deep reinforcement learning for imbalanced classification
1017 論文紹介第四回
深層学習とTensorFlow入門
Decision Transformer: Reinforcement Learning via Sequence Modeling
深層強化学習入門
introduction to Dueling network
勉強会用スライド
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
Deep Q-learning from Demonstrations
TensorFlowで学ぶDQN
pygame+gymで強化学習
ChainerRLの紹介
DQN と過ごすクリスマス
Ad

More from tak9029 (9)

PPTX
tfug-kagoshima
PPTX
TensorFlowをもう少し詳しく入門
PPTX
Interop2017
PPTX
Tfug#4
PPTX
畳み込みLstm
PPTX
Tf勉強会(5)
PPTX
Tensor flow勉強会3
PPTX
TensorFlowで会話AIを作ってみた。
PDF
Tensor flow勉強会 (ayashiminagaranotensorflow)
tfug-kagoshima
TensorFlowをもう少し詳しく入門
Interop2017
Tfug#4
畳み込みLstm
Tf勉強会(5)
Tensor flow勉強会3
TensorFlowで会話AIを作ってみた。
Tensor flow勉強会 (ayashiminagaranotensorflow)

Tf勉強会(4)