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で楽しく遊ぶためのTips 20連発!
Search
甲斐 甲
June 15, 2019
Technology
1
250
AWS DeepRacerで楽しく遊ぶためのTips 20連発!
甲斐 甲
June 15, 2019
Tweet
Share
More Decks by 甲斐 甲
See All by 甲斐 甲
面接される/する両視点からみるエンジニア面接 / Interviewing Engineers from both sides of the fence
kaikou
1
1.7k
Amazon Managed Blockchain を使ってみた / tried using Amazon Managed Blockchain
kaikou
1
1.1k
Other Decks in Technology
See All in Technology
独自ツール開発でスタジオ撮影をDX!「VLS(Virtual LED Studio)」 / dx-studio-vls
cyberagentdevelopers
PRO
1
180
[JAWS-UG金沢支部×コンテナ支部合同企画]コンテナとは何か
furuton
3
240
2024-10-30-reInventStandby_StudyGroup_Intro
shinichirokawano
1
620
なんで、私がAWS Heroに!? 〜社外の広い世界に一歩踏み出そう〜
minorun365
PRO
6
1.1k
事業者間調整の行間を読む 調整の具体事例
sugiim
0
1.3k
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.5k
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
730
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
5
330
10分でわかるfreeeのQA
freee
1
3.4k
最速最小からはじめるデータプロダクト / Data Product MVP
amaotone
5
730
Featured
See All Featured
Building an army of robots
kneath
302
42k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Testing 201, or: Great Expectations
jmmastey
38
7k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Adopting Sorbet at Scale
ufuk
73
9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Being A Developer After 40
akosma
86
590k
Transcript
DeepRacer同好会 第三回オフライン勉強会@岡山 アイレット株式会社 甲斐 AWS DeepRacerで 楽しく遊ぶためのTips 20連発!
甲斐 甲 ( かい こう ) Qiita@ kai_kou twitter@ k_aik_ou 自己紹介
甲 斐 甲 自己紹介
アイレット株式会社 ( クラウドパック ) 事業戦略本部 技術開発セクション 大阪グループ AI、ブロックチェーンの調査・検証・開発 など システムエンジニア
Python TypeScript C# Go Ruby etc... バックグラウンド 小さなSESでエンジニア ( 4年 ) フリーランスでエンジニア ( 8年 ) 事業会社でシステム部マネージャー ( 7年 ) プレイングマネージャ 兼 サーバレス大好きっ子 38歳、既婚、子供 3人 ( 高2、中2、小3 ) 自己紹介
自己紹介
本発表の目的
一人で試行錯誤するにはいろいろ 辛いから みんなで知見を共有したい! 本発表の目的
本発表の目的 なので、 できる限り 情報発信 してます
本発表の目的 みなさまも手段問わず 知見の共有よろしくお願いします!
AWS DeepRacerで 楽しく遊ぶためのTips 20連発! くらい!
基本的なこと
公式ドキュメントを読もう! 強化学習とは?から、モデルのトレー ニング方法、物理的なトラックの作成 方法まで、ひととおり確認することが できます。 (いまところ)日本語訳が英語版より古 いことはないですが、日本語訳が最 新情報に追随していないこともあるの で気をつけましょう。
https://docs.aws.amazon.com/ja_jp/deepracer/latest/developerguide/what-is-deepracer.html
参加条件やルールを知らなきゃ損を するかもです。 例) 同タイムの場合はそのタイムを先 に出した人の勝利 など せーのさんがわかりやすく日本語で まとめてくれてます(感謝) オフィシャルルールを確認しよう! https://deepracer-jp.slack.com/archives/CEJ2P5YRF/p1558058672245400
AWS DeepRacer コンソール
2つトレーニング、試走が実行されている とそれ以上は同時に実行できません。 AWS サービスの制限をみても記載はあり ません。(2019/06/11時点) https://docs.aws.amazon.com/ja_jp/general/latest/g r/aws_service_limits.html
トレーニング/試走は同時に2つまで
AWSカスタマーサービスに問合せてみた > ご連絡いただいております AWS DeepRacer の同時トレーニング 数につきまして、現時点において、恐れ入りますが、緩和をすること ができかねてしまいます。
oh...だそうです トレーニング/試走は同時に2つまで
DeepRacerコンソールでトレーニング するとコンソール上でReward graphや Simulation video streamで状況が確 認できます。 が、Simulation video streamだけだと
よくわからない。。。 トレーニング中はAmazon RoboMakerで 状況が確認できる
トレーニング中はAmazon RoboMakerで 状況が確認できる 【注意】ツールのアイコンをいじるとシミュレーション環境の設定を変更してしまう可能性があ るので、矢印のアイコンで視点変更するのにとどめておくのが無難
reward_functionでログ出力できる Amazon CloudWatchのログから確認でき ます。 CloudWatch > ロググループ > /aws/robomaker/SimulationJobs >
sim-xxxxxxxxxxxx/2019-(略)/SimulationA pplicationLogs sim-xxxはRoboMakerのIDで、DeepRacer コンソールだと確認できないので、実行日 時からあたりをつけます。(もしかしたらよい方 法があるのかも?)
強化学習
トレーニング状況がみえてしまうと、 もっと報酬設定を細かくしなきゃとかこ の設定だとだめかなって考えがち に。。。 あれこれと手助けしたくなります(過保 護 過保護にならずに見守ろう
過保護にならずに見守ろう https://aws.amazon.com/jp/blogs/news/racing-tips-from-aws-deepracer-league-winners-in-stockholm-and-aws -deepracer-tv/ >第 1 位は 8.73 秒のタイムをたたき出し た、Jouini Luoma
でした。彼は Cybercom でデータサイエンティストおよび AWS DeepRacer レーサー として勤務しています。 >彼のアドバイスは何かというと、 「調整 はシンプルにとどめ、 過度に 複雑にしないこと」です。
AWS DeepRacer レーサー 個人的には AWS DeepRacer トレーナー って感じ(小並感
公式ドキュメントなどからAWS DeepRacer で使われているアルゴリズムの特性を 知った上で報酬設計しましょう。 強化学習の特性を考えて報酬設計しよう https://docs.aws.amazon.com/ja_jp/deepracer/latest/developerguide/create-deepracer-project.html
- モデルをトレーニングすることは、想定される報酬を最大化する関数を見つける、または学習 すること - 最適化されたモデルによって車両が最初から最後までトラックで走行するためにどのようなア クション (速度とステアリング角度のペア) を取れるかを規定 - 高速なトレーニングパフォーマンスのための近位ポリシー最適化
(PPO) アルゴリズムのみが サポート - トレーニング強化学習モデルは反復プロセス - 一度にある環境でのエージェントのすべての重要な動作をカバーする報酬関数を定義するの は困難 - 賢明な方法は、単純な報酬関数から始めて、段階的に強化していく方法 強化学習の特性を考えて報酬設計しよう https://docs.aws.amazon.com/ja_jp/deepracer/latest/developerguide/create-deepracer-project.html
Unity Machine Learning Agentsツールキッ ト (ML-Agents) にある ドキュメントが参考になります。 報酬設計のポイント
https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Best-Practices.md
- 学習の安定化のため与える報酬の大きさは1以下にすべき - 目的とする振る舞いを形成するためには負の値の報酬よりも正の値を与えた方が良い - 移動を行うタスクにおいては, 典型的に+0.1の小さい報酬を目的地に前進した場合に与える - エージェントがタスクを早く終わらせたい場合,タスクが完了するまで-0.05の報酬をペナルティ として与え続けるのが良い.この報酬設定を行う場合、エピソードの終了とタスクの完了は同時
に起こるべき - 大きすぎる負の値の報酬はエージェントがより良い報酬を得るために負の報酬を生じる行動 のようなことを行わないようになることもある。エージェントが負の報酬に対して過敏になってし まう (何も行動しない方がいいと学習してしまう感じ) 報酬設計のポイント https://qiita.com/Alt_Shift_N/items/2c37fbb26d739b7f3046
報酬設計のポイント
報酬設計のポイント
AWS DeepRacerコンソールで 確認できるReward graph (報酬 グラフ) から、学習具合を感じと りましょう! (真顔 報酬グラフを活用しよう
報酬グラフを活用しよう 右肩上がりのままだからまだトレー ニングしてもいいかなとか 横ばいで微妙かなぁとか
報酬グラフを活用しよう ある時点から下がってきてるぞとか ・・・ 正直よーわからん 教えて詳しい人!
モデルのクローンを活用しよう https://docs.aws.amazon.com/ja_jp/deepracer/latest/developerguide/create-deepracer-project.html 1つの報酬関数で完結せずに、段階的に トレーニングするのがよいそうです。 アクションは変更できません。 - 一度にある環境でのエージェントのすべ ての重要な動作をカバーする報酬関数を
定義するのは困難 - 賢明な方法は、単純な報酬関数から始 めて、段階的に強化していく方法
仮想サーキットのランキングで上位を狙う ならば、スピードはMAXのみで良かったで す。(05/31まで) 6月開催のレース (Kumo) からスピード上 限がUPしました。(5 → 8 m/s)
スピード最速でいけるものなのか現在お 試し中です。 https://aws.amazon.com/jp/blogs/machine-learning/aws-deepracer-league-the-june-race-gets-underway-as-th e-first-virtual-circuit-champion-is-crowned/ アクション設定でスピードを最速にしよう?
アクション設定でスピードを最速にしよう? >スピード最速でいけるものなのか現在お 試し中です。 re:Invent 2018サーキットで8 m/s固定で 走らせたらスピンしました。
ハイパーパラメータは変更しなくても 50位圏内に入れた(London Loop) https://qiita.com/dora-gt/items/18440bea7aa0fc8aa17f いまのところのハイパーパラメータは初期 設定のままでなんとかなっています。 おそらく報酬関数の実装とトレーニングで タイムに限界が来たら学習率を高めるの に手を入れる感じでしょうか?
教えてガチ勢の皆さん!
仮想サーキット
トレーニング完了後の試走で全周完走で きない!Submitできない! じゃなくても今のところ大丈夫です! LondonLoopだと2周連続で完走すれば ラップタイムが記録されるルールでした。 Kumo Torakkuは1周完走すればOKみた いです。 同一モデルでもラップタイムが記録される までは何回でもSubmitできます(できまし
た)。 100%完走にこだわらないでSubmitしよう https://deepracer-jp.slack.com/archives/CEJ2P5YRF/p1558058672245400
同一モデルでもラップタイムが記録される までは何回でもSubmitできます(できまし た)。ただし・・・ 1度仮想サーキットにSubmitしてラップタイ ムが記録されたモデルは再Submitできな い。。。 100%完走にこだわらないでSubmitしよう じゃあ・・・
Submitしたモデルをクローンして5分トレー ニングすれば別モデルとみなされる?(未 確認)
トレーニング後に試走できますが、必ずし も同じような完走率、タイムにはなりませ ん(でした)。 際どい結果になった場合は再度、試走し なおすのもありです。 試走結果は変動する
仮想サーキットのレーサー名は変更できない 仮想サーキットへモデルをSubmitする際 に、初回のみレーサー名の入力ができま す。 初回以降は変更不可で、開催される全 レースで共通のレーサー名になるので気 をつけましょう。
失敗談など
コストに気をつけよう AWS DeepRacerコンソールを利用するに はコストが発生しませんが、 裏でAmazon SageMakerやAmazon RoboMakerなどが動いており、そちらには しっかりとコストが発生します。 2〜3時間のトレーニングを8回程度で$50
くらい。 とてもリッチな大人のお遊びです。
無料利用枠に気をつけよう https://aws.amazon.com/jp/deepracer/pricing/ Amazon SageMakerやAmazon RoboMaker には無料利用枠がありますが、 「トライアル」 「12 か月間無料」
となるため注意が必要です。
- 複数アカウント作成することはOK - 制限回避や無料提供の追加特典を得 ようとして作成するのは利用規約違反と なり標準料金が課金される可能性があり ます 「無料利用枠過ぎたらアカウント作成しな おせば(゚д゚)ウマー」 って思っちゃいますよね。
残念ながらそうはAWSが使わせない。そう は問屋が卸さない。でした。 「複数アカウント作成して 無料枠ふやすぜ」はNG https://qiita.com/hnw/items/96820cddcef4573403a8
利用規約違反 ダメ!ぜったい!
パラメータ仕様の読み違いなどで、想定し ていた報酬の実装になっていなくても、ト レーニングされます。(Pythonの実装エ ラーはコンソール上でわかる。) 報酬グラフや試走結果をみてもそれっぽ いのでやっかい。。。 報酬の実装をミスしても学習される
報酬の実装をミスしても学習される
報酬の実装をミスしても学習される https://deepracer-jp.slack.com/archives/CEJ2P5YRF/p1558624833264900 うまくいくこともあるっぽい (棒読み
トレーニング中に引きこもることがある \ はたらきたくなーい / トレーニングできてなくても 課金されますorz
コストに気をつけよう#2 5月利用がおおよそ 40トレーニング x 4時間 = 160時間 $473 ($113クレジット適用)
コストに気をつけよう#2 6月利用 (6/11時点)がおおよそ 9トレーニング x 4時間 = 36時間 $194
コストに気をつけよう#2 5月まではNATGateway利用分が一部クレジット適用されてた? 6月も請求時点で適用される?
楽しそうなの
Cloudwatchのログを解析し ていい感じに視覚化してくれ ます。 ログ解析およびヒートマップ視覚化ツール
ログ解析およびヒートマップ視覚化ツール
ログ解析およびヒートマップ視覚化ツール
最後に
勉強会に参加しよう!!! https://connpass.com/event/132589/ わからないこと、できたこと、 うまくいかないこと、トレーニ ングコストが高いって愚痴、 などいろいろと共有してNo.1 を目指しましょう^^
まとめ
まとめ
ありがとうございました!