AWS DeepRacer の学習の流れとポイント

## はじめに
株式会社NTTデータ テクノロジーコンサルティング事業本部の@nttd-kashiwabarayです。2022年にはAWS DeepRacerリーグの日本大会、アジア大会で優勝しております。 
本日はDeepRacerの学習の流れとポイントについて簡単に紹介したいと思います。

## DeepRacerの学習の流れ（概要）
DeepRacerの学習の流れは大きくは以下の通りとなります。
１．学習するコースの選択
２．レースタイプの選択とアルゴリズム・ハイパーパラメータの指定
３．アクションスペースの指定
４．車両の選択
５．報酬関数の入力と学習時間の指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/8e73026f-c462-8b12-4c88-5dcfc10e18bd.png)

## DeepRacerの学習の流れ（詳細）とポイント
以下に学習の流れの詳細とポイントを示します。

１．学習するコースの選択
以下の画像のように、モデル名を入力します（必要に応じて学習モデルの詳細を記述します）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/e10a7fee-95ac-f676-b4fe-8ea3e636baf9.png)

次の学習させたいコース（以下の画像の例は今年のSummitのコース）を選択します。また、「時計回り」か「反時計回り」かを指定します（どちらかしかないコースもあります）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/f38211e4-477d-dbd4-ecad-d5ced43eaf35.png)

２．レースタイプの選択とアルゴリズム・ハイパーパラメータの指定
次にレースタイプを指定します。基本的にはタイムトライアルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/d8a2e8c3-9e4a-984d-51f6-d5d3e260dafa.png)

次にアルゴリズムとハイパーパラメータを指定します。ハイパーパラメータの詳細については、別の機会にお話させていただければと思います。最初はデフォルトの値のままで構いません。詳細なチューニングを実施する際にはハイパーパラメータの指定も重要になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/c814e3e8-8a58-0e5b-b857-8bafb28f82a0.png)

３．アクションスペースの指定
次にアクションスペースを指定します。アクションスペースは実機のレースにおいても、バーチャルのレースにおいても重要なポイントとなります。まず、重要となるのは「連続」か「離散」のどちらを選択するかです。どちらがよいと一概に言えるものではありませんので、ぜひいろいろと試していただければと思います。以下が「連続」を選択したときの例となりますが、次に重要となるのが「角度」と「スピード」の指定です。DeepRacer自身の取れるアクションを決定することになりますので、今回走らせるコースでどんな走りをさせたいかをイメージして、アクションの幅を指定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/4e6eb8da-f13c-edec-a221-21969272adc7.png)

次が「離散」の例となります。「離散」のアクションの選択はさらに難しくなります。以下の例では最大の角度とスピードおよび粒度を決めている形となりますが、手動で細かく設定することも可能となります。どの角度とどのスピードを組み合わせて設定するのかが、DeepRacerの走りに大きく影響します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/af01bc57-b2e4-7a14-32f9-863c065e9e1b.png)

４．車両の選択
次に車両の選択です。車両自体はどの車両を選択しても変わらないのですが、車両のカメラやセンサーの指定がポイントとなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/8d0b25ad-513c-7c3d-037f-7ca6e245bdbd.png)

DeepRacerのメニューの「Your garage」から車両のカメラやセンサーの搭載を指定することができます。通常のカメラ（Camera）に加えて、カメラが2つで視野が広がるカメラ（Stereo camera）のいずれかを選択することが可能です。また、センサーの搭載も選択可能ですが、障害物レースや対人レースなどでの活用になるかなと考えております。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/6bcf814c-df12-8486-5d09-adb6a2402f74.png)


５．報酬関数の入力と学習時間の指定
最後に報酬関数を入力します。以下のAWS公式ページに入力パラメータおよび報酬関数例が載っておりますので、こちらを参考にしながら、自分の走らせたい報酬を設計します。報酬関数なども別途詳細をお話できればと思いますので、本日は割愛します。最後に学習時間を指定（5分～1440分の範囲）して、学習を開始します。
https://docs.aws.amazon.com/ja_jp/deepracer/latest/developerguide/deepracer-reward-function-input.html
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/cb90cacd-f25d-f29c-6702-cb5f67e59c2f.png)

## おわりに
本日はDeepRacerの学習の流れとポイントを簡単にお話しました。実機とバーチャルレースの違いやハイパーパラメータや報酬関数などについては、またどこかでお話できればと思います。まずはアクションスペースと報酬関数が一番重要となりますので、走らせるコースでどんなコース取り、走りをさせたいかを事前によく検討し、設定いただければと思います。

## 仲間募集

NTTデータ テクノロジーコンサルティング事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>

クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>

データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>

DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata.jposting.net/u/job.phtml?job_code=898

</details>


## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>

～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://enterprise-aiiot.nttdata.com/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</div></details>


<details><summary> TDF-AM（Trusted Data FoundationⓇ - Analytics Managed Service）について</summary><div>

～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://enterprise-aiiot.nttdata.com/service/tdf/tdf_am
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</div></details>


<details><summary>NTTデータとTableauについて </summary><div>

ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://enterprise-aiiot.nttdata.com/service/tableau

</div></details>


<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。

Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://enterprise-aiiot.nttdata.com/service/alteryx

</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。

NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://enterprise-aiiot.nttdata.com/service/datarobot

</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>

データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://enterprise-aiiot.nttdata.com/service/informatica

</div></details>

<details><summary>NTTデータとSnowflakeについて </summary><div>
NTTデータでは、Snowflake Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Snowflake」の導入・構築、および活用支援を開始しています。

NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Snowflakeは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://enterprise-aiiot.nttdata.com/service/snowflake

</div></details>