DeepRacerのアクションスペースを考える

## はじめに
株式会社NTTデータ デザイン＆テクノロジーコンサルティング事業本部の@nttd-kashiwabarayです。
以前以下のページでDeepRacerの学習の基本的な流れを説明しましたが、本日はDeepRacerのアクションスペースについて検討します。実際のシミュレーションで検証を実施しておりますが、1つのコースかつアクションスペースのパターンも少ないため、今後はより精度高く検証を実施していければと思いますが、自身の経験も踏まえながら説明させていただきます。

## DeepRacerのアクションスペース
以前本ブログでも少し紹介しておりますが、本日はアクションスペースについて検討します。
<B>アクションスペース</B>はDeepRacerのモデルを作成するにあたって、<B>重要な要素</B>となります。アクションスペースは<B>「Continuous」</B>と<B>「Discrete」</B>の2つがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/e46e057a-c102-8909-7681-1d94441a0564.png)


<B>「Continuous」は連続のアクションスペース</B>となりますので、「Discrete」と比較すると<B>最適なアクションを探索できる</B>一方で、取れる値が大きいため、<B>収束は遅くなる</B>と考えられます。
<B>「Discrete」は離散のアクションスペース</B>となりますので、<B>取れるアクションが限定</B>されるため、<B>学習時における収束は早くなる</B>一方で、<B>最適なアクションを取れない可能性がある</B>と考えられます。
このあたりは報酬関数や学習方法にも依存するため、一概には言えませんが、このあたりの内容も加味しつつ、アクションスペースを検討する必要があります。

<B>世界のトップレーサーに話を伺う</B>と、<B>「Discrete」でMAX値（2024年3月20日現在30個）を取っている方</B>もいれば、<B>少ないアクションスペースで実施されている方</B>、また、<B>コース毎にアクションスペースの数も含めて最適化している方</B>など様々でした。

<B>アクションスペースの正解は1つでなく</B>、様々な正解があり、それは報酬関数や学習方法にも依存すると考えられます。一般的には上記のような考え方になると思いますが、ぜひアクションスペースを試行錯誤しながら学習を続けていってもらえればと思います。

## 検証（条件）
上記を加味しつつ、いくつかのアクションスペースで学習してみます。試行回数は1回のみで、ハイパーパラメータ、アクションスペース、報酬関数もDeepRacerのコンソールからデフォルトで選択している部分もあるため、参考にならない部分もありますが、以下に示します。

■検証コース
検証するコースは昨年度のAWS Summitのコースを選択し、時計回りとします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/25acbdce-ba8f-41b4-4d93-dd5135a726a9.png)

■ハイパーパラメータ
ハイパーパラメータはコンソールのデフォルトの値とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/7625dbe8-cffd-2058-2816-6134d4613242.png)

■報酬関数
報酬関数はコンソール上からも参照できるデフォルトのセンターラインに従う報酬を設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/2b52d4a3-e2ab-eeb3-9959-e48d03aa9fe0.png)

■学習時間
学習時間は240分を設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/56d7295f-0006-35a2-aa0b-d350d526f6c8.png)

■アクションスペース
アクションスペースは「Continuous」1つ、「Discrete」を2つとし、それぞれ検証を実施します。
スピードは1.33m/s～4m/sとし、角度は-30°～30°に設定します。「Discrete」は「Speed granularity」は「3」とし、「Steering angle granularity」は「5」と「7」のそれぞれ2つの値で検証します。

－Continuous

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/bd94d736-9415-03b9-68ab-b5365a59331d.png)


－Discrete_1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/da5b53fa-7e47-0dd8-7392-e89d1335e27e.png)


－Discrete_2

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/34678486-437c-54ca-e2e2-8231f2641922.png)

## 検証（結果）
検証結果は以下の通りとなります。1つのコース、アクションスペースも1通りかつ試行回数1回となるため、もう少し検証は必要ではありますが、想定通り「Continuous」では収束にかかる時間が長いことが分かります。「Discrete」は何とも言えない結果ではあるものの、これまでの経験的にもアクションスペースが少ないほど、収束時間は早くなります。ただし、その分取れるアクションスペースの数も少ないため、コースによっては最適なアクションを取れず、タイムが伸びなかったりもします。

－Continuous

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/e8dd614b-92a7-2cb1-6e27-42f816e9219a.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/a557abf4-1799-5463-6d13-386a91389682.png)


－Discrete_1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/cccdaad4-2153-d4a4-a65e-ad31179fd48a.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/2f838d63-e4c6-5b8d-3ee2-a406264bce7f.png)


－Discrete_2

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/f1d3c188-2d61-2938-080e-a20f1469ae4f.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120881/5c805c2f-c201-ef22-066e-dcb419953dae.png)



## まとめ
今回はDeepRacerのアクションスペースについて、「Continuous」、「Discrete」について検証も交えて、説明を実施しました。
アクションスペースは報酬関数とともにかなり重要な要素となり、世界Topのレーサーの方々に聞いても、人それぞれでやや異なる方針を取っています。走らせるコースや報酬関数との相性などもありますので、毎月のレースの中で試行錯誤しながら、上位に入れる走りを目指していただければと思います。


## 仲間募集

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>