Slide 1

Slide 1 text

DLLAB 強化学習 Day 2021 『これから強化学習を学びたい⼈へ』 株式会社キカガク 代表取締役会⻑ 吉崎亮介 @yoshizaki_91 講演者 フォロー お待ちしてます!

Slide 2

Slide 2 text

本⽇の講演のゴール 強化学習をこれから学び始めたい ギャップ Deep Q Network (DQN) 囲碁 AlphaGo • 強化学習とはどのような位置付け? • 強化学習はどの分野への応⽤? • 強化学習と深層強化学習の違い • なぜ事例が少ないのか • ⾃社の課題へ適⽤できるための条件 • 学び⽅のロードマップ 理解しておきたいこと

Slide 3

Slide 3 text

強化学習と機械学習の位置付け 教師なし 学習 強化学習 教師あり 学習 機械学習

Slide 4

Slide 4 text

強化学習と機械学習の位置付け 教師なし 学習 強化学習 教師あり 学習 機械学習 状態を推定 ⾏動を決定 前処理など ※ 今回は省略

Slide 5

Slide 5 text

強化学習と機械学習の位置付け 環境 エージェント

Slide 6

Slide 6 text

強化学習と機械学習の位置付け 環境 エージェント 状態を推定

Slide 7

Slide 7 text

強化学習と機械学習の位置付け 環境 エージェント ⾏動を決定 状態を推定

Slide 8

Slide 8 text

強化学習と機械学習の位置付け 環境 エージェント ⾏動を決定 状態を推定 報酬

Slide 9

Slide 9 text

強化学習と機械学習の位置付け 環境 エージェント ⾏動を決定 状態を推定 報酬 (教師あり学習) (強化学習)

Slide 10

Slide 10 text

よくある迷路の例で強化学習をより深く理解しよう

Slide 11

Slide 11 text

よくある迷路の例で強化学習をより深く理解しよう 強化学習で代表的な Q 学習ではこれで⾏動を全て決める 環境に対応する状態の集合 時間ステップ に対する⾏動と状態の確率変数 ⾏動の集合 学習率 割引率 Q 値(更新後) Q 値(更新前) 報酬 Q 値(次の⾏動と状態) よくわからない… 今はこの状態で OK! Q 学習では Q 値で評価を⾏い、これを状態と⾏動に基づいて更新していく 現状で押さえておきたいポイント

Slide 12

Slide 12 text

よくある迷路の例で強化学習をより深く理解しよう Step1. 各マス⽬に状態を設定 今回は迷路のマスが 9 個なので 状態も 9 個ですね

Slide 13

Slide 13 text

よくある迷路の例で強化学習をより深く理解しよう 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Step2. 各状態の⾏動に対応する Q 値を初期化して報酬を設定 各状態での⾏動は 『上下左右』の 4パターンですね +1 -1 -1 -1 -1 報酬は 正の値だけでなく 負の値でもOKですね

Slide 14

Slide 14 text

よくある迷路の例で強化学習をより深く理解しよう Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定(とはいえ最初はランダムに⾏動) +1 -1 -1 -1 -1 最初は何も わからないので とにかくランダムに ⾏動します

Slide 15

Slide 15 text

よくある迷路の例で強化学習をより深く理解しよう Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定 +1 -1 -1 -1 -1 何回か挑戦して たまたま ゴールに到達 できました!

Slide 16

Slide 16 text

よくある迷路の例で強化学習をより深く理解しよう 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 +1 -1 -1 -1 -1 Q 値に報酬が 加わって 更新されます Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定 報酬 ここでゴールした 状態と⾏動の Q 値のみ 報酬が加算され 他の状態と⾏動の Q 値はそのままです * 便宜上、概念の理解を優先するために学習率と割引率の計算は無視して、 現在の Q 値に報酬や次の Q 値を⾜し合わせています。 概念が理解できた⽅は右に⽰す式で正しい計算に挑戦してみましょう。 報酬

Slide 17

Slide 17 text

よくある迷路の例で強化学習をより深く理解しよう Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定 +1 -1 -1 -1 -1 また何回か挑戦して ゴールの⼀歩⼿前に 到達できました!

Slide 18

Slide 18 text

よくある迷路の例で強化学習をより深く理解しよう 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 +1 -1 -1 -1 -1 Q 値は 報酬だけでなく 次の⾏動と状態の Q 値からも 影響されるのです Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定 Q 値(次の⾏動と状態) 伝播 * 便宜上、概念の理解を優先するために学習率と割引率の計算は無視して、 現在の Q 値に報酬や次の Q 値を⾜し合わせています。 概念が理解できた⽅は右に⽰す式で正しい計算に挑戦してみましょう。

Slide 19

Slide 19 text

よくある迷路の例で強化学習をより深く理解しよう Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定 +1 -1 -1 -1 -1 そのままゴール!

Slide 20

Slide 20 text

よくある迷路の例で強化学習をより深く理解しよう 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 -1 -1 -1 -1 Step3. 各状態の⾏動に対応する Q 値に基づいて⾏動を決定 報酬 +1 報酬 * 便宜上、概念の理解を優先するために学習率と割引率の計算は無視して、 現在の Q 値に報酬や次の Q 値を⾜し合わせています。 概念が理解できた⽅は右に⽰す式で正しい計算に挑戦してみましょう。

Slide 21

Slide 21 text

よくある迷路の例で強化学習をより深く理解しよう + 0 - 0 0 0 0 0 0 0 0 0 + 0 - 0 0 0 0 0 0 0 0 0 0 0 + 0 0 - + 0 0 - + 0 -1 -1 -1 -1 ゴールから得た報酬が Q 値として伝播して最適な⾏動が決まっていく 報酬 +1 伝播 伝播 伝播 伝播 何度も何度も 繰り返して Q 値を 更新することで 最適な⾏動が 求まるのですね Q 値は 正の値だけでなく 負の値も 伝播しますね

Slide 22

Slide 22 text

よくある迷路の例で強化学習をより深く理解しよう 環境 エージェント ⾏動を決定 状態から Q値を推定 報酬 (強化学習)

Slide 23

Slide 23 text

強化学習を適⽤するための条件 何度も繰り返して特定の状態に対する⾏動を試せる環境が必要 シミュレータであれば実機よりも多く試⾏することが可能 シミュレータを作るには法則の把握が不可⽋ ゲーム 法則:ルール ロボット 法則:物理 株取引 法則はないが 市場に与える影響が微⼩と 仮定すれば過去の取引で シミュレーションが可能 (?) 経営の意思決定を丸投げするのは 夢のまた夢かな…

Slide 24

Slide 24 text

強化学習と深層強化学習 ブロック崩しの場合にどうやって状態を決める…?? 迷路の例と異なり 環境の状態が ブロック、ボール エージェントと 関係性が 複雑すぎて 各状態の⾏動の 全ての Q 値を 考えるのは 困難です… ⾏動は左右の 2パターンに 限定することも できますが 実際には コントローラーの スティックの 倒し⽅の強弱で 変わりますよね?

Slide 25

Slide 25 text

強化学習と深層強化学習 ここで、畳み込みニューラルネットワーク (CNN) の深層学習が登場 環境 エージェント ⾏動を決定 報酬 (スコア) (強化学習) (教師あり学習) 状態 状態から Q値を推定 画像 Q 値 CNN これが深層強化学習 DQN のベースはこちらで 厳密にはさらにうまく学習 させるためのテクニックを 導⼊しています。

Slide 26

Slide 26 text

学び⽅のロードマップ まず実装して試しながら深堀りしたい⽅ Q 学習の数式の理解は後回しで PyTorch のチュートリアルに挑戦 おすすめ:PyTorch チュートリアル(⽇本語翻訳版) https://yutaroogawa.github.io/pytorch_tutorials_jp/ 理論を押さえてから始めたい⽅ ベルマン⽅程式から Q 学習の更新式を導出してみよう おすすめ:これからの強化学習(書籍) 予想: おそらくどちらのルートを通ったとしても研究開発レベルで深掘りしていく頃には 数式に対する理解もある程度必要になり勉強することになります。

Slide 27

Slide 27 text

学び⽅のロードマップ 強化学習の難易度が⾼い数式を理解するための理想的なロードマップ(吉崎の主観) 微 積 分 単 回 帰 分 析 重 回 帰 分 析 プ ロ グ ラ ミ ン グ 確 率 統 計 情 報 理 論 ロ ジ ス テ % & ク 回 帰 S V M 主 成 分 分 析 k 平 均 法 決 定 ⽊ ニ + , ラ ル ネ & ト ワ , ク デ % , プ ラ , ニ ン グ 線 形 代 数 ︵ 基 礎 編 ︶ 線 形 代 数 ︵ 応 ⽤ 編 ︶ ア ン サ ン ブ ル 学 習 ︵ XGBoost な ど ︶ ガ ウ ス 過 程 回 帰 Q学習 深層強化学習 独⾃の研究 制 約 付 き 最 適 化 問 題 ベ イ ズ 最 適 化 ベ イ ズ 統 計 この内容を網羅した⼿書きの数学と ハンズオンでのプログラミングの コースを全編12時間動画付き無料公開中 これはやるしかない! (経営⼤丈夫かいな…) この裏話は Qiita にて キカガクで⼀番⼈気の脱ブラックボックスコースに 完全版が登場&全編無料で公開決定!の裏話 で公開中 kikagaku.ai 検索

Slide 28

Slide 28 text

まとめ • 強化学習は⾏動を決め、深層学習含めた教師あり学習では状態(から Q 値) を推定 • シミュレータでの再現が重要で、法則の把握がシミュレータ制作には必要 ご清聴いただき、ありがとうございました。 キカガク Wantedly 検索 教育へ熱い思いを 持っている⽅ ぜひ⼀緒に 働きましょう!