(赛事-2022)[re:Invent 2018]-001:介绍

介绍背景

2022 年公司再次组织Deepracer 比赛,这次是公司全球九个国家或地区比赛,分不同赛区。

比赛地图

round - 1

依旧是经典的赛事地图 re:Invent 2018 这一个中线长度为17.71 m宽度为0.76m 的闭环地图。

赛事规则

跑三圈,取最快一圈的成绩,这里就有随机性,可以通过多次提交来刷新最佳成绩

注意事项

  1. 今年的规则与以往的不同,去年是三圈完成的总成绩
  2. 今年每个比赛账号训练时长是固定的17小时,这个规则类似Student版本,时间用完之后不可以通过信用卡烧钱训练,这个对我这种平民玩家十分友好
  3. 今年的赛事不能通过导入的方式来将其他模型导入,避免了在其他账号上训练,累积训练时长的bug

最终成绩

单圈最快 - 7.668s

在这里插入图片描述

关于本次比赛

刚开始的时候给每个比赛账号14小时的训练时长,后面又给了每个账号加了3个小时时长。

reward_function 策略

本次比赛的策略依旧采用的是:

  1. 全局奖励
  2. 瞬时奖励
  3. 位置以及角度奖励

策略实现

  1. 全局奖励
    完成度相同的情况下,所用步数越小奖励值越大,由于这个相当于是全局累加,这里使用了指数用来扩大奖励值
rewardStep = np.exp(2.5 * progress/steps) 
# rewardStep = np.exp((2.5 * progress/steps) ** 2) 

这里要注意下 progress/steps 边界值,不让让它过大或或过小,也就是要处理下起步

  1. 瞬时奖励
    当 速度 小于 离心速度时,奖励值越大,当速度大于离心速度是,给予惩罚(负的奖励值)
rewardSpeed = np.exp((speed/speedk)**2)
  1. 位置及角度奖励
    当小车当前位置离最佳路线位置越近,奖励值越高,车头与接下来几个点的夹角越小,奖励值越大
rewardDistance = np.exp(1 - distance/width)
rewardAngle = np.exp(ANGLETHOLD/(steering+5))

Noted

当然你也可以根据你自己的理解编写你的reward_function,当然在clone 迭代中需要反复调整参数,比如通过分析log,发现training的平均速度上不去了,这时候需要适当增加速度的奖励,当完成度降低时增加rewardStep 的奖励值。通过来回的调整这些参数可以提高成绩,当成绩达到极限时完成度会变得很低,这是正常的,因为速度提高了,小车容易出圈。你要做的是根据比赛规则来调整你的策略,如果比赛成绩是按单圈最快,那就尽量提速,反正最终只要有一圈跑的足够快就行了,如果比赛成绩是按三圈总共时间,这时候你就需要考虑完成度,因为一次出圈罚3s 还是挺伤的。

>>> 如果你觉得我的文章对你有用,不妨 【点赞】 加 【关注】,你的支持是我持续写作的动力,thank you! <<<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rambo.Fan

码字不易,打赏有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值