

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 “学 AWS DeepRacer 生” 中训练强化学习模型
<a name="train-model"></a>

本演练演示了如何在 AWS DeepRacer Student 中训练你的第一个模型。还为您提供一些有用的提示，以帮助您充分利用自己的经验并加快学习进度。

## 第 1 步：使用 AWS DeepRacer Student 训练强化学习模型
<a name="student-league-train-model-proc"></a>

在 AWS DeepRacer Student 中开始你的旅程，学习在哪里可以找到 “**创建模型**” 按钮，然后开始训练你的第一个模型。请记住，创建和训练模型是一个迭代过程。尝试不同的算法和奖励函数，以获得最佳结果。

**培训强化学习模型**

1. 在 AWS DeepRacer 学生**主页**中，选择**创建模型**。或者，在左侧导航窗格中导航到**您的模型**。在**模型**页面的**您的模型**中，选择**创建模型**。

1. 在**概述**页面中，阅读有关如何训练强化模型的信息。本页中说明了流程中的每个步骤。完成阅读后，选择**下一步**。

## 第 2 步：命名模型
<a name="student-league-create-model-step-two"></a>

为您的模型命名。最好为模型指定唯一的名称，以便在需要改进和克隆模型时快速找到各个模型。例如，您可能想使用命名约定来命名模型，例如:*yourinitials-date-version*。

**为您的模型命名**

1. 在**为您的模型命名**页面上，在**模型名称**字段中输入名称。
**注意**  
当您开始训练模型时，模型的名称即固定且不可更改。

1. 选择**下一步**。

## 第 3 步：选择赛道
<a name="student-league-create-model-step-three"></a>

选择您的模拟赛道。赛道作为环境，为您的赛车提供数据。如果您选择非常复杂的赛道，则您的赛车需要更长的总训练时间，并且您使用的奖励函数也更加复杂。

**选择您的赛道（环境）**

1. 在**选择赛道**页面上，选择一条赛道作为赛车的训练环境。

1. 选择**下一步**。

## 第 4 步：选择算法
<a name="student-league-create-model-step-four"></a>

 AWS DeepRacer 学生有两种训练算法可供选择。不同的算法以不同方式最大限度地提高奖励。要充分利用您的 AWS DeepRacer 学生体验，请尝试使用这两种算法。有关算法的更多信息，请参阅[AWS DeepRacer 训练算法](https://docs.aws.amazon.com/deepracer/latest/developerguide/deepracer-how-it-works-reinforcement-learning-algorithm.html)。

**选择训练算法**

1. 在**选择算法类型**页面上，选择算法类型。有两种算法类型可供选择：
   +  **Proximal Policy Optimization (PPO)**。这种稳定但需要大量数据的算法在训练迭代之间执行一致。
   +  **Soft Actor Critic (SAC)**。这种不稳定但数据效率高的算法在训练迭代之间可能执行不一致。

1. 选择**下一步**。

## 第 5 步：自定义您的奖励函数
<a name="student-league-create-model-step-five"></a>

奖励函数是强化学习的核心。用它来激励您的赛车（代理）在探索赛道（环境）时采取特定的行动。就像您鼓励和阻止宠物的某些行为一样，您可以使用这个工具来鼓励您的赛车尽快完成一圈，阻止它驶出赛道和曲折行驶。

训练第一个模型时，您可能需要使用默认的奖励函数示例。准备好对模型进行实验和优化时，可以通过在代码编辑器中编辑代码来自定义奖励函数。有关自定义奖励函数的详细信息，请参阅 [自定义奖励函数](reward-function.md)。

**要自定义您的奖励函数**

1. 在**自定义奖励函数**页面上，选择一个奖励函数示例。有 3 种奖励函数示例可供您自定义：
   + **沿着中心线**。当您的赛车自动尽可能靠近赛道中心线驾驶时，给予奖励。
   + **保持在边界内**。当您的赛车自动驾驶且所有四个车轮都保持在赛道边界内时，给予奖励。
   + **防止曲折**。当您的赛车保持在中心线附近时，给予奖励。如果您的赛车使用高转向角度或偏离赛道，则会受到处罚。
**注意**  
如果您不想自定义奖励函数，请选择**下一步**。

1. （可选）修改奖励函数代码。
   + 选择一个奖励函数示例，然后选择 **演示此代码**。
   + 对于代码的每个部分，您可以通过选择 **\$1** 来显示包含解释性文本的弹出式文本框来查看更多信息。在每个弹出窗口中选择**下一步**，继续完成代码演练。要退出弹出式文本框，请选择角落的 **X**。要退出演练，请选择**完成**。
**注意**  
您可以通过选择**使用默认代码**来选择不编辑奖励函数示例代码。
   + （可选）通过选择奖励函数示例并选择**编辑示例代码**来编辑奖励函数示例代码。编辑代码并选择**验证**以检查您的代码。如果您的代码无法验证，或者您想将代码重置为其原始状态，请选择**重置**。

1. 选择**下一步**。

## 第 6 步：选择时长并将您的模型提交到排行榜
<a name="student-league-create-model-step-six"></a>

模型训练的持续时间会影响其性能。在训练的早期阶段进行试验时，您应该从此参数的较小的值开始，然后逐渐延长训练的时间。

在训练模型的这一步中，训练过的模型将提交到排行榜。您可以通过取消选中该复选框来选择退出。

**选择时长并将模型提交到排行榜**

1. 在**选择持续时间**页面上，在**选择模型训练时长**中选择时间。

1. 在**模型描述**字段中，为您的模型输入有用的描述，这将有助于您记住所做的选择。
**提示**  
最好添加有关模型的信息，例如奖励函数和算法的当前选择和修改，以及您对模型性能的假设。

1. 选中该复选框可在训练完成后自动将您的模型提交到 AWS DeepRacer 学生排行榜。或者，您可以通过取消选中该复选框来选择不提交您的模型。
**提示**  
我们建议您将模型提交到排行榜。提交模型可以帮助您了解您的模型与其他模型的对比情况，并为您提供反馈，以便您可以改进模型。

1. 选择**训练您的模型**。

1. 在**初始化模型训练**弹出窗口中，选择**确定**。

1. 在**训练配置**页面上，您可以查看模型的训练状态和配置。训练**状态**为**进行中**时，您还可以观看模型在所选赛道上训练的视频。观看视频可以帮助你获得宝贵的见解，用这些见解来改进模型。

## 第 7 步：在排行榜上查看模型的表现
<a name="student-league-create-model-step-seven"></a>

训练完模型并将其提交到排行榜后，您可以查看其表现。

**查看模型的表现**

1. 在左侧导航窗格中，导航到**竞赛**并展开。选择一个赛季。在**排行榜**页面上，您的模型和排名显示在一个分区中。该页面还包括一个**排行榜**部分，其中包含已提交的模型列表、比赛详情和**比赛详情**部分。

1. 在显示排行榜的页面中，在带有您的个人资料的部分，选择**观看视频**以观看视频了解您的模型表现。

## 第 8 步：使用**克隆**改进模型
<a name="student-league-create-model-step-eight"></a>

在您训练完模型并有选择地将模型提交到排行榜之后，您可以对其进行克隆以对其进行改进。通过使用先前训练过的模型作为新模型的起点，克隆模型可以节省步骤并提高训练效率。

**克隆和改进模型**

1. 在 “ AWS DeepRacer 学生” 中，在左侧导航窗格中，导航到**您的模型**。

1. 在**您的模型**页面上，选择一个模型并选择**克隆**。

1. 在**命名您的模型**字段中，为您的克隆模型提供一个新名称，然后选择**下一步**。

1. 在**自定义奖励函数**页面上，自定义奖励函数，然后选择**下一步**。有关自定义奖励函数的详细信息，请参阅 [第 5 步：自定义您的奖励函数](#student-league-create-model-step-five)。

1. 在**选择持续时间**页面中，在**选择模型训练时长**字段中输入时间，在**模型描述**字段中输入描述，然后选中复选框将克隆的模型提交到排行榜。

1. 选择**训练您的模型**。您的训练已初始化。此时将显示**训练配置**页面，其中包含有关您的克隆模型的信息。训练**状态**为**进行中**时，您还可以观看模型在所选赛道上训练的视频。

1. 继续克隆和修改您的预训练模型，以在排行榜上获得最佳表现。

## 第 9 步：（可选）下载模型
<a name="student-league-create-model-step-nine"></a>

训练模型并选择将其提交到排行榜后，您可能需要将其下载以备将来在 AWS DeepRacer 实体设备上使用。您的模型将另存为 `.tar.gz` 文件。

**下载一个模型**

1. 在 “ AWS DeepRacer 学生” 中，在左侧导航窗格中，导航到**您的模型**。

1. 在**您的模型**页面上，选择一个模型并选择**下载**。

1. 在浏览器中跟踪模型下载的进度。下载模型后，您可以将其保存到本地硬盘或其他首选存储设备中。

   要了解有关使用 AWS DeepRacer 设备的更多信息，请参阅*AWS DeepRacer 指南*中的[操作您的 AWS DeepRacer 车辆](https://docs.aws.amazon.com/deepracer/latest/developerguide/operate-deepracer-vehicle.html)。