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
AWS DeepRacerで最適な行動・報酬関数を得る為の試行錯誤
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
貞松政史
May 16, 2019
Technology
0
2.2k
AWS DeepRacerで最適な行動・報酬関数を得る為の試行錯誤
2019/05/16 DeepRacer同好会 第二回オフライン勉強会@大阪 のセッションスライドです。
貞松政史
May 16, 2019
Tweet
Share
More Decks by 貞松政史
See All by 貞松政史
Amazon Forecast亡き今、我々がマネージドサービスに頼らず時系列予測を実行する方法
sadynitro
0
1.2k
今日のハイライトをシステマティックに
sadynitro
1
81
はじめてのレコメンド〜Amazon Personalizeを使った推薦システム超超超入門〜
sadynitro
2
2.5k
予知保全利用を目指した外観検査AIの開発 〜画像処理AIを用いた外観画像に対する異常検知〜
sadynitro
0
1.2k
20230904_GoogleCloudNext23_Recap_AI_ML
sadynitro
0
920
Foundation Model全盛時代を生きるAI/MLエンジニアの生存戦略
sadynitro
0
1k
Amazon SageMakerが存在しない世界線 のAWS上で実現する機械学習基盤
sadynitro
0
290
Amazon SageMakerが存在しない世界線のAWS上で実現する機械学習基盤
sadynitro
0
2.1k
みんな大好き強化学習
sadynitro
0
1.3k
Other Decks in Technology
See All in Technology
Vitest Highlights in Angular
rainerhahnekamp
0
120
DEVCON 14 Report at AAMSX RU65: V9968, MSX0tab5, MSXDIY etc
mcd500
0
240
入社1ヶ月でデータパイプライン講座を作った話
waiwai2111
1
210
re:Inventで出たインフラエンジニアが嬉しかったアップデート
nagisa53
4
230
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
160
20260129_CB_Kansai
takuyay0ne
1
250
Amazon ElastiCacheのコスト最適化を考える/Elasticache Cost Optimization
quiver
0
350
What happened to RubyGems and what can we learn?
mikemcquaid
0
180
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
130
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
120
JuliaTokaiとしてはこれが最後かもしれない(仮) for NGK2026S
antimon2
0
130
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
660
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
200
Building a Scalable Design System with Sketch
lauravandoore
463
34k
A Soul's Torment
seathinner
5
2.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
230
Designing for Timeless Needs
cassininazir
0
120
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
120
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
170
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
100
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
100k
The SEO identity crisis: Don't let AI make you average
varn
0
62
Transcript
AWS DeepRacerで 最適な⾏動・報酬関数を得る為の試⾏錯誤 クラスメソッド株式会社 データインテグレーション部 2019.5.16 DeepRacer同好会 第⼆回オフライン勉強会@⼤阪 貞松 政史
1
2 本⽇のハッシュタグ #AWSDeepRacerJP
3 ⾃⼰紹介 貞松 政史 (サダマツ マサシ) @sady_nitro データインテグレーション部 (DI部) 開発チーム
岡⼭オフィス勤務 データ分析基盤開発 某コーヒー関連 SageMaker Lambda ⽒名 所属 近況 好きなAWS サービス
4 本セッションから得てほしいこと DeepRacer 楽しい︕
5 本セッションから得てほしいこと DeepRacerのAction設定どうしたら良い︖ DeepRacerの報酬関数設計どうしたら良い︖ この⼿の悩みを解決する⼿がかりに
6 本セッションで話さないこと 強化学習の⼿法(アルゴリズム)についての詳細 DeepRacerの実機を⽤いた開発
7 お品書き DeepRacerコンソールを⽤いた開発 DeepRacerのAction設定 DeepRacerの報酬関数設計 1 2 3
8 DeepRacerコンソールを⽤いた開発
9 DeepRacerコンソール
10 DeepRacerに対する強化学習の環境 State (状態) DeepRacerのカメラ画像 Action (⾏動) 状態に対するエージェント (DeepRacer)の動作 Reward
(報酬) 報酬関数で設定した動作の 結果に対する報酬値
11 DeepRacerコンソールを⽤いた開発の流れ 必要なAWSリソースを作成 学習モデルを作成・学習実⾏ 学習済みモデルの評価・デプロイ
12 必要なリソースを作成 ※ S3やVPCの課⾦も発⽣しているので注意︕
13 モデルを学習 モデル名・概要⼊⼒ 学習対象のコース選択 ⾏動パターンの設定 報酬関数の実装 ハイパーパラメータの設定 学習時間の設定
14 トレーニングの実⾏ 時間毎の累積報酬 DeepRacerのカメラ画像 (シミュレーター)
15 学習済みモデルを評価 学習済みモデルで3〜5回トライアルを⾏う ⁻ Time : 1回のトライアルでかかった時間 ⁻ Trial result
: 100%ならコース1周完⾛
16 DeepRacer League Virtual Circuitに参加 学習済みのモデルを Submitしてレース に参加
17 参考ブログエントリー その1 https://dev.classmethod.jp/cloud/aws/aws-deepracer-virtual-circuit-join/
18 DeepRacerのAction設定
19 DeepRacerのAction設定⽅法 l ハンドルの操作⾓ l スピード(m/s) →最⼤値と⾏動数(刻み幅) で設定
20 設定されたAction ハンドルの操作⾓とスピー ドの掛け合わせで⾏動パ ターンが設定される
21 Actionを設定する上での注意点 ⾏動パターンを増やし過ぎると学習に時間が掛かる 学習ジョブのClone時は元のActionを変更できない コースの特性に合わせて設定が必要 報酬関数の設計とトータルで考える必要がある
22 DeepRacerの報酬関数設定
23 報酬関数を作成する エージェント(DeepRacer) から得られる情報を元に ⾏動に対する報酬を設定する https://docs.aws.amazon.com/ja_jp/ deepracer/latest/developerguide/de epracer-reward-function-input.html
24 報酬関数の例 パターン1 センターラインに沿って⾛⾏させる
25 報酬関数の例 パターン2 早いスピードで⾛⾏させる ※Action設定でスピードのパターンが1種類のみの場合は無意味
26 報酬関数の例 パターン3 急ハンドルやジグザグ⾛⾏を抑制する
27 参考ブログエントリー その2 https://dev.classmethod.jp/machine-learning/aws-deepracer-pattern-of- reward-function/
28 報酬関数を実装する際のポイント コースの特徴を捉える 適切なActionの設定を⾒極める まずは1周完⾛できるモデルになるように 報酬関数を設計する
29 コースの特徴を捉える センターラインに沿うと上⼿く いきそう キツめのカーブがいくつかある (スピードの調整が必要︖) re:Invent 2018
30 コースの特徴を捉える London Loop センターラインにびったり沿う と無駄が多そう 緩いカーブの連続で構成されて いる(速いスピードを維持する のが良さそう︖)
31 適切なAction設定を⾒極める コースの特徴や実際の動作・ログを⾒て Actionを設定する 例) スピードはトップスピード(5m/s)のみでOK ハンドル操作は-30°〜30°まで取らないと曲がりきれない etc…
32 まずは1周完⾛ 完⾛できなければ記録なしになる タイムを縮める以前の問題 all_wheels_on_track(コースアウト判定)や distance_from_center(中央線からの距離)など
33 さらなる⼯夫 取得したパラメータにする判定を厳しくする (もしくは緩くする) 条件を組み合わせる ハイパーパラメータを調整する(最後の⼿段) https://github.com/Unity-Technologies/ml- agents/blob/master/docs/best-practices-ppo.md
34 実際にモデルの学習を繰り返してわかったこと London loopをひたすら回した結果 • センターラインにびったり張り付いても速くない • 意外とフルスロットルでいける • 報酬関数は複雑なほど良いわけでは無い
• 最終的にカリッカリにタイム短縮を狙うならstepsや progressの考慮が必要…︖ • さらにカリッカリにチューニングする場合はハイパーパ ラメータの調整も⼊ってくる…︖
35 デモ的なもの
36 ⽣まれたてのDeepRacer
37 デフォルト設定で学習
38 デフォルト設定 vs ⾏動・報酬関数を調整
39 まとめ
40 まとめ DeepRacerコンソールを⽤いた開発 ⾏動パターンの設定⽅法と注意点 報酬関数の設計 実装パターンの例 実装する際のポイント 実践してわかったこと
41 DeepRacer 楽しい︕
None