Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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 De...
4
参考にしたサイト、コード
 ウェブサイト
 ご注文は機械学習ですか?http://musyoku.github.io/2016/03/16/deep-reinforcement-
learning-with-double-q-learn...
5
強化学習について簡単に
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
・右に進む
・左に進む
・餌が食べられる
・サメに食べられる
行動
報酬
新しい状態
環境
...
6
簡単な例(迷路)
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
下の方がゴールに
近そうだけど・・・
▼報酬
・どれだけゴールに近いか
・ゴールしたらもっと沢山
...
7
Q学習について簡単に
 ポリシー決定手法の一つ
 つか、Q学習以外はActorCriticしか知らん
 ある状態sにおける行動aが将来まで合計してもたらす価値Qを最大化
するような方策をとるというポリシー
2016/6/23
C8La...
8
補足
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
状態sでaを行った報酬
行動したあとの状態s’で最適な行
動を取った時に将来的に得られる
報酬
状態sで最適な...
9
DQNについて簡単に
 行動価値を決めるQとかいっているが、具体的に何を使うのか?
 DQNでは、Qはニューラルネットワークそのもの
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All right...
10
DQNについて簡単に
 ニューラルネットワーク自体は同じ構造のものが二つ存在している
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
実際に行動を行ってその評価...
11
DQNのデータセット
 とあるの状況(s)
 その時撮った行動(a)
 それによって得られた報酬(r)
 その行動を取ったことによって生じた新しい状況(s’)
2016/6/23
C8Lab Copyright 2014 C8La...
12
DQNの学習
1. Qθ側のネットワークで状況sの時に行動aを取った時の価値を算出
2. 教師信号(target)となる以下の式をr, s’ を与えてQπ側で計算
3. Qθとtargetの誤差を計算してQθを更新
4. ある程度ステップ...
13
DoubleDQNについて
 DQNの問題点
 行動価値を過大評価してしまうことによりパフォーマンスが落ちる
 なぜ過大評価してしまうのか?
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All...
14
DoubleDQNについて
 DQNとDoubleDQNの違い
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
こうじゃ!
DQNのこれを・・・
評価自体はQπ...
15
もう少し突っ込んで
 なぜ選択と評価をQπ、Qθでそれぞれ担当するとQ値を過大評価しなく
なるの?
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
 この下限...
16
DoubleDQNの実装
 DQNさえ作ってしまえばDoubleDQNへの変更は10行程度
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
before
aft...
17
DoubleDQNの実装
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
取得した行動とQπを使って次以降の行動価値を計算
 DQNからDoubleDQNにする...
18
OpenAI Gym
 シミュレーション環境を簡単に呼び出し、状況、報酬などを簡単に取得
可能
2016/6/23
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
19
今回作ったもの
 Gymにあるブロック崩しを行うAI
 TensorFlow 0.9で実装
 昨日の夜から回しています。。。。
 200万イテレーション程度(実際2000万くらいは必要)
 CPUマシンなので学習が全然すすまない...
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で今後強化学習実装を楽にするよう...
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
代表取締役...
Nächste SlideShare
Wird geladen in …5
×

Tf勉強会(4)

3.107 Aufrufe

Veröffentlicht am

tensorflow勉強会 第四回の資料です

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Tf勉強会(4)

  1. 1. 1 シーエイトラボ株式会社 TensorFlow と Gymを使ってDoubleDQN TensroFlow勉強会 第4回 2016/6/23C8Lab Copyright 2014 C8Lab Inc. All rights reserved
  2. 2. 2 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved  自己紹介 新村拓也 - シーエイトラボ株式会社 代表取締役 - TensorFlow勉強会 - 機械学習のための数学塾
  3. 3. 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. 4. 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. 5. 5 強化学習について簡単に 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved ・右に進む ・左に進む ・餌が食べられる ・サメに食べられる 行動 報酬 新しい状態 環境 現状を考えて、一番将来的に報酬 が多くなる行動を選択する。 状態
  6. 6. 6 簡単な例(迷路) 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved 下の方がゴールに 近そうだけど・・・ ▼報酬 ・どれだけゴールに近いか ・ゴールしたらもっと沢山 ▼報酬(マイナス) ・かかった時間 ▼状態 ・今どこにいるか ▼行動 ・上下左右移動 Try & Errorを繰り返して、「この場所にいた時に」 「こっちに動いた方がいい」ということを学習
  7. 7. 7 Q学習について簡単に  ポリシー決定手法の一つ  つか、Q学習以外はActorCriticしか知らん  ある状態sにおける行動aが将来まで合計してもたらす価値Qを最大化 するような方策をとるというポリシー 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved 行動を決定する関数 Target(教師)データ Qは状態sの時に行動aを取った時に得られる報酬 を予測する関数
  8. 8. 8 補足 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved 状態sでaを行った報酬 行動したあとの状態s’で最適な行 動を取った時に将来的に得られる 報酬 状態sで最適な行動を取った時に将 来的に得られる報酬 行動価値評価を行うQが正しければこの式は限 りなく同じ値になる!
  9. 9. 9 DQNについて簡単に  行動価値を決めるQとかいっているが、具体的に何を使うのか?  DQNでは、Qはニューラルネットワークそのもの 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved conv1 conv2 outfc1 ▼出力 ・この状況で取りうる行動の価値 例) 左・・・10点 右・・・5点 停止・・・5点
  10. 10. 10 DQNについて簡単に  ニューラルネットワーク自体は同じ構造のものが二つ存在している 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved 実際に行動を行ってその評価価値 は何点だ!と予測するネットワーク 行動の結果の状況s’で取るべき行動a’ の価値を評価するネットワーク
  11. 11. 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. 12. 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. 13. 13 DoubleDQNについて  DQNの問題点  行動価値を過大評価してしまうことによりパフォーマンスが落ちる  なぜ過大評価してしまうのか? 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved このmaxのせい  DQNでは次のステップ以降の行動を選択 のもその評価をするのもQπだけで行ってい る。  ちょっとしたことでネットワーク出力の1部が いきなり大きくなった時に悪影響を及ぼす。
  14. 14. 14 DoubleDQNについて  DQNとDoubleDQNの違い 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved こうじゃ! DQNのこれを・・・ 評価自体はQπのまま 行動の決定をQθが行う!  次以降のステップで取る行動評価が、Qπで値が最大になる行動とは限らない。  次以降の行動評価をQπ、Qθ二つのNNで行う=>DoubleDQN
  15. 15. 15 もう少し突っ込んで  なぜ選択と評価をQπ、Qθでそれぞれ担当するとQ値を過大評価しなく なるの? 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved  この下限値がDoubleDQNではゼロになる DQNにおけるtarget側のQ値が、maxを持つと下限値を持ってしまう
  16. 16. 16 DoubleDQNの実装  DQNさえ作ってしまえばDoubleDQNへの変更は10行程度 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved before after 行動価値評価はしない 次の行動をQθから取得
  17. 17. 17 DoubleDQNの実装 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved 取得した行動とQπを使って次以降の行動価値を計算  DQNからDoubleDQNにするのは簡単  だがDQNを作るのが疲れる  ネットワーク二つあるし。。。  シミュレーション環境どうするの。。。  というかシミレーション環境作るのが一番大変!!!  Unity? PyGame? Etc…
  18. 18. 18 OpenAI Gym  シミュレーション環境を簡単に呼び出し、状況、報酬などを簡単に取得 可能 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
  19. 19. 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. 20. 20 とりま結果 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved 報酬は少しずつ増えてきている、こ れから伸びていきそう?(まだ二個く らいしか壊せない。。。) どんどんゲームで死ななくなっている
  21. 21. 21 実演 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
  22. 22. 22 まとめ  TensorFlowとGymでDoubleDQN実装してみました  DQN実装できればDoubleDQNは超簡単  CPUマシンでDQNをやってはならない。。。。。  TensorFlowで今後強化学習実装を楽にするような実装でるのに期 待!  現状はパラメータを切り替えたり色々めんどい。。。  学習もうすこし進めたらgithubにあげようかと 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved
  23. 23. 23 2016/6/23 C8Lab Copyright 2014 C8Lab Inc. All rights reserved ご静聴ありがとうございました!
  24. 24. 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に応用されています。 「ソーシャル情報から抽出したユーザ行動目的に基づく推 薦システム」「同行者コンテキスト依存の文書抽出および トピック解析」「同行者依存のトピック発見モデル」など、 ユーザーの行動分析に関する研究で論文を多く発表して います。

×