AWS DeepRacer Student での強化学習モデルのトレーニング - AWS DeepRacer 学生

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

AWS DeepRacer Student での強化学習モデルのトレーニング

このチュートリアルでは、AWS DeepRacer Student で最初のモデルをトレーニングする方法を説明します。また、経験を最大限に活用し、学習を迅速に進めることに役立つヒントを示します。

ステップ 1: AWS DeepRacer Student を使用して強化学習モデルをトレーニングする

[Create model] (モデルの作成) ボタンの場所を確認して AWS DeepRacer Student を開始し、最初のモデルのトレーニングを開始します。モデルの作成とトレーニングは反復プロセスであることに注意してください。最適な結果を得るために、さまざまなアルゴリズムと報酬関数で実験します。

強化学習モデルをトレーニングするには
  1. AWS DeepRacer Student [Home] (ホーム) ページで、[Create a model] (モデルの作成) を選択します。または、左のナビゲーションペインで [Your Models] (モデル) に移動します。[Models] (モデル) ページの [Your models] (モデル) で、[Create model] (モデルの作成) を選択します。

  2. [Overview] (概要) ページで、強化モデルをトレーニングする方法を読んでください。プロセスの各ステップについて、このページで説明されています。読み終えたら、[Next] (次へ) をクリックします。

ステップ 2: モデルに名前を付ける

モデルに名前を付けます。モデルを改良してクローンを作成する場合は、モデルを素早く見つけられるよう、モデルに一意の名前を付けることをお勧めします。例えば、yourinitials-date-version のような命名規則を使用してモデルに名前を付けます。

モデルに名前を付けるには
  1. [Name your model] (モデルに名前を付ける) ページで、[Model name] (モデル名) フィールドに名前を入力します。

    注記

    モデルのトレーニングを開始すると、モデルの名前は確定され、変更できなくなります。

  2. [Next] を選択します。

ステップ 3: トラックを選択する

シミュレーショントラックを選択します。トラックは環境として機能し、車両にデータを提供します。非常に複雑なトラックを選択すると、車両のトレーニングに必要な時間は全体として長くなり、使用する報酬関数は複雑になります。

トラック (環境) を選択するには
  1. [Choose track] (トラックの選択) ページで、車両のトレーニング環境として機能するトラックを選択します。

  2. [Next] を選択します。

ステップ 4: アルゴリズムを選択する

AWS DeepRacer Student には 2 つのトレーニングアルゴリズムがあり、そこから選択します。異なるアルゴリズムによって、さまざまな方法で報酬が最大化されます。AWS DeepRacer Student の経験を最大限に活用するために、両方のアルゴリズムで実験します。アルゴリズムの詳細については、「AWS DeepRacer Training Algorithms」を参照してください。

トレーニングアルゴリズムを選択するには
  1. [Choose algorithm type] (アルゴリズムタイプの選択) ページで、アルゴリズムタイプを選択します。次の 2 つのアルゴリズムタイプを使用できます。

    • Proximal Policy Optimization (PPO)。このアルゴリズムは、安定していますが、データが大量に必要です。トレーニングを反復するたびに一貫性のある実行が行われます。

    • Soft Actor Critic (SAC)。このアルゴリズムは、不安定ですが、データを効率的に使用します。トレーニングを反復するたびに一貫性のない実行を行う可能性があります。

  2. [Next] を選択します。

ステップ 5: 報酬関数をカスタマイズする

報酬関数は強化学習の中核です。報酬関数を使用して、トラック (環境) を探索するときに車両 (エージェント) が特定のアクションを実行するようにインセンティブを与えます。ペットの特定の行動を褒めたり叱ったりするように、このツールを使用して、車両ができるだけ早くラップを終えると報酬を得て、トラックから外れたりジグザグに走ったりすると報酬を失うようにすることができます。

最初のモデルをトレーニングするときは、デフォルトのサンプル報酬関数を使用したい場合があります。モデルを実験して最適化する準備ができたら、コードエディタでコードを編集して報酬関数をカスタマイズできます。報酬関数のカスタマイズの詳細については、「報酬関数のカスタマイズ」を参照してください。

報酬関数をカスタマイズするには
  1. [Customize reward function] (報酬関数のカスタマイズ) ページで、サンプル報酬関数を選択します。カスタマイズできる報酬関数のサンプルには、次の 3 つがあります。

    • 中心線に従う。車線の中心線にできる限り近く自律的に運転すると、車に報酬を与えます。

    • 境界内に留まる。四輪すべてを車線の境界内に留めて自律的に運転すると、車両に報酬を与えます。

    • ジグザグ回避する。中心線の近くに留まることで車両に報酬を与えます。ステアリングの角度が大きかったり、車線から外れたりすると、車両にペナルティを与えます。

    注記

    報酬関数をカスタマイズしない場合は、[Next] (次へ) をクリックします。

  2. (オプション) 報酬関数のコードを変更します。

    • サンプル報酬関数を選択し、[Walk me through this code] (コードのウォークスルー) を選択します。

    • コードの各セクションについて、[+] をクリックすると、ポップアップテキストボックスに説明が表示されます。チュートリアルを先に進めるには、各ポップアップで [Next] (次へ) をクリックします。ポップアップテキストボックスを終了するには、コーナーの [X] をクリックします。チュートリアルを終了するには、[Finish] (完了) をクリックします。

      注記

      [Go with default code] (デフォルトコードを使用) を選択して、サンプル報酬関数コードを編集しないこともできます。

    • 必要に応じて、サンプル報酬関数を選択し、[Edit sample code] (サンプルコードを編集) を選択して、サンプル報酬関数コードを編集します。コードを編集し、[Validate] (検証) をクリックしてコードを確認します。コードを検証できない場合、またはコードを元の状態にリセットする場合は、[Reset] (リセット) をクリックします。

  3. [Next] を選択します。

ステップ 6: 期間を選択し、モデルをリーダーボードに送信する

モデルトレーニングの期間は、パフォーマンスに影響があります。トレーニングの初期段階で実験を行うときは、このパラメータを小さい値から始め、徐々にトレーニング期間を長くします。

モデルトレーニングのこのステップでは、トレーニング済みモデルがリーダーボードに送信されます。チェックボックスの選択を解除すると、オプトアウトできます。

期間を選択し、モデルをリーダーボードに送信するには
  1. [Choose duration] (期間の選択) ページの [Choose duration of model training] (モデルトレーニングの期間を選択) で時間を選択します。

  2. [Model description] (モデルの説明) フィールドに、選択した内容を記憶するのに役立つモデルの説明を入力します。

    ヒント

    報酬関数とアルゴリズムの現在の選択や変更、モデルのパフォーマンスに関する仮説など、モデルに関する情報を追加することをお勧めします。

  3. チェックボックスをオンにすると、トレーニング完了後、モデルが AWS DeepRacer Student リーダーボードに自動的に送信されます。オプションで、チェックボックスの選択を解除して、モデルの入力をオプトアウトできます。

    ヒント

    モデルをリーダーボードに送信することをお勧めします。モデルを送信すると、モデルを他のモデルと比較するのに役立ち、フィードバックを得てモデルを改善できます。

  4. [Train your model] (モデルのトレーニング) を選択します。

  5. [Initializing model training] (モデルトレーニングの初期化) ポップアップで、[Okay] (OK) をクリックします。

  6. [Training configuration] (トレーニング設定) ページで、モデルトレーニングのステータスと設定を確認できます。トレーニングの [Status] (ステータス) が [In progress] (進行中) のときに、選択したトラックでモデルトレーニングのビデオを表示することもできます。ビデオを見ることは、モデルの改善に使用できる貴重なインサイトを得るのに役立ちます。

ステップ 7: リーダーボードでモデルのパフォーマンスを表示する

モデルをトレーニングしてリーダーボードに送信すると、そのパフォーマンスを表示できます。

モデルのパフォーマンスを表示するには
  1. 左のナビゲーションペインで、[Compete] (競争) に移動して展開します。シーズンを選択します。[Leaderboard] (リーダーボード) ページのセクションにモデルとランクが表示されます。このページには、送信されたモデルのリストを表示する [Leaderboard] (リーダーボード) セクション、レースの詳細、および [Race details] (レースの詳細) セクションも含まれます。

  2. リーダーボードが表示されているページで、プロフィールのセクションで、[Watch Video] (ビデオを見る) をクリックして、モデルのパフォーマンスのビデオを表示します。

ステップ 8: [Clone] (クローン) を使用してモデルを改善する

モデルをトレーニングし、必要に応じてリーダーボードに送信した後、モデルのクローンを作成して改善できます。モデルのクローンを作成すると、新しいモデルのスタートポイントとして、以前にトレーニングしたモデルを使用することでステップが削減され、トレーニングの効率が向上します。

モデルのクローンを作成してモデルを改善するには
  1. 左のナビゲーションペインの AWS DeepRacer Student で、[Your models] (モデル) に移動します。

  2. [Your models] (モデル) ページで、モデルを選択し、[Clone] (クローン) を選択します。

  3. [Name your model] (モデルに名前を付ける) フィールドで、クローンとして作成したモデルの新しい名前を入力し、[Next] (次へ) をクリックします。

  4. [Customize a reward function] (報酬関数をカスタマイズ) ページで、報酬関数をカスタマイズし、[Next] (次へ) を選択します。報酬関数のカスタマイズの詳細については、「ステップ 5: 報酬関数をカスタマイズする」を参照してください。

  5. [Choose duration] (期間を選択) ページで、[Choose duration of model training] (モデルトレーニングの期間を選択) フィールドに時間を入力し、[Model description] (モデルの説明) フィールド説明を入力し、チェックボックスをオンにしてクローンとして作成したモデルをリーダーボードに送信します。

  6. [Train your model] (モデルのトレーニング) を選択します。トレーニングが初期化されます。[Training configuration] (トレーニング設定) ページが表示され、クローンとして作成されたモデルに関する情報が表示されます。トレーニングの [Status] (ステータス) が [In progress] (進行中) のときに、選択したトラックでモデルトレーニングのビデオを表示することもできます。

  7. リーダーボードで最高のパフォーマンスを達成するために、事前トレーニングされたモデルのクローン作成と修正を続けます。

ステップ 9: (オプション) モデルをダウンロードする

モデルをトレーニングし、必要に応じてリーダーボードに送信した後、将来の使用のためにモデルを AWS DeepRacer 物理デバイスにダウンロードすることができます。モデルは .tar.gz ファイルとして保存されます。

モデルをダウンロードするには
  1. 左のナビゲーションペインの AWS DeepRacer Student で、[Your models] (モデル) に移動します。

  2. [Your models] (モデル) ページで、モデルを選択し、[Download] (ダウンロード) を選択します。

  3. ブラウザでモデルのダウンロードの進行状況を追跡します。モデルをダウンロードすると、ローカルハードドライブまたはその他の優先ストレージデバイスに保存できます。

    AWS DeepRacer デバイスでの作業の詳細については、AWS DeepRacer ガイドの「AWS DeepRacer 車両の運転」を参照してください。