驾驶着 Amazon DeepRacer 的你就是这条街最靓的仔! Amazon DeepRacer 是 1/18 自动驾驶赛车,专门用于通过在实际赛道上进行竞赛来测试强化学习模型;使用摄像头查看赛道,并使用强化模型来控制油门和方向盘,通过该方式演示了如何将模拟环境中训练的模型转移到真实场景。 重要的是,DeepRacer可不是一款纯硬件产品,开发者可以通过搭配亚马逊云科技平台开发自动驾驶汽车来掌握强化学习的知识。 现在,2021亚马逊云科技Amazon DeepRacer 自动驾驶赛车线上选拔赛正在进行中。 无论你是技术小白,还是开发大拿,都可以通过3D 赛车模拟器来动手进行机器学习。在这里,你不仅可以提高机器学习开发技能,还有机会入围线下大奖赛!在专业赛道上,与高手高手高高手同场竞技、正面交锋、斩获殊荣! 为了帮助大家更好得掌握相关知识,我们也准备了2份示例代码,分别由DeepRacer资深爱好者与Mermaidyyds站队提供,目前排名分别为第9与第25,希望大家可以在此基础上进行优化,详情见下文。 先看看规则与奖励 比赛形式:计时赛 使用单个传感器配置在 Amazon DeepRacer 控制台中快速轻松地开发您的第一个 RL 模型,以达到最快速刺激的自动驾驶赛车之旅! 比赛规则 选手用最快的速度完成赛道 3 圈,同时需避免偏离赛道而导致的罚时,竞逐排行榜排名(每偏离一次,总时长增加1秒)。 比赛时间:2021年6月1日至6月30日 比赛奖励完成模型提交,添加DeepRacer小助手(amazon_cloud2)即可获赠价值 30 美元的 Amazon DeepRacer 专属服务抵扣券;截至 6 月 30 日 23:59:59,排行榜前 10 名参赛者将晋级至 7 月 22 日 2021 亚马逊云科技中国峰会 Amazon DeepRacer 自动驾驶赛车大奖赛 — 上海站。前 3 名入围者可获得 Kindle Oasis,第 4 - 10 名可获得 Kindle Paperwhite。 报名方式访问竞赛网址:https://aws.amazon.com/cn/about-aws/events/summit2021/deepracer-league(点击阅读原文直达) 免费创建账号后即可提交模型。 通关教程:从创建账户到提交模型:https://www.bilibili.com/video/BV1iy4y1u7Ca 如何正确打开本次竞赛 首先,亚马逊云科技提供了「Amazon DeepRacer 免费强化学习 (RL) 课程」,讲解如何在 Amazon DeepRacer 中构建、训练和部署模型,还会深入介绍强化学习。 课程时长90分钟,对Amazon DeepRacer还不了解的小伙伴可以参考:https://aws.amazon.com/cn/about-aws/events/summit2021/deepracer-getting-started/ 其次,我们邀请到目前排行榜第9位与第25位的团队公开了他们的代码,大家可以在此基础上做改进。 代码示例1 目前排在第9位的Bill是一名DeepRacer资深爱好者,我们已获得他的授权以公开代码供大家参考:def reward_function(params): track_width = params["track_width"] distance_from_center = params["distance_from_center"] all_wheels_on_track = params["all_wheels_on_track"] speed = params["speed"] SPEED_THRESHOLD = 4.0 # Calculate 3 markers that are at varying distances away from the center line marker_1 = 0.1 * track_width marker_2 = 0.25 * track_width marker_3 = 0.5 * track_width # Give higher reward if the car is closer to center line and vice versa if distance_from_center <= marker_1: reward = 2.0 elif distance_from_center <= marker_2: reward = 0.5 elif distance_from_center <= marker_3: reward = 0.1 else: reward = 1e-3 # likely crashed/ close to off track if not all_wheels_on_track: # Penalize if the car goes off track reward = 1e-3 elif speed < SPEED_THRESHOLD: # Penalize if the car goes too slow reward = reward + 0.5 else: # High reward if the car stays on track and goes fast reward = reward + 1.3 return float(reward) 代码示例2 目前排在第25位的Mermaidyyds战队,她们是来自亚马逊云科技Markting部门的三位小姐姐,都是零基础上手实操,可以给同样是零基础的小伙伴做个参考。def reward_function(params): """ Example of rewarding the agent to follow center line """ # Read input parameters track_width = params["track_width"] distance_from_center = params["distance_from_center"] # Calculate 3 markers that are at varying distances away from the center line marker_1 = 0.1 * track_width marker_2 = 0.25 * track_width marker_3 = 0.5 * track_width # Give higher reward if the car is closer to center line and vice versa if distance_from_center <= marker_1: reward = 1.0 elif distance_from_center <= marker_2: reward = 0.5 elif distance_from_center <= marker_3: reward = 0.1 else: reward = 1e-3 # likely crashed/ close to off track return float(reward)