Upgrade to Pro — share decks privately, control downloads, hide ads and more …

楽しみながら機械学習を学べる!DeepRacer入門

 楽しみながら機械学習を学べる!DeepRacer入門

MasahiroKawahara

September 18, 2019
Tweet

More Decks by MasahiroKawahara

Other Decks in Technology

Transcript

  1. 1
    楽しみながら機械学習を学べる︕
    DeepRacer⼊⾨
    川原 征⼤

    View full-size slide

  2. スライドは後で⼊⼿することが出来ますので
    発表中の内容をメモする必要はありません。
    写真撮影をする場合は
    フラッシュ・シャッター⾳が出ないようにご配慮ください
    Attention

    View full-size slide

  3. 3
    ⽬次
    ü DeepRacerとは
    ü DeepRacer 各プロセス
    Ø 学習フェーズ
    Ø 評価フェーズ
    Ø リーグ参戦
    ü DeepRacer やってみた

    View full-size slide

  4. 4
    ⾃⼰紹介
    川原 征⼤
    AWS事業本部 コンサルティング部 AWSエンジニア
    ü 職歴
    Ø 2017/04 SE会社 ⼊社
    • 主にオンプレネットワーク
    • 少しAWS
    Ø 2019/06 クラスメソッド ⼊社
    ü 好きなもの︓

    View full-size slide

  5. 5
    DeepRacerとは

    View full-size slide

  6. 6
    DeepRacer TV
    https://www.youtube.com/watch?v=JGMNk_HfruY

    View full-size slide

  7. 7
    DeepRacerとは
    ü AWSが提供する機械学習の1サービス
    ü レーシングカーの⾃動⾛⾏を⽬指す
    ü 強化学習を楽しみながら習得できる
    https://aws.amazon.com/jp/deepracer/

    View full-size slide

  8. 8
    DeepRacer のプロセス

    View full-size slide

  9. 11
    3. リーグ

    View full-size slide

  10. 12
    DeepRacerのプロセス
    https://dev.classmethod.jp/cloud/aws/relay_looking_back_aws-deepracer/

    View full-size slide

  11. 13
    DeepRacerのプロセス
    https://dev.classmethod.jp/cloud/aws/relay_looking_back_aws-deepracer/
    ・AWSマネコンからの GUI 操作
    ・仮想サーキット上で⾞両を⾛らせる
    ・強化学習モデルをトレーニング

    View full-size slide

  12. 14
    DeepRacerのプロセス
    https://dev.classmethod.jp/cloud/aws/relay_looking_back_aws-deepracer/
    ・仮想環境上で評価
    →結果を Jupyter Notebook等で分析
    ・実環境マシンに学習モデルを転送
    → ⾛らせてみる

    View full-size slide

  13. 15
    DeepRacerのプロセス
    https://dev.classmethod.jp/cloud/aws/relay_looking_back_aws-deepracer/
    ・仮想環境
    → DeepRacer Virtual Circuit
    ・実環境
    → AWS Summit
    → AWS re:Invent

    View full-size slide

  14. 16
    学習フェーズ

    View full-size slide

  15. 17
    DeepRacerで学ぶ強化学習

    View full-size slide

  16. 18
    強化学習とは (wikipedia より)
    ü 強化学習とは、ある環境内におけるエージェントが、現在の状態を
    観測し、取るべき⾏動を決定する問題を扱う機械学習の⼀種
    ü エージェントは⾏動を選択することで報酬を得る
    ü 強化学習は⼀連の⾏動を通じて報酬が最も多く得られるような⽅策
    (policy)を学習する

    View full-size slide

  17. 19
    強化学習とは (⽤語)
    ü DeepRacerにおけるエージェント(Agent)
    Ø レーシングカー

    View full-size slide

  18. 20
    強化学習とは (⽤語)
    ü DeepRacerにおける環境(Environment)
    Ø サーキット

    View full-size slide

  19. 21
    強化学習とは (⽤語)
    ü DeepRacerにおける状態(State)
    Ø カメラ画像

    View full-size slide

  20. 22
    強化学習とは (⽤語)
    ü DeepRacerにおける⾏動(Action)
    Ø レーシングカーの⾏動
    • Steering: 直進・右折・左折
    • Speed: 加速・減速

    View full-size slide

  21. 23
    強化学習とは (⽤語)
    ü DeepRacerにおける報酬(Reward)
    Ø レーシングカーが取った⾏動の良さ
    • コースアウトせずに⾛れているか
    • 速く⾛れているか

    View full-size slide

  22. 24
    強化学習とは (再)
    ü 強化学習とは、ある環境内におけるエージェントが、現在の状態を観測し、取
    るべき⾏動を決定する問題を扱う機械学習の⼀種
    ü エージェントは⾏動を選択することで報酬を得る
    ü 強化学習は⼀連の⾏動を通じて報酬が最も多く得られるような⽅策(policy)を
    学習する

    View full-size slide

  23. 25
    学習フェーズ (再)

    View full-size slide

  24. 26
    学習フェーズですること
    ü 強化学習モデルの作成
    1. 環境(サーキット) の設定
    2. ⾏動空間(速度・ステアリング) の設定
    3. 報酬関数の設定
    4. ハイパーパラメータ の設定
    5. 学習時間の設定

    View full-size slide

  25. 27
    学習中・・・
    ü トレーニングの様⼦を確認できます

    View full-size slide

  26. 28
    (補⾜) バックグラウンド AWSサービス
    https://www.youtube.com/watch?v=EUBYDkbgBrM

    View full-size slide

  27. 29
    評価フェーズ

    View full-size slide

  28. 30
    評価フェーズ
    ü トレーニングしたモデルを評価する
    Ø 仮想空間上で評価
    • 後述
    Ø 現実空間上で評価
    • 実機にモデルを転送
    • 物理サーキット上で⾛らせてみる
    (引⽤) DNPオリジナル・コースによる「AWS DeepRacer
    GP powered by DNP」を初公開
    https://www.dnp.co.jp/news/detail/1192345_1587.html

    View full-size slide

  29. 31
    仮想空間上で評価︓⾛らせてみる
    ü モデル・サーキットを指定
    ü 3〜5回 試⾏

    View full-size slide

  30. 32
    仮想空間上で評価︓ログを分析

    View full-size slide

  31. 33
    仮想空間上で評価︓ログを分析
    ü トレーニングや試⾛のログは CloudWatchに保存

    View full-size slide

  32. 34
    仮想空間上で評価︓ログを分析
    ü ログを分析する⽅法
    Ø CloudWatch Logs Insights
    Ø Python
    Ø Tableau
    Ø Jupyter Notebook
    Ø ...など

    View full-size slide

  33. 35
    (分析例) CloudWatch Logs Insights
    Ø 各エピソードの⾛⾏結果表⽰ (コースアウト or 完⾛、タイム)
    Ø 完⾛率の表⽰
    Ø CSV保存 → 分析ソフトウェア ...など
    DeepRacerのモデルの学習状況をCloudWatch Logs Insightsで確認する
    https://dev.classmethod.jp/machine-learning/deepracer-cwlogsinsights/

    View full-size slide

  34. 36
    (分析例) Python
    DeepRacerの⾛⾏ログを Matplotlibで可視化する
    https://dev.classmethod.jp/server-side/python/deepracer-matplotlib-pandas/

    View full-size slide

  35. 37
    (分析例) Tableau
    DeepRacerの⾛⾏ログをTableauで分析してみた
    https://dev.classmethod.jp/etc/analysis_sim_trace_log/

    View full-size slide

  36. 38
    (分析例) Jupyter Notebook
    ü https://github.com/aws-samples/aws-deepracer-workshops
    Ø AWSが提供しているログ分析ツール
    AWS DeepRacerのログ分析ツールを使ってみた
    https://qiita.com/dnp-ayako/items/d4e1378bef45cd0994dd

    View full-size slide

  37. 39
    リーグ参戦

    View full-size slide

  38. 40
    DeepRacerリーグ概要
    ü “世界初のグローバル⾃⾛型レーシングリーグ”
    ü 今は re:Invent 本戦に向けた予選中
    Ø 仮想: バーチャル サーキット・リーグ
    Ø 実機: サミット サーキット・リーグ
    https://aws.amazon.com/jp/summits/tokyo-2019/deepracer-league-guide/
    Now!!

    View full-size slide

  39. 41
    バーチャル サーキット・リーグ
    ü ⽉替りで開催
    ü トレーニングさせたモデルを提出 (Submit) する
    Ø 5回試⾛。完⾛したベストタイムがリーダーボードに登録
    Ø Submit は 30分に 1回
    7⽉: Empire City Circuit 8⽉: Shanghai Sudu 今⽉(9⽉) : Cumulo Carerra

    View full-size slide

  40. 42
    バーチャル サーキット・リーグ (画⾯)

    View full-size slide

  41. 43
    サミット サーキット・リーグ
    ü 各 AWS Summitの現地で開催
    【参加レポート】AWS DeepRacer リーグに参加してきました
    https://dev.classmethod.jp/cloud/awssummit2019-deepracer-league/

    View full-size slide

  42. 44
    リーグの報酬
    ü DeepRacer 賞
    Ø 対象︓10位以内の⼊賞
    Ø 賞品︓DeepRacer レーシングカー実機
    ü re:Invent 賞
    Ø 対象︓1位 + α (※)
    Ø 賞品︓re:Invent リーグへの参戦権
    • 参加費、交通費、宿泊費は AWS が負担︕
    ※ 各サーキットを通じて所定の⽅法で評価された「ポイントゲッター」
    https://aws.amazon.com/jp/summits/tokyo-2019/deepracer-league-guide/

    View full-size slide

  43. 45
    やってみた

    View full-size slide

  44. 46
    7⽉の仮想リーグに参戦

    View full-size slide

  45. 47
    公式の Getting started をやる

    View full-size slide

  46. 48
    Get started with reinforcement learning
    https://console.aws.amazon.com/deepracer/home?region=us-east-1#getStarted

    View full-size slide

  47. 49
    モデルの作成

    View full-size slide

  48. 50
    (再掲) 学習フェーズですること
    ü 強化学習モデルの作成
    1. 環境(サーキット) の設定
    2. ⾏動空間(速度・ステアリング) の設定
    3. 報酬関数の設定
    4. ハイパーパラメータ の設定
    5. 学習時間の設定

    View full-size slide

  49. 51
    環境
    ü トレーニング⽤コースを選択

    View full-size slide

  50. 52
    ⾏動空間
    ü フィーリングで決定

    View full-size slide

  51. 53
    報酬関数
    ü ⼊⼒パラメータについて学ぶ
    Ø distance_from_center
    Ø steering_angle
    Ø speed
    ... など
    https://docs.aws.amazon.com/ja_jp/deepracer/latest/developerguide/deepracer-reward-function-input.html

    View full-size slide

  52. 54
    報酬関数
    ü 作成してみる

    View full-size slide

  53. 55
    ハイパーパラメータ
    ü ???

    View full-size slide

  54. 56
    ハイパーパラメータ
    ü 勉強会で⼤雑把に理解。とりあえずデフォルト設定で
    ← 1学習で使⽤するデータ量
    ← 学習回数
    ← 学習しやすさ
    ← ⾏動選択のランダムさ
    ←どれだけ将来のステップを考慮するか
    ←損失関数の選択。Huberの⽅が収束がいいらしい
    ←どれだけ経験を積んでから更新するか

    View full-size slide

  55. 57
    学習時間
    ü とりあえず 1時間

    View full-size slide

  56. 58
    トレーニング開始

    View full-size slide

  57. 59
    トレーニング中
    ü ⾒ているだけで楽しい

    View full-size slide

  58. 60
    モデル完成︕

    View full-size slide

  59. 61
    トレーニング⇔評価 繰返しながら
    ひたすらサブミット

    View full-size slide

  60. 62
    ⼀番輝いていたとき

    View full-size slide

  61. 63
    過学習に苦しむ

    View full-size slide

  62. 64
    過学習に苦しむ
    ← 直進するところを
    左にコースアウトしてしまう

    View full-size slide

  63. 65
    過学習に苦しむ
    ü 原因︓トレーニング/本番 コースの形状の違い

    View full-size slide

  64. 67
    13位で Finish

    View full-size slide

  65. 69
    感想
    ü DeepRacer 楽しい︕
    Ø ⾞の(⾃動)運転という親しみやすいお題
    Ø 知らず知らずのうちに各専⾨⽤語が頭に⼊っていく
    ü 分析で得られたスキルが多い
    Ø AWS (CloudWatch Logs Insights)
    Ø Python (pandas, matplotlib, JupyterNotebook)
    ü 機械学習を学ぶモチベーションができた
    Ø 現在勉強中・・・

    View full-size slide

  66. 71
    まとめ
    ü DeepRacerは楽しみながら強化学習を学べるコンテンツ
    ü 仮想/Summit リーグは報酬あり
    Ø 10位以内 ... 実機レーシングカー
    Ø 1位 ... re:Invent (ラスベガス) 招待
    ü 機械学習未経験者にこそオススメ
    Ø 実体験を通して⾃然と知識が⼊っていく
    Ø 機械学習に DeepDive するきっかけに

    View full-size slide

  67. 72
    補⾜︓ほか参考資料

    View full-size slide

  68. 73
    ほか参考資料
    ü 料⾦・無料利⽤枠について
    Ø https://aws.amazon.com/jp/deepracer/pricing/
    ü DevelopersIOの DeepRacer関連のブログ⼀覧
    Ø https://dev.classmethod.jp/referencecat/aws-deepracer/
    ü DeepRacer リーグのルール詳細
    Ø https://aws.amazon.com/jp/summits/tokyo-2019/deepracer-league-guide/
    ü AWS DeepRacer workshop
    Ø https://github.com/aws-samples/aws-deepracer-
    workshops/blob/master/Workshops/2019-AWSSummits-
    AWSDeepRacerService/Lab1/Readme-Japanese.md

    View full-size slide