在 AWS DeepRacer Student 中训练强化学习模型 - AWS DeepRacer 学生

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

在 AWS DeepRacer Student 中训练强化学习模型

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

第 1 步:使用 AWS DeepRacer Student 训练强化学习模型

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

培训强化学习模型
  1. 在 AWS DeepRacer Student 主页中,选择创建模型。或者,在左侧导航窗格中导航到您的模型。在模型页面的您的模型中,选择创建模型

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

第 2 步:命名模型

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

为您的模型命名
  1. 为您的模型命名页面上,在模型名称字段中输入名称。

    注意

    当您开始训练模型时,模型的名称即固定且不可更改。

  2. 选择 Next(下一步)。

第 3 步:选择赛道

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

选择您的赛道(环境)
  1. 选择赛道页面上,选择一条赛道作为赛车的训练环境。

  2. 选择 Next(下一步)。

第 4 步:选择算法

AWS DeepRacer Student 有两种训练算法可供选择。不同的算法以不同方式最大限度地提高奖励。要获得最佳的 AWS DeepRacer Student 体验,请尝试使用这两种算法。有关算法的更多信息,请参阅 AWS DeepRacer 训练算法

选择训练算法
  1. 选择算法类型页面上,选择算法类型。有两种算法类型可供选择:

    • Proximal Policy Optimization (PPO)。这种稳定但需要大量数据的算法在训练迭代之间执行一致。

    • Soft Actor Critic (SAC)。这种不稳定但数据效率高的算法在训练迭代之间可能执行不一致。

  2. 选择 Next(下一步)。

第 5 步:自定义您的奖励函数

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

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

要自定义您的奖励函数
  1. 自定义奖励函数页面上,选择一个奖励函数示例。有 3 种奖励函数示例可供您自定义:

    • 沿着中心线。当您的赛车自动尽可能靠近赛道中心线驾驶时,给予奖励。

    • 保持在边界内。当您的赛车自动驾驶且所有四个车轮都保持在赛道边界内时,给予奖励。

    • 防止曲折。当您的赛车保持在中心线附近时,给予奖励。如果您的赛车使用高转向角度或偏离赛道,则会受到处罚。

    注意

    如果您不想自定义奖励函数,请选择下一步

  2. (可选)修改奖励函数代码。

    • 选择一个奖励函数示例,然后选择 演示此代码

    • 对于代码的每个部分,您可以通过选择 + 来显示包含解释性文本的弹出式文本框来查看更多信息。在每个弹出窗口中选择下一步,继续完成代码演练。要退出弹出式文本框,请选择角落的 X。要退出演练,请选择完成

      注意

      您可以通过选择使用默认代码来选择不编辑奖励函数示例代码。

    • (可选)通过选择奖励函数示例并选择编辑示例代码来编辑奖励函数示例代码。编辑代码并选择验证以检查您的代码。如果您的代码无法验证,或者您想将代码重置为其原始状态,请选择重置

  3. 选择 Next(下一步)。

第 6 步:选择时长并将您的模型提交到排行榜

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

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

选择时长并将模型提交到排行榜
  1. 选择持续时间页面上,在选择模型训练时长中选择时间。

  2. 模型描述字段中,为您的模型输入有用的描述,这将有助于您记住所做的选择。

    提示

    最好添加有关模型的信息,例如奖励函数和算法的当前选择和修改,以及您对模型性能的假设。

  3. 选中该复选框可在训练完成后自动将您的模型提交到 AWS DeepRacer Student 排行榜。或者,您可以通过取消选中该复选框来选择不提交您的模型。

    提示

    我们建议您将模型提交到排行榜。提交模型可以帮助您了解您的模型与其他模型的对比情况,并为您提供反馈,以便您可以改进模型。

  4. 选择训练您的模型

  5. 初始化模型训练弹出窗口中,选择确定

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

第 7 步:在排行榜上查看模型的表现

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

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

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

第 8 步:使用克隆改进模型

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

克隆和改进模型
  1. 在 AWS DeepRacer Student,在左侧导航窗格中导航到您的模型

  2. 您的模型页面上,选择一个模型并选择克隆

  3. 命名您的模型字段中,为您的克隆模型提供一个新名称,然后选择下一步

  4. 自定义奖励函数页面上,自定义奖励函数,然后选择下一步。有关自定义奖励函数的详细信息,请参阅 第 5 步:自定义您的奖励函数

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

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

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

第 9 步:(可选)下载模型

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

下载一个模型
  1. 在 AWS DeepRacer Student,在左侧导航窗格中导航到您的模型

  2. 您的模型页面上,选择一个模型并选择下载

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

    要了解有关使用 AWS DeepRacer 设备的更多信息,请参阅 AWS DeepRacer 指南中的操作您的 AWS DeepRacer 车辆