Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20190615_DeepRacerClub_at_Okayama
Search
貞松政史
June 15, 2019
Technology
1
550
20190615_DeepRacerClub_at_Okayama
20190615 DeepRacer同好会オフライン勉強会第三回@岡山
貞松政史
June 15, 2019
Tweet
Share
More Decks by 貞松政史
See All by 貞松政史
Amazon Forecast亡き今、我々がマネージドサービスに頼らず時系列予測を実行する方法
sadynitro
0
260
今日のハイライトをシステマティックに
sadynitro
1
40
はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜
sadynitro
1
1k
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
590
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
710
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
sadynitro
0
810
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
sadynitro
0
170
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
1.6k
みんな大好き強化学習
sadynitro
0
1k
Other Decks in Technology
See All in Technology
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
340
12 Days of OpenAIから読み解く、生成AI 2025年のトレンド
shunsukeono_am
0
160
Qiita埋め込み用スライド
naoki_0531
0
5.3k
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
460
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
280
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
140
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
290
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
180
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
550
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
280
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
120
Featured
See All Featured
Navigating Team Friction
lara
183
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
The Invisible Side of Design
smashingmag
298
50k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
RailsConf 2023
tenderlove
29
940
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Fireside Chat
paigeccino
34
3.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Why Our Code Smells
bkeepers
PRO
335
57k
Adopting Sorbet at Scale
ufuk
73
9.1k
Transcript
Deep Racer League Virtual Circuit Vol.1 - London Loop Highlight
クラスメソッド株式会社 データインテグレーション部 2019.6.15 DeepRacer同好会 第三回オフライン勉強会@岡⼭ 貞松 政史 1
2 本⽇のハッシュタグ #AWSDeepRacerJP
3 ⾃⼰紹介 貞松 政史 (サダマツ マサシ) @sady_nitro データインテグレーション部 (DI部) 開発チーム
岡⼭オフィス勤務 データ分析基盤開発 某コーヒー関連 SageMaker Lambda ⽒名 所属 近況 好きなAWS サービス
4 本セッションから得てほしいこと DeepRacer 楽しい︕
5 本セッションから得てほしいこと l Deep Racer Virtual Circuitの概要 l Virtual Circuitの実際の⼤会の流れ
l Virtual Circuitに対するアプローチ 今後の⼤会に取り組む為の⼿がかり
6 本セッションで話さないこと 強化学習の⼿法(アルゴリズム)についての詳細 DeepRacerの実機に関する内容
7 お品書き DeepRacer League Virtual Circuitの概要 DeepRacerコンソールの操作フロー London Loop ⼤会のハイライト
London Loopに対するアプローチ 今後の⼤会に向けて 1 2 3 4 5
8 DeepRacer League Virtual Circuit の概要
9 DeepRacer League Virtual Circuit
10 DeepRacer League Virtual Circuitの概要 • re:Invent 2019開催⽉まで、毎⽉開催 • DeepRacerコンソール上で学習したモデルを
そのままデプロイしてレースに参加 • 上位10名にはDeepRacerの実機を進呈 • 優勝者はre:Invent 2019に招待 (イベント参加費、交通・宿泊費をAWSが負担)
11 DeepRacerコンソールの 操作フロー
12 DeepRacerコンソール
13 DeepRacerに対する強化学習の環境 State (状態) DeepRacerのカメラ画像 Action (⾏動) 状態に対するエージェント (DeepRacer)の動作 Reward
(報酬) 報酬関数で設定した動作の 結果に対する報酬値
14 DeepRacerコンソールを⽤いた開発の流れ 必要なAWSリソースを作成 学習モデルを作成・学習実⾏ 学習済みモデルの評価・デプロイ
15 必要なリソースを作成 ※ S3やVPCの課⾦も発⽣しているので注意︕
16 モデルを学習 モデル名・概要⼊⼒ 学習対象のコース選択 ⾏動パターンの設定 報酬関数の実装 ハイパーパラメータの設定 学習時間の設定
17 トレーニングの実⾏ 時間毎の累積報酬 DeepRacerのカメラ画像 (シミュレーター)
18 学習済みモデルを評価 学習済みモデルで3〜5回トライアルを⾏う ⁻ Time : 1回のトライアルでかかった時間 ⁻ Trial result
: 100%ならコース1周完⾛
19 DeepRacerのAction設定⽅法 l ハンドルの操作⾓ l スピード(m/s) →最⼤値と⾏動数(刻み幅) で設定
20 設定されたAction ハンドルの操作⾓とスピー ドの掛け合わせで⾏動パ ターンが設定される
21 Actionを設定する上での注意点 ⾏動パターンを増やし過ぎると学習に時間が掛かる 学習ジョブのClone時は元のActionを変更できない コースの特性に合わせて設定が必要 報酬関数の設計とトータルで考える必要がある
22 報酬関数を作成する エージェント(DeepRacer) から得られる情報を元に ⾏動に対する報酬を設定する https://docs.aws.amazon.com/ja_jp/ deepracer/latest/developerguide/de epracer-reward-function-input.html
23 報酬関数の例 パターン1 センターラインに沿って⾛⾏させる
24 報酬関数の例 パターン2 早いスピードで⾛⾏させる ※Action設定でスピードのパターンが1種類のみの場合は無意味
25 報酬関数の例 パターン3 急ハンドルやジグザグ⾛⾏を抑制する
26 参考ブログエントリー その1 https://dev.classmethod.jp/cloud/aws/aws-deepracer-virtual-circuit-join/
27 参考ブログエントリー その2 https://dev.classmethod.jp/machine-learning/aws-deepracer-pattern-of- reward-function/
28 London Loopのハイライト
29 London Loop London Loop
30 序盤 センターライン寄せと ジグザグハンドル抑制の 報酬関数を組み合わせ 暫定6位に︕
31 これ、いけるのでは︕︖
32 中盤 残り10⽇あたりで急に全体のタイムが伸び始める (この時点で30位ぐらいまで落ちる)
33 (予想した)限界タイムに近づいている…
34 終盤 そして最終〆切間近…
35 終盤
36 ︕︕︕
37 結果惨敗 orz(46位)
38 総評 • 12秒台に⼊ってからタイムが伸び悩む • ⼯夫次第で12秒前半はいけたかも • 終盤に⼀度RoboMakerのアップデートにより DeepRacerコンソールが利⽤不能に (正確にはROSのアップデートによるもの)
• 再度コンソールが利⽤可能になってから急激に トップタイムが伸びた(…)
39 London Loopに対するアプローチ
40 コースの特徴を捉える センターラインに沿うと上⼿く いきそう キツめのカーブがいくつかある (スピードの調整が必要︖) re:Invent 2018
41 コースの特徴を捉える London Loop センターラインにびったり沿う と無駄が多そう 緩いカーブの連続で構成されて いる(速いスピードを維持する のが良さそう︖)
42 前半のアプローチ • とはいえちゃんと⾛りきれないと意味がない (デプロイしても記録なしになる) • センターラインに沿うような報酬の与え⽅ • 緩いカーブが多いので、出来るだけ直線的に ⾛らせたい
• 急ハンドルを抑制するような報酬の与え⽅ • あとは速いスピードを維持するためにスピードは早 めの⼀種類のみ(最初は4m/s→結局5m/sに)
43 前半のアプローチ
44 これで序盤6位に︕
45 後半のアプローチ • フルスロットル(5m/s)でただ1周⾛り切れるだけ ではタイムが伸びない • 出来るだけロスのない⾛りが必要 • CloudWatch Logを読み解く
• 1周するのに◦秒、◦step掛かる • △秒で⾛るには、△Step以下で⾛りきる必要がある • progressとstepを使ってなんとかできないか
46 後半のアプローチ
47 これでさらにタイムが短縮︕
48 でも最終的に惨敗 orz
49 実際にモデルの学習を繰り返してわかったこと London loopをひたすら回した結果 • センターラインにびったり張り付いても速くない • 意外とフルスロットルでいける • 報酬関数は複雑なほど良いわけでは無い
• 最終的にカリッカリにタイム短縮を狙うなら stepsやprogressの考慮が必要…︖ • さらにカリッカリにチューニングする場合はハイ パーパラメータの調整も⼊ってきそう
50 今後の⼤会に向けて
51 現在開催中のVirtual Circuit Kumo Torakku ⻑いホームストレートと連続低速コーナー より複雑な学習モデルが必要 speed設定が0.8〜8.0m/sに(以前は0.5〜5.0m/s)
52 傾向と対策 • 軽く学習回してみた感じ、流⽯にフルスロットル ⼀本では曲がりきれない • スピードのパターンが増える • 低速コーナーと⻑いストレートの両⽅対応しないと タイムが伸びない
• ステアリングのパターンを減らして、スピードに関 する報酬を調整すると少しマシになった より多くの試⾏錯誤が必要
53 DeepRacerはお⾦が掛かる ぶっちゃけた話
54 必要なもの • 情報 • うまくいったパターン • うまくいかなかったパターン • 設計とレース結果以外の情報(ログの解析など)
• 強化学習の知識 • (とはいえ)資⾦ • 所属企業の⽀援 • AWS利⽤料⾦以外で掛かる⾦銭⾯について (実機とかコースとか)
55 協⼒が必要 個⼈で戦うには限界がある オープンな情報と競り合いから より良い結果が⽣まれる ⽇本⼈からDeepRacer Leagueの 世界チャンピオンを︕
56 まとめ
57 まとめ DeepRacer League Virtual Circuitの概要 DeepRacerコンソールの操作フロー London Loopのハイライト London
Loopに対するアプローチ 今後の⼤会に向けて協⼒が必要
58 DeepRacer 難しい…
59 でも DeepRacer 楽しい︕
None