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
530
20190615_DeepRacerClub_at_Okayama
20190615 DeepRacer同好会オフライン勉強会第三回@岡山
貞松政史
June 15, 2019
Tweet
Share
More Decks by 貞松政史
See All by 貞松政史
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
200
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
630
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
sadynitro
0
730
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
sadynitro
0
120
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
1.2k
みんな大好き強化学習
sadynitro
0
880
機械学習エンジニアはMLOpsの夢を見るか?
sadynitro
0
1.1k
AWSのAIサービスインテグレーション - AIの仕組みを活用した課題解決
sadynitro
0
920
実践Amazon SageMaker - 全体像からユースケースまで
sadynitro
0
2.3k
Other Decks in Technology
See All in Technology
モノリスから小さなシステムへ / Chatworkシステム移行の現在地と今後について@開発生産性カンファレンス
tanakayuki
1
2.1k
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
10
4.4k
スクラムチームの品質戦略 1年の歩み
hacomono
PRO
1
150
お手並み拝見にしないオンボーディング
zuckey_17
2
1.3k
The Art of Malware C2 Scanning - How to Reverse and Emulate Protocol Obfuscated by Compiler
takahiro_haruyama
0
1.4k
RDS for Db2 はじめの一歩・作り方編 #2/ 20240628 First RDS for Db2 creation
kyokonishito
0
200
育休を約半年取得しまた1カ⽉取ろうとしているエンジニア
sansantech
PRO
1
180
運用者の各領域で向き合うLLM
nwiizo
1
270
マルチエージェントで性能が上がったText-to-SQLのいま/Text-to-SQL
yoshidashingo
2
1.4k
Productivity-Conference-GitHub-20240629
yuhattor
2
2k
Introducing Azure Automation Runtime Environment
mappie_kochi
0
170
現場の失敗から学ぶ!プロダクトバックログアイテムの改善/Learn_from_On-Site_Failures!_Improving_Product_Backlog_Items
m_iyama
3
890
Featured
See All Featured
Writing Fast Ruby
sferik
623
60k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
The Illustrated Children's Guide to Kubernetes
chrisshort
35
47k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
650
58k
Fantastic passwords and where to find them - at NoRuKo
philnash
40
2.6k
Teambox: Starting and Learning
jrom
129
8.5k
What the flash - Photography Introduction
edds
64
11k
Facilitating Awesome Meetings
lara
44
5.8k
How to name files
jennybc
66
95k
The Invisible Side of Design
smashingmag
294
50k
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