© 2018 Core Concept Technologies Inc.
深層強化学習入門
(株)コアコンセプト・テクノロジー
IoT/AIソリューション事業部
熊田聖也
2018/12/07
1
© 2018 Core Concept Technologies Inc.
自己紹介
2
職歴
博士号取得のあと3年ほど研究室で助手を務めたあと社会人に。大阪堺(難波
に移転)の会社を皮切りに、恵比寿、広尾、溜池山王へと移り変わり、現在は
新宿(CCT)に。
仕事の変遷
1. 画像処理
2. 画像認識(機械学習を用いた)
3. 画像認識(深層学習を用いた)
4. 機械学習・深層学習・コンピュータビジョン全般
まずはロジックを式で理解する。実装はそのあと。
マシーンの変遷
1. Windows
2. Linux(Debian,Gentoo)
3. Mac(OSX以降)
© 2018 Core Concept Technologies Inc.
目次
3
1. 事例紹介
2. 強化学習とは
3. 深層強化学習(Deep Q Network)
4. DQNの例
5. まとめ
© 2018 Core Concept Technologies Inc.
目次
4
1. 事例紹介
2. 強化学習とは
3. 深層強化学習(Deep Q Network)
4. DQNの例
5. まとめ
© 2018 Core Concept Technologies Inc.
事例紹介(ブロック崩し)
5
https://www.youtube.com/watch?v=TmPfTpjtdgg
• 2016/06/13にDeepMindが公開した動画
• Atari2600のブロック崩しゲーム
• 深層強化学習(DQN)で学習したもの
© 2018 Core Concept Technologies Inc.
事例紹介(囲碁)
6
https://gigazine.net/news/20170920-alphago-movie/
2016年3月に行われたイ・セドル棋士と
Googleが開発したAI「AlphaGo」の5番勝負
はAlphaGoが4勝1敗で勝利を収めるという結
果に終わる。
© 2018 Core Concept Technologies Inc.
目次
7
1. 事例紹介
2. 強化学習とは
3. 深層強化学習(Deep Q Network)
4. DQNの例
5. まとめ
© 2018 Core Concept Technologies Inc.
強化学習とは
8
エージェント
環境
行動
報酬
ネズミの学習問題
• 飼育箱の中に左図のような箱を置く。
• この箱には電源ボタン、餌ボタンが設置されている。
• ネズミは最初、2つのボタンを闇雲に押す。
• たまたま、電源ボタンの次に餌ボタンを押すと餌が得られた。
• 操作を繰り返すうち、餌の得られる順番でボタンを押すように
なる。
報酬がもらえる操作が強化(Reinforcement)されるメカニズム
を用いた学習法を強化学習 (Reinforcement Learning)と呼ぶ。
© 2018 Core Concept Technologies Inc. 9
電源ボタン
商品ボタン
電源ONのとき。OFFのときは
環境
チーズ(報酬)は、電源ONのときに商品ボタンを押すと得られる。
この環境が与えられ時、エージェントに最短の手順でチーズを得るよう学習してもらうことが
目的である。
強化学習の手順を簡単な問題を例に取り説明する。
エージェント
© 2018 Core Concept Technologies Inc. 10
環境の取り得る状態は
1. 電源OFF
2. 電源ON
の2通りである。
エージェント取り得る行動は
1. 電源ボタンを押す
2. 商品ボタンを押す
の2通りである。
簡単のため下図のように0と1で表現する。
状態
電源OFF 0
電源ON 1
行動
電源ボタンを押す 0
商品ボタンを押す 1
© 2018 Core Concept Technologies Inc. 11
行動と状態の関係を図で書くと以下のようになる。
状態
電源OFF 0
電源ON 1
行動
電源ボタンを押す 0
商品ボタンを押す 1
電源ボタンを押す
行動:0, 報酬:0
商品ボタンを押す
行動:1, 報酬:0
電源OFF
状態:0
電源ON
状態:1
電源ボタンを押す
行動:0, 報酬:0
商品ボタンを押す
行動:1, 報酬:1
このときだけ報酬が
もらえる。
© 2018 Core Concept Technologies Inc. 12
𝑄値 行動𝑎
0(電源ボタンを押す) 1(商品ボタンを押す)
状態𝑠 0(電源OFF) 0.225 0
1(電源ON) 0 0.5
• 状態𝑠と行動𝑎から以下の表を作る。この表を𝑄表と呼ぶ。
• 表内の数値は𝑄-Learningと呼ばれるアルゴリズムで算出する。
(報酬などの量はここで使われる。)
「エージェントが状態𝑠にあるとき、𝑄(𝑠, 𝑎)の値が最大となる行動𝑎を選択す
る」と約束する。
© 2018 Core Concept Technologies Inc. 13
𝑄値が大きいのは、行動0である。従って、エージェントは行動0を選択する。状態
は1に遷移する。
実際にこの表を用いてエージェントを行動させてみる。
状態𝑠 = 0から始める。
𝑠 = 0の行を見る。
𝑄値 行動𝑎
0(電源ボタンを押す) 1(商品ボタンを押す)
状態𝑠 0(電源OFF) 0.225 0
1(電源ON) 0 0.5
© 2018 Core Concept Technologies Inc. 14
電源ボタンを押す(𝑎 𝑡 = 0)
𝑠𝑡 = 0(電源OFF) 𝑠𝑡+1 = 1(電源ON)状態が1に変化
①
© 2018 Core Concept Technologies Inc. 15
いま、状態1にある。𝑄表の2行目を見る。
𝑄値が大きいのは行動1である。つまり商品ボタンが押され、チーズ(報酬)を得る。
𝑄値 行動
0(電源ボタンを押す) 1(商品ボタンを押す)
状態 0(電源OFF) 0.225 0
1(電源ON) 0 0.5
© 2018 Core Concept Technologies Inc. 16
電源ボタンを押す(𝑎 𝑡 = 0) 商品ボタンを押す(𝑎 𝑡+1 = 1)
𝑠𝑡 = 0(電源OFF) 𝑠𝑡+1 = 1(電源ON) 𝑠𝑡+2 = 1(電源ON)状態が1に変化 状態は1のまま
① ②
© 2018 Core Concept Technologies Inc.
目次
17
1. 事例紹介
2. 強化学習とは
3. 深層強化学習(Deep Q Network)
4. DQNの例
5. まとめ
© 2018 Core Concept Technologies Inc.
深層強化学習(Deep Q Network)
18
• 先の問題では𝑄の値は4つであった(右表)。簡単である。
• 状態数が大きくなると、𝑄の学習が難しくなる。
• この課題を解決するためDeep Neural Network(DNN)を導入する。
• DNNは多次元入力、多次元出力を容易に実現できる。
• 𝑄-LearningにDNNを導入したものをDeep Q Network(DQN) と呼ぶ。
𝑄値 行動
0 1
状態 0 𝛼 𝛽
1 𝛾 𝛿
今回はDNNの説明は割愛。
© 2018 Core Concept Technologies Inc. 19
𝑄値 行動
0 1 2
状態 0 0 3 1
1 2 1 1
2 1 2 1
𝑠𝑡=2 𝑎 𝑡 = 1
0
1
2
0
1
2
𝑠𝑡=2 𝑎 𝑡 = 1
従来の𝑄-Learning
Deep Q Network
𝑄(𝑠𝑡, 0)
𝑄(𝑠𝑡, 1)
𝑄(𝑠𝑡, 2)
DNN
© 2018 Core Concept Technologies Inc.
目次
20
1. 事例紹介
2. 強化学習とは
3. 深層強化学習(Deep Q Network)
4. DQNの例
5. まとめ
© 2018 Core Concept Technologies Inc.
DQNの例
21
少し複雑な問題「倒立振子」を考える。
カートの上に載っている棒をできるだけ立たせたい。
これをDQNで学習する。
© 2018 Core Concept Technologies Inc. 22
このときの状態は以下の4つ。
1. カートの位置𝑝:-2.4から2.4
2. カートの速度𝑣:−∞から+∞
3. 棒の角度𝑎:-41.8度から41.8度
4. 棒の角速度𝑤:−∞から+∞
𝑠𝑡が4種類あり、すべて連続値である。一方、行動𝑎 𝑡は
1. カートを右に押す。
2. カートを左に押す。
の2種類になる。考えるDNNは右のようなる。
𝑝
𝑣
𝑎
𝑤
DNN
右
左
© 2018 Core Concept Technologies Inc. 23
DQNで学習すると
• 200ステップ連続して立ち続ける。
• 10エピソード連続
© 2018 Core Concept Technologies Inc.
目次
24
1. 事例紹介
2. 強化学習とは
3. 深層強化学習(Deep Q Network)
4. DQNの例
5. まとめ
© 2018 Core Concept Technologies Inc.
まとめ
25
• 深層強化学習とは深層学習と強化学習を組み合わせたもの。
• 深層強化学習のひとつ、Deep Q Network(DQN)は𝑄(𝑠, 𝑎)をDNNで計算する。
• 𝑄(𝑠, 𝑎)は行動価値関数と呼ばれる量である。
• 深層強化学習にはDQN以外にもさまざまな種類がある。
© 2018 Core Concept Technologies Inc.
画像URL
26
• 電源ボタン:
https://weekly.ascii.jp/elem/000/000/185/185343/
• ボタン
http://www.excy.co.jp/fuzoku_mens_item_metalbutton_ex-703series.html
• ネズミ
https://www.xn--
cckyb8ika7450e78m704d6wf.com/%E3%80%90%E5%AE%87%E5%9C%9F%E5%B8%82%E3%81%A7%E3%83%8D%E3%82%BA%E3%83%9F%E9%A7%86%E9%99%A4%E3%80%9
1%E4%BD%8E%E4%BE%A1%E6%A0%BC%E2%98%86%E5%AE%9F%E7%B8%BE%E5%A4%9A%E6%95%B0%E2%98%86%E6%BA%80%E8%B6%B3/
• ランプ
https://jp.123rf.com/photo_8534599_%E9%9B%BB%E7%90%83%E3%80%81%E9%9B%BB%E6%BA%90%E3%82%AA%E3%83%B3%E3%80%81%E3%81%8A%E3%82%88%E3%81
%B3%E9%9B%BB%E6%BA%90%E3%82%AA%E3%83%95%E4%BB%A5%E4%B8%8A%E3%81%AE%E9%BB%92%E3%81%84%E8%83%8C%E6%99%AF%E3%81%AE-3-d-
%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3.html
• チーズ
https://www.google.co.jp/search?newwindow=1&biw=2560&bih=1197&tbm=isch&sa=1&ei=xZjaW_32GoP08QWShLr4BQ&q=%E3%83%81%E3%83%BC%E3%82%BA&oq=%E3%83%81
%E3%83%BC%E3%82%BA&gs_l=img.3..0l10.317326.322864.0.323194.26.15.5.0.0.0.104.896.10j1.11.0....0...1c.1j4.64.img..12.13.671.0..0i4k1.0.sICgKNYB9kg#imgrc=l846ZLBiBqgaYM:
© 2018 Core Concept Technologies Inc.

深層強化学習入門

  • 1.
    © 2018 CoreConcept Technologies Inc. 深層強化学習入門 (株)コアコンセプト・テクノロジー IoT/AIソリューション事業部 熊田聖也 2018/12/07 1
  • 2.
    © 2018 CoreConcept Technologies Inc. 自己紹介 2 職歴 博士号取得のあと3年ほど研究室で助手を務めたあと社会人に。大阪堺(難波 に移転)の会社を皮切りに、恵比寿、広尾、溜池山王へと移り変わり、現在は 新宿(CCT)に。 仕事の変遷 1. 画像処理 2. 画像認識(機械学習を用いた) 3. 画像認識(深層学習を用いた) 4. 機械学習・深層学習・コンピュータビジョン全般 まずはロジックを式で理解する。実装はそのあと。 マシーンの変遷 1. Windows 2. Linux(Debian,Gentoo) 3. Mac(OSX以降)
  • 3.
    © 2018 CoreConcept Technologies Inc. 目次 3 1. 事例紹介 2. 強化学習とは 3. 深層強化学習(Deep Q Network) 4. DQNの例 5. まとめ
  • 4.
    © 2018 CoreConcept Technologies Inc. 目次 4 1. 事例紹介 2. 強化学習とは 3. 深層強化学習(Deep Q Network) 4. DQNの例 5. まとめ
  • 5.
    © 2018 CoreConcept Technologies Inc. 事例紹介(ブロック崩し) 5 https://www.youtube.com/watch?v=TmPfTpjtdgg • 2016/06/13にDeepMindが公開した動画 • Atari2600のブロック崩しゲーム • 深層強化学習(DQN)で学習したもの
  • 6.
    © 2018 CoreConcept Technologies Inc. 事例紹介(囲碁) 6 https://gigazine.net/news/20170920-alphago-movie/ 2016年3月に行われたイ・セドル棋士と Googleが開発したAI「AlphaGo」の5番勝負 はAlphaGoが4勝1敗で勝利を収めるという結 果に終わる。
  • 7.
    © 2018 CoreConcept Technologies Inc. 目次 7 1. 事例紹介 2. 強化学習とは 3. 深層強化学習(Deep Q Network) 4. DQNの例 5. まとめ
  • 8.
    © 2018 CoreConcept Technologies Inc. 強化学習とは 8 エージェント 環境 行動 報酬 ネズミの学習問題 • 飼育箱の中に左図のような箱を置く。 • この箱には電源ボタン、餌ボタンが設置されている。 • ネズミは最初、2つのボタンを闇雲に押す。 • たまたま、電源ボタンの次に餌ボタンを押すと餌が得られた。 • 操作を繰り返すうち、餌の得られる順番でボタンを押すように なる。 報酬がもらえる操作が強化(Reinforcement)されるメカニズム を用いた学習法を強化学習 (Reinforcement Learning)と呼ぶ。
  • 9.
    © 2018 CoreConcept Technologies Inc. 9 電源ボタン 商品ボタン 電源ONのとき。OFFのときは 環境 チーズ(報酬)は、電源ONのときに商品ボタンを押すと得られる。 この環境が与えられ時、エージェントに最短の手順でチーズを得るよう学習してもらうことが 目的である。 強化学習の手順を簡単な問題を例に取り説明する。 エージェント
  • 10.
    © 2018 CoreConcept Technologies Inc. 10 環境の取り得る状態は 1. 電源OFF 2. 電源ON の2通りである。 エージェント取り得る行動は 1. 電源ボタンを押す 2. 商品ボタンを押す の2通りである。 簡単のため下図のように0と1で表現する。 状態 電源OFF 0 電源ON 1 行動 電源ボタンを押す 0 商品ボタンを押す 1
  • 11.
    © 2018 CoreConcept Technologies Inc. 11 行動と状態の関係を図で書くと以下のようになる。 状態 電源OFF 0 電源ON 1 行動 電源ボタンを押す 0 商品ボタンを押す 1 電源ボタンを押す 行動:0, 報酬:0 商品ボタンを押す 行動:1, 報酬:0 電源OFF 状態:0 電源ON 状態:1 電源ボタンを押す 行動:0, 報酬:0 商品ボタンを押す 行動:1, 報酬:1 このときだけ報酬が もらえる。
  • 12.
    © 2018 CoreConcept Technologies Inc. 12 𝑄値 行動𝑎 0(電源ボタンを押す) 1(商品ボタンを押す) 状態𝑠 0(電源OFF) 0.225 0 1(電源ON) 0 0.5 • 状態𝑠と行動𝑎から以下の表を作る。この表を𝑄表と呼ぶ。 • 表内の数値は𝑄-Learningと呼ばれるアルゴリズムで算出する。 (報酬などの量はここで使われる。) 「エージェントが状態𝑠にあるとき、𝑄(𝑠, 𝑎)の値が最大となる行動𝑎を選択す る」と約束する。
  • 13.
    © 2018 CoreConcept Technologies Inc. 13 𝑄値が大きいのは、行動0である。従って、エージェントは行動0を選択する。状態 は1に遷移する。 実際にこの表を用いてエージェントを行動させてみる。 状態𝑠 = 0から始める。 𝑠 = 0の行を見る。 𝑄値 行動𝑎 0(電源ボタンを押す) 1(商品ボタンを押す) 状態𝑠 0(電源OFF) 0.225 0 1(電源ON) 0 0.5
  • 14.
    © 2018 CoreConcept Technologies Inc. 14 電源ボタンを押す(𝑎 𝑡 = 0) 𝑠𝑡 = 0(電源OFF) 𝑠𝑡+1 = 1(電源ON)状態が1に変化 ①
  • 15.
    © 2018 CoreConcept Technologies Inc. 15 いま、状態1にある。𝑄表の2行目を見る。 𝑄値が大きいのは行動1である。つまり商品ボタンが押され、チーズ(報酬)を得る。 𝑄値 行動 0(電源ボタンを押す) 1(商品ボタンを押す) 状態 0(電源OFF) 0.225 0 1(電源ON) 0 0.5
  • 16.
    © 2018 CoreConcept Technologies Inc. 16 電源ボタンを押す(𝑎 𝑡 = 0) 商品ボタンを押す(𝑎 𝑡+1 = 1) 𝑠𝑡 = 0(電源OFF) 𝑠𝑡+1 = 1(電源ON) 𝑠𝑡+2 = 1(電源ON)状態が1に変化 状態は1のまま ① ②
  • 17.
    © 2018 CoreConcept Technologies Inc. 目次 17 1. 事例紹介 2. 強化学習とは 3. 深層強化学習(Deep Q Network) 4. DQNの例 5. まとめ
  • 18.
    © 2018 CoreConcept Technologies Inc. 深層強化学習(Deep Q Network) 18 • 先の問題では𝑄の値は4つであった(右表)。簡単である。 • 状態数が大きくなると、𝑄の学習が難しくなる。 • この課題を解決するためDeep Neural Network(DNN)を導入する。 • DNNは多次元入力、多次元出力を容易に実現できる。 • 𝑄-LearningにDNNを導入したものをDeep Q Network(DQN) と呼ぶ。 𝑄値 行動 0 1 状態 0 𝛼 𝛽 1 𝛾 𝛿 今回はDNNの説明は割愛。
  • 19.
    © 2018 CoreConcept Technologies Inc. 19 𝑄値 行動 0 1 2 状態 0 0 3 1 1 2 1 1 2 1 2 1 𝑠𝑡=2 𝑎 𝑡 = 1 0 1 2 0 1 2 𝑠𝑡=2 𝑎 𝑡 = 1 従来の𝑄-Learning Deep Q Network 𝑄(𝑠𝑡, 0) 𝑄(𝑠𝑡, 1) 𝑄(𝑠𝑡, 2) DNN
  • 20.
    © 2018 CoreConcept Technologies Inc. 目次 20 1. 事例紹介 2. 強化学習とは 3. 深層強化学習(Deep Q Network) 4. DQNの例 5. まとめ
  • 21.
    © 2018 CoreConcept Technologies Inc. DQNの例 21 少し複雑な問題「倒立振子」を考える。 カートの上に載っている棒をできるだけ立たせたい。 これをDQNで学習する。
  • 22.
    © 2018 CoreConcept Technologies Inc. 22 このときの状態は以下の4つ。 1. カートの位置𝑝:-2.4から2.4 2. カートの速度𝑣:−∞から+∞ 3. 棒の角度𝑎:-41.8度から41.8度 4. 棒の角速度𝑤:−∞から+∞ 𝑠𝑡が4種類あり、すべて連続値である。一方、行動𝑎 𝑡は 1. カートを右に押す。 2. カートを左に押す。 の2種類になる。考えるDNNは右のようなる。 𝑝 𝑣 𝑎 𝑤 DNN 右 左
  • 23.
    © 2018 CoreConcept Technologies Inc. 23 DQNで学習すると • 200ステップ連続して立ち続ける。 • 10エピソード連続
  • 24.
    © 2018 CoreConcept Technologies Inc. 目次 24 1. 事例紹介 2. 強化学習とは 3. 深層強化学習(Deep Q Network) 4. DQNの例 5. まとめ
  • 25.
    © 2018 CoreConcept Technologies Inc. まとめ 25 • 深層強化学習とは深層学習と強化学習を組み合わせたもの。 • 深層強化学習のひとつ、Deep Q Network(DQN)は𝑄(𝑠, 𝑎)をDNNで計算する。 • 𝑄(𝑠, 𝑎)は行動価値関数と呼ばれる量である。 • 深層強化学習にはDQN以外にもさまざまな種類がある。
  • 26.
    © 2018 CoreConcept Technologies Inc. 画像URL 26 • 電源ボタン: https://weekly.ascii.jp/elem/000/000/185/185343/ • ボタン http://www.excy.co.jp/fuzoku_mens_item_metalbutton_ex-703series.html • ネズミ https://www.xn-- cckyb8ika7450e78m704d6wf.com/%E3%80%90%E5%AE%87%E5%9C%9F%E5%B8%82%E3%81%A7%E3%83%8D%E3%82%BA%E3%83%9F%E9%A7%86%E9%99%A4%E3%80%9 1%E4%BD%8E%E4%BE%A1%E6%A0%BC%E2%98%86%E5%AE%9F%E7%B8%BE%E5%A4%9A%E6%95%B0%E2%98%86%E6%BA%80%E8%B6%B3/ • ランプ https://jp.123rf.com/photo_8534599_%E9%9B%BB%E7%90%83%E3%80%81%E9%9B%BB%E6%BA%90%E3%82%AA%E3%83%B3%E3%80%81%E3%81%8A%E3%82%88%E3%81 %B3%E9%9B%BB%E6%BA%90%E3%82%AA%E3%83%95%E4%BB%A5%E4%B8%8A%E3%81%AE%E9%BB%92%E3%81%84%E8%83%8C%E6%99%AF%E3%81%AE-3-d- %E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3.html • チーズ https://www.google.co.jp/search?newwindow=1&biw=2560&bih=1197&tbm=isch&sa=1&ei=xZjaW_32GoP08QWShLr4BQ&q=%E3%83%81%E3%83%BC%E3%82%BA&oq=%E3%83%81 %E3%83%BC%E3%82%BA&gs_l=img.3..0l10.317326.322864.0.323194.26.15.5.0.0.0.104.896.10j1.11.0....0...1c.1j4.64.img..12.13.671.0..0i4k1.0.sICgKNYB9kg#imgrc=l846ZLBiBqgaYM:
  • 27.
    © 2018 CoreConcept Technologies Inc.

Editor's Notes

  • #9 このメカニズムはネズミを用いた動物実験で見出された。さらに、猿に電極を刺した実験から、脳の学習メカニズムと似ていることが指摘された。