SlideShare uma empresa Scribd logo
1 de 24
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に応用されています。
「ソーシャル情報から抽出したユーザ行動目的に基づく推
薦システム」「同行者コンテキスト依存の文書抽出および
トピック解析」「同行者依存のトピック発見モデル」など、
ユーザーの行動分析に関する研究で論文を多く発表して
います。

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
 
Rainbow
RainbowRainbow
Rainbow
 
論文紹介:”Playing hard exploration games by watching YouTube“
論文紹介:”Playing hard exploration games by watching YouTube“論文紹介:”Playing hard exploration games by watching YouTube“
論文紹介:”Playing hard exploration games by watching YouTube“
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開深層学習フレームワーク Chainer の開発と今後の展開
深層学習フレームワーク Chainer の開発と今後の展開
 
これから始める人のためのディープラーニング基礎講座
これから始める人のためのディープラーニング基礎講座これから始める人のためのディープラーニング基礎講座
これから始める人のためのディープラーニング基礎講座
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlow
 
Paper intoduction "Playing Atari with deep reinforcement learning"
Paper intoduction   "Playing Atari with deep reinforcement learning"Paper intoduction   "Playing Atari with deep reinforcement learning"
Paper intoduction "Playing Atari with deep reinforcement learning"
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
はじめての人のためのDeep Learning
はじめての人のためのDeep Learningはじめての人のためのDeep Learning
はじめての人のためのDeep Learning
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
 
Pythonで体験する深層学習 5章
Pythonで体験する深層学習 5章Pythonで体験する深層学習 5章
Pythonで体験する深層学習 5章
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
 
深層学習 第4章 大規模深層学習の実現技術
深層学習 第4章 大規模深層学習の実現技術深層学習 第4章 大規模深層学習の実現技術
深層学習 第4章 大規模深層学習の実現技術
 
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1
 

Semelhante a Tf勉強会(4)

130323 slide all
130323 slide all130323 slide all
130323 slide all
ikea0064
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
de:code 2017
 

Semelhante a Tf勉強会(4) (13)

20180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol120180830 implement dqn_platinum_data_meetup_vol1
20180830 implement dqn_platinum_data_meetup_vol1
 
Tensor flow勉強会3
Tensor flow勉強会3Tensor flow勉強会3
Tensor flow勉強会3
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
AlphaGo Zero 解説
AlphaGo Zero 解説AlphaGo Zero 解説
AlphaGo Zero 解説
 
AGA_CVPR2017
AGA_CVPR2017AGA_CVPR2017
AGA_CVPR2017
 
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
130323 slide all
130323 slide all130323 slide all
130323 slide all
 
Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】
 
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
[AI05] 目指せ、最先端 AI 技術の実活用!Deep Learning フレームワーク 「Microsoft Cognitive Toolkit 」...
 
[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...
[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...
[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...
 

Mais de tak9029 (9)

tfug-kagoshima
tfug-kagoshimatfug-kagoshima
tfug-kagoshima
 
TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門TensorFlowをもう少し詳しく入門
TensorFlowをもう少し詳しく入門
 
Interop2017
Interop2017Interop2017
Interop2017
 
Tfug#4
Tfug#4Tfug#4
Tfug#4
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
深層学習とTensorFlow入門
深層学習とTensorFlow入門深層学習とTensorFlow入門
深層学習とTensorFlow入門
 
Tf勉強会(5)
Tf勉強会(5)Tf勉強会(5)
Tf勉強会(5)
 
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
 
Tensor flow勉強会 (ayashiminagaranotensorflow)
Tensor flow勉強会 (ayashiminagaranotensorflow)Tensor flow勉強会 (ayashiminagaranotensorflow)
Tensor flow勉強会 (ayashiminagaranotensorflow)
 

Último

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Tf勉強会(4)