当您的 AWS DeepRacer 车辆沿着轨道行驶时,它会使用安装在正面的摄像头捕捉环境状态,并根据观测结果采取行动。您的 AWS DeepRacer 模型是一个将观察结果和行动映射到预期回报的函数。训练您的模型是要找到或学习最大化预期奖励的函数,这使得经优化的模型能够规定您的车辆可以采取哪些行动(速度和转向角对)以便车辆从头到尾都沿赛道行驶。

在实际应用中,该函数由一个神经网络表示,该网络的训练包括找到给定观察到的环境状态序列下的最佳网络权重和相应的车辆行动。最优性的基本标准由模型的奖励函数描述,该函数鼓励车辆在不造成交通事故或违规的情况下合法而有效地行驶。简单的奖励函数可以返回 0(如果车辆在赛道上)、-1(如果车辆不在赛道上)和 +1(如果车辆到达终点)。利用此奖励函数,车辆会因离开赛道而收到惩罚,并因到达目的地而获得奖励。如果时间或速度不是问题,这可能是一个很出色的奖励函数。

假设您想让车辆在不偏离直线赛道的情况下尽可能快速地行驶。当车辆加速和减速时,车辆可左右转向以避开障碍物或保持在赛道内。在高速行驶时转向过大很容易导致车辆偏离赛道。转向过小可能无法帮助避免与障碍物或其他车辆相撞。一般来说,最佳操作是以较低的速度进行较大的转向或沿较锐利的曲线较小转向。为了鼓励这种行为,您的奖励函数必须分配一个正分数来奖励高速下的较小转向,或分配一个负分数来惩罚高速下的大转向。类似地,奖励函数可以对沿着更直的路线加速或接近障碍物时减速返回正奖励。

奖励功能是您的 AWS DeepRacer 模型的重要组成部分。在训练 AWS DeepRacer 模型时,您必须提供该信息。训练涉及在赛道上从起点到终点的重复情节。在一个情节中,代理将与赛道交互以通过最大化预期的累积奖励来了解最佳的行动方案。最后,训练将产生一个强化学习模型。在训练之后,代理通过对模型运行推断来实施自动驾驶,以在任何给定状态下采取最佳行动。这可以在使用虚拟代理的模拟环境中完成,也可以在具有物理代理的真实环境中完成,例如 AWS Sc DeepRacer ale Vearce。

要在实践中训练强化学习模型,您必须选择一种学习算法。目前,AWS DeepRacer 控制台仅支持近端策略优化 (PPO) 和软行为体批判算法 (SAC) 算法。然后,你可以选择一个支持所选算法的深度学习框架,除非你想从头开始写一个。AWS 与 DeepRacer 集成 SageMaker ,使一些流行的深度学习框架(例如 TensorFlow)在 AWS DeepRacer 控制台中随时可用。使用框架可以简化训练作业的配置和执行,并使您能够专注于创建和增强特定于您的问题的奖励函数。

训练强化学习模型是一个迭代过程。首先,定义一个奖励函数来一次性覆盖代理在环境中的所有重要行为,这是很有挑战性的。其次,通常会调整超参数以确保令人满意的训练绩效。两者都需要试验。谨慎的方法是从一个简单的奖励功能开始,然后逐步增强它。AWS 使您能够克隆经过训练的模型,然后使用它来启动下一轮训练,从而 DeepRacer 促进了这一迭代过程。在每次迭代中,您可以向奖励函数引入一个或多个更复杂的处理方法来处理之前忽略的变量,也可以系统地调整超参数直到结果收敛。

与机器学习中的一般实践一样,您必须先评估一个训练后的强化学习模型以确定其有效性,然后再将它部署到物理代理以在实际情况中运行推理。对于自动驾驶,评估可以基于车辆从开始到结束在指定赛道上停留的频率或车辆在不偏离赛道的情况下完成路线的速度。AWS DeepRacer 模拟在 AWS RoboMaker 模拟器中运行,允许您运行评估并在排行榜上发布性能指标,以便与其他 AWS DeepRacer 用户训练的模型进行比较。

主题

  • 了解赛车类型并启用 AWS 支持的传感器 DeepRacer
  • 使用 AWS DeepRacer 控制台训练和评估 AWS DeepRacer 模型
  • AWS DeepRacer 奖励函数参考

标签: none