强化学习是一种机器学习方法,旨在通过与环境的交互学习最佳行为策略。它基于试错的方式,通过尝试不同的行动并根据环境的反馈来调整策略,以达到最大化预期奖励的目标。强化学习现在越来越火,很多大厂都在搞,比如亚马逊云科技
,在竞速赛车领域,可以通过将强化学习算法应用于虚拟竞速赛车游戏或模拟器中,利用奖励函数学习如何更好地控制赛车以获得高速和稳定性。下面介绍下如何利用Amazon DeepRacer
进行强化学习训练。
1 Amazon DeepRacer介绍
首先简单介绍下Amazon DeepRacer
,Amazon DeepRacer
是亚马逊云科技推出的一款强化学习智能赛车。它是一个完全自主驾驶的模型小车,旨在通过使用强化学习技术让用户学习、实践和竞争自动驾驶技术。
Amazon DeepRacer
赛车配备了多个传感器,如摄像头、雷达和陀螺仪等,用于感知环境和获取赛车状态。它还具有一台嵌入式计算机,用于实时处理传感器数据并执行决策。用户可以通过编写和训练强化学习算法,让Amazon DeepRacer
在赛道上自主驾驶。
在Amazon DeepRacer
中,用户可以使用亚马逊云科技的强化学习平台Amazon RoboMaker
进行算法开发和模拟训练。用户可以设计自定义的状态空间、动作空间和奖励函数,并使用Amazon RoboMaker
进行大规模的仿真训练,以优化赛车的驾驶策略。
除了仿真训练,Amazon DeepRacer
还有一个真实的赛车比赛系列,称为Amazon DeepRacer
联赛。在这个比赛中,用户可以将他们训练好的模型上传到云端,并与其他用户的模型进行竞争。通过比赛,用户可以进一步改进他们的算法,并与全球的Amazon DeepRacer
社区进行交流和竞争。
Amazon DeepRacer
的目标是通过提供一个实践性的平台,让开发者和爱好者探索和理解强化学习在自动驾驶领域的应用。它将人们引入到强化学习的世界中,并促进了知识的分享和技术的进步。这次,我们就简单利用亚马逊云科技提供的平台来练习一下强化学习~~
2 Amazon DeepRacer使用
2.1 学习理论知识
首先可以先学习下理论知识,包括Amazon DeepRacer
的原理,以及强化学习的原理,如果不感兴趣,可以直接进行2.2
。
打开链接,登录你的亚马逊云科技账号:https://www.aws.training/Details/eLearning?id=32143
点击开始学习,首先是课程1,主要是介绍,我们直接到课程2,可以看到主要的流程:
我们主要是在模拟器中对性能进行评估,测试是免费的,下面是收费方案:
Amazon DeepRacer 是亚马逊云科技免费套餐的一部分,因此您可以免费开始使用。在注册后的第一个月,您可以享受月度免费套餐,其中包括 10 小时的 Amazon SageMaker 训练和 60 个 Amazon RoboMaker 模拟单元(足以覆盖 10 个小时的训练)。如果您超出这些免费套餐限值,则将产生额外费用。有关更多信息,请参阅 Amazon DeepRacer定价页。
2.2 创建模型并训练
打开赛车官网:https://aws.amazon.com/cn/deepracer/?nc2=type_a
点击免费试用:
模型名字和描述自己写,模拟环境也可以默认~
赛道类型也是默认,如果你想自定义的话,可以更改许多超参数
,比如:
接下来是定义运动空间,你可以定义转向的角度和速度:
接下来是选择小车,默认只有一辆,直接选择即可:
最后就是最重要的一步了,奖励函数,这也是我们能修改的最灵活的地方:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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) |
因为目前我们只是体验,所以保持默认即可~~一切完毕之后,点击创建模型~
之后,我们可以看下强化学习的训练过程,首先是初始化:
然后是训练和评估~~
甚至,你能实时看到你训练的小车是如何一步一步的成长:
OK,到这里我们就完成了强化学习的训练和评估,整体来说,通过这套流程,可以简单实现利用Amazon DeepRacer
进行强化学习的练习,大家感兴趣的话,可以注册玩玩,免费10
小时,入门的话绰绰有余。
另外,在Amazon DeepRacer
上面训练的模型还可以直接移植到现实中的小车上进行竞赛,是不是很酷?如果你训练了一个性能很强的模型,就可以试着参加线上比赛,或者你也可以参加2023年亚马逊云科技中国峰会,现场看大神们实地的竞赛~~亚马逊云科技将于6月27日及28日
在上海世博中心举办一年一度的亚马逊云科技中国峰会。
举办 Amazon DeepRacer
2023年亚马逊云科技中国峰会总决赛的同时,将同步启动Amazon DeepRacer
自动驾驶赛车名校邀请赛,还在现场计了 Amazon DeepRacer
实训营、现场挑战及 Girls in Tech Show
,具体安排如下:
- 2023年亚马逊云科技中国峰会总决赛:
6月27日
,来自不同行业的企业进行中国峰会总决赛。 Amazon DeepRacer
自动驾驶赛车名校邀请赛:6月28日
,与高校联动,打专门为中国大学生设计一场顶级的人工智能技术角逐,寻找未来“生力军”。Amazon DeepRacer
实训营:现场构建自己的第一个强化学习模型,快速掌握机器学习知识。Girls in Tech Show
:见证女性赛手的卓越风姿。- 全球联赛:今年的全球联赛已正式开启,来自全球的顶尖车手通过层层选拔晋级,最终在亚马逊云科技
re:Invent
大会角逐巅峰。除了丰厚奖品,每个月大中华赛区的月冠军将直通拉斯维加斯,直通差旅费由亚马逊云科技全程赞助!本次2023年亚马逊云科技中国峰会现场的最佳成绩将直接晋级!
就算不参加比赛也可以报名现场观摩,有丰富的周边礼品,参会链接: