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 貞松政史
今日のハイライトをシステマティックに
sadynitro
1
36
はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜
sadynitro
1
840
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
520
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
690
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
sadynitro
0
800
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
sadynitro
0
150
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
1.5k
みんな大好き強化学習
sadynitro
0
970
機械学習エンジニアはMLOpsの夢を見るか?
sadynitro
0
1.2k
Other Decks in Technology
See All in Technology
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
840
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
AIチャットボット開発への生成AI活用
ryomrt
0
170
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
390
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
230
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
GitHub's CSS Performance
jonrohan
1030
460k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Designing for humans not robots
tammielis
250
25k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Become a Pro
speakerdeck
PRO
25
5k
Music & Morning Musume
bryan
46
6.2k
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