AWS DeepRacer の概念と用語 - AWS DeepRacer

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS DeepRacer の概念と用語

AWS DeepRacer は次の概念に基づいて構築されており、次の用語を使用しています。

AWS DeepRacer サービス

AWS DeepRacer は AWS Machine Learning で自律型レーシングに特化した強化学習を探求するための、AWS 機械学習サービスです。AWS DeepRacer サービスは以下の特徴をサポートしています。

  1. クラウド上で強化学習モデルをトレーニングする。

  2. AWS DeepRacer コンソールでトレーニング済みモデルを評価する。

  3. トレーニング済みモデルを仮想化レースに送信し、資格がある場合は、そのパフォーマンスをイベントのリーダーボードに投稿してもらう。

  4. トレーニング済みモデルのクローンを作成して、パフォーマンスを向上させるためのトレーニングを続けます。

  5. AWS DeepRacer 車両にアップロードするためのトレーニング済みモデル Artifact をダウンロードします。

  6. 自動運転のために車両を物理的なトラック上に置き、モデルを実際のパフォーマンスで評価します。

  7. 不要な料金が発生しないように不要なモデルを削除する。

AWS DeepRacer

「AWS DeepRacer」は、次の 3 つの異なる車両を参照できます。

  • 仮想レースカー は、オリジナルの AWS DeepRacer デバイス、Evo デバイス、または AWS DeepRacer リーグ仮想サーキットレースの形をとることでさまざまなデジタル報酬を獲得することができます。仮想レースカーの色を変更してカスタマイズすることもできます。

  • オリジナルの AWS DeepRacer デバイス は、物理的な 1/18 スケールのモデルカーです。車載カメラとオンボードコンピューティングモジュールを装備しています。コンピューティングモジュールはトラックに沿って自律走行するための推論を実行します。コンピューティングモジュールと車両のシャーシは、それぞれコンピューティングバッテリーとドライブバッテリーとして知られる専用のバッテリーから電力を供給されます。

  • AWS DeepRacer Evo デバイス は、オプションのセンサーキットを備えたオリジナルデバイスです。キットには追加のカメラと LIDAR (光検出と測距) が含まれており、車両が背後と側面の物体を検出することができます。このキットには、新しいシェルも含まれています。

強化学習

強化学習とは、環境とのやり取りを通じて、特定の目標を達成するための、エージェントによる自律型決断に焦点を当てた機械学習メソッドです。強化学習では、学習は試行錯誤によって達成され、トレーニングはラベル付きの入力を必要としません。トレーニングは報酬型仮説に基づいていて、一連のアクションの後に将来の報酬を最大化することで、すべての目標を達成できるというものです。強化学習では、報酬関数を設計することが重要です。報酬関数を向上させることで、エージェントはより良い意思決定を行うことができます。

自律レーシングでは、エージェントは車両です。環境には走行ルートや交通状況が含まれます。目標は、車両が事故なく短時間で目的地に到着することです。報酬は、目的地への安全かつ迅速な移動を促進するために使用されるスコアです。スコアは危険で無駄な運転に対してペナルティを科します。

トレーニング中に学習を促進するために、学習エージェントは、報酬につながらない可能性のあるアクションを突き止める必要があります。これは、探索と搾取のトレードオフと呼ばれます。エージェントが誤った目的地に導かれる可能性を低くするか取り除くのに役立ちます。

さらに正式な定義については、Wikipedia の「強化学習」を参照してください。

強化学習モデル

強化学習モデルとは、「エージェントがエージェントが持つ状態」「エージェントが取ることのできるアクション」「アクションを取ることによって得られる報酬」の 3 つを規定する行動する環境です。エージェントが、そのアクションを決定するための戦略を、ポリシーと呼びます。ポリシーは環境の状態を入力として受け取り、実行するアクションを出力します。強化学習で多くの場合ポリシーは、深層ニューラルネットワークによって表されます。これを強化学習モデルと呼んでいます。トレーニングジョブごとに 1 つのモデルが生成されます。トレーニングジョブが早期に停止された場合でも、モデルを生成できます。モデルはイミュータブルです。つまり、モデルは作成後に変更したり上書きしたりすることはできません。

AWS DeepRacer シミュレーター

AWS DeepRacer シミュレーターは仮想環境で、トレーニングを視覚化し、AWS DeepRacer モデルを評価します。

AWS DeepRacer 車両

AWS DeepRacer を参照してください。

AWS DeepRacer カー

このタイプの AWS DeepRacer 車両 は 1/18 スケールのモデルカーです。

リーダーボード

リーダーボードは、AWS DeepRacer レーシングイベントにおける AWS DeepRacer 車両のパフォーマンスのランク付けリストです。レースは、シミュレートされた環境で行われる仮想的なイベント、または現実の環境で行われる物理的なイベントのいずれでもかまいません。パフォーマンス指標はレースの種類によって異なります。所定のレースのトラックと同じ、または類似のトラックでトレーニングしたモデルを評価した AWS DeepRacer のユーザーが送信した最速ラップタイム、合計時間、または平均ラップタイムとなります。

車両が 3 周連続して完走すると、リーダーボードへのランク付けの対象になります。最初の連続した 3 周の平均ラップタイムがリーダーボードに送信されます。

機械学習フレームワーク

機械学習フレームワークとは、機械学習アルゴリズムの構築に使用されるソフトウェアライブラリです。AWS DeepRacer でサポートされたフレームワークには Tensorflow があります。

ポリシーネットワーク

ポリシーネットワークはトレーニングされるニューラルネットワークです。ポリシーネットワークは、入力としてビデオイメージを取り込み、エージェントの次のアクションを予測します。アルゴリズムによっては、エージェントの現在の状態の値も評価される場合があります。

最適化アルゴリズム

最適化アルゴリズムは、モデルをトレーニングするために使用するアルゴリズムです。教師ありトレーニングでは、重みを更新するための特定の戦略を使用して損失関数を最小化することで、アルゴリズムが最適化されます。強化学習では、特定の報酬関数を使用して予想される将来の報酬を最大化することで、アルゴリズムが最適化されます。

ニューラルネットワーク

ニューラルネットワーク (別名、人工ニューラルネットワーク) は、生物学的システムに基づいて情報モデルを構築するために使用される、接続された単位またはノードの集まりです。各ノードは人工ニューロンと呼ばれ、入力 (刺激) を受け取るという点で生物学的ニューロンを模倣し、入力信号が十分に強い場合にアクティブ化 (アクティベーション) され、入力および活性化に基づく出力を生成します。人工ニューラルネットワークはあらゆる関数の汎用近似として機能するため、機械学習で広く使用されています。学習するための機械を教えるのは、任意の入力と出力の最適関数近似を見つけることになります。深層強化学習では、ニューラルネットワークはポリシーを表し、しばしばポリシーネットワークと呼ばれます。ポリシーネットワークをトレーニングすることは、現在のポリシーに基づいてエクスペリエンスを生成し、続いて新しく生成されたエクスペリエンスで、ポリシーネットワークを最適化することを含むステップを繰り返すことになります。このプロセスは、特定のパフォーマンスメトリクスが必要な基準を満たすまで続きます。

ハイパーパラメータ

ハイパーパラメータは、ニューラルネットワークの学習性能を制御するアルゴリズム依存の変数です。ハイパーパラメータの例としては、各ステップでの学習において、新しい経験をどれだけカウントするかを制御する学習レートがあります。学習レートが大きくなるほど学習速度は速くなりますが、トレーニング済みモデルの品質が低くなる可能性があります。ハイパーパラメータは経験的なものであり、トレーニングごとに体系的な調整が必要です。

AWS DeepRacer トラック

トラックは AWS DeepRacer 車両が走行するパスまたはコースです。トラックは、シミュレーション環境、現実世界、物理的環境の、いずれかに存在できます。シミュレート環境は、仮想トラックで AWS DeepRacer のモデルをトレーニングするために使用します。AWS DeepRacer コンソールでは、仮想トラックを使用できます。AWS DeepRacer の車両を物理的なコースで走らせるためには、実環境を使用します。AWS DeepRacer League は、イベント参加者に物理的なトラックを提供し、競わせるものです。その状況で AWS DeepRacer 車両を走らせる場合は、自分で物理的トラックを作成する必要があります。独自のトラックを構築する方法についての詳細は、物理的なトラックを構築する を参照してください。

報酬関数

報酬関数とは、実行されたアクションが、以下のいずれのパフォーマンスの結果になったかをエージェントに伝える学習モデル内のアルゴリズムです。

  • 強化する必要のある良い結果。

  • 中立的な結果です。

  • 推奨されない悪い結果。

報酬関数は強化学習の重要な部分です。特定のアクションに対してインセンティブを与えることで、エージェントが学習する挙動を決定します。ユーザーは Python を使用して報酬関数を提供します。この報酬関数は、最適化アルゴリズムによって強化学習モデルをトレーニングするために使用されます。

経験エピソード

経験エピソードとは、エージェントが特定のスタート地点からトラックを完走するまで、またはトラックから外れるまで、環境からトレーニングデータとして経験を収集する期間です。エピソードごとに長さが異なる場合があります。これはエピソード、または、経験生成エピソードとも呼ばれます。

経験イテレーション

経験イテレーション(別名、経験生成イテレーション)は、ポリシーネットワークの重みの更新を実行する、各ポリシーイテレーション間の連続する経験エピソードのことです。各経験イテレーションの終わりに、収集されたエピソードが経験リプレイまたはバッファに追加されます。サイズは、トレーニング用のハイパーパラメータの1つに設定できます。ニューラルネットワークは、経験のランダムサンプルを使用して更新されます。

ポリシーイテレーション

ポリシーイテレーション(別名、ポリシー更新イテレーション)とは、勾配がきつくなる間、ポリシーニューラルネットワークの重みを更新するために、ランダムにサンプリングしたトレーニングデータを何回でも通過させることです。重みを更新するためのトレーニングデータの 1 回の学習は、エポックとも呼ばれます。

トレーニングジョブ

トレーニングジョブは、強化学習モデルをトレーニングし、推論の実行対象となるトレーニング済みモデル Artifact を作成するワークロードです。各トレーニングジョブには 2 つのサブプロセスがあります。

  1. 現在のポリシーに従ってエージェントを起動する。エージェントはいくつかのエピソードで環境を調査し、トレーニングデータを作成します。このデータ生成自体は反復プロセスです。

  2. 新しいトレーニングデータを適用して新しいポリシー勾配を計算する。ネットワークの重みを更新し、トレーニングを続行します。停止条件が満たされるまで、ステップ 1 を繰り返します。

各トレーニングジョブはトレーニング済みモデルを作成し、そのモデルアーティファクトを指定されたデータストアに出力します。

評価ジョブ

評価ジョブは、モデルのパフォーマンスをテストするワークロードです。トレーニングジョブの終了後、指定したメトリクスによりパフォーマンスが測定されます。標準的な AWS DeepRacer パフォーマンスメトリクスは、エージェントがトラックのラップの完走にかかる運転時間です。別のメトリクスとして、ラップの完走率もあります。

レースイベントの用語

AWS DeepRacer レースイベントでは、次の概念と用語を使用します。

リーグ/コンペティション

AWS DeepRacer リーグイベントのコンテキストでは、「リーグ」と「コンペティション」という用語は競争構造に関連しています。AWS は AWS DeepRacer リーグのスポンサーです。つまり、AWS DeepRacer アライアンスを所有し、設計し、運用していることを意味します。コンペティションには開始日と終了日があります。

シーズン

コンペティションは、毎年繰り返させる場合があります。これらはシーズン (2019 シーズンや 2020 シーズンなど) と呼ばれます。ルールはシーズンごとに変わる場合がありますが、同一シーズン内では通常同じです。AWS DeepRacer リーグの規約は、シーズンごとに異なる場合があります。

仮想サーキット

仮想サーキットとは、AWS DeepRacer リーグシーズン中に AWS DeepRacer コンソールで開催される AWS 主催のレースを指します。

イベント

ルールで定義されているとおり、イベントとは、ユーザーが参加できる AWS DeepRacer リーグの存在のことです。イベントには開始日と終了日があります。仮想サーキットイベントは通常 1 か月間続きます。1 つのシーズンに複数のイベントが存在する場合があり、イベント参加者のランク付け方法、勝利者の選択方法、その後の対応などに関するルールは、変更される可能性があります。

レースタイプ

すべてのレーサーはタイムトライアル (TT) レース、オブジェクト回避 (OA) レース、head-to-bot (H2B) レースでレースできます。レースタイプごとに、ラップ数、レーサーのランク付け方法を指定します。

ナショナルシーズン順位

ナショナルシーズン順位とは、その国の他のレーサー中でのレーサーのリーダーボードランキングを指します。すべてのレーサーは、毎月のバーチャルレースで自国の他のレーサーと競うことができます。

ナショナルシーズン順位

リージョナルシーズン順位とは、そのリージョンの他のレーサー中でのレーサーのリーダーボードランキングを指します。

ワールドチャンピオンシップ

AWS DeepRacer リーグの仮想サーキットマンスリーリーダーボードは、国と地域ごとに分かれています。各リージョンのトップレーサーは、AWS re: Invent の世界選手権に出場するチャンスがあります。詳細については、「用語と条件」を参照してください。