马春杰杰 Exit Reader Mode

免费注册享福利,学习Amazon DeepRacer强化学习并参加2023年亚马逊云科技中国峰会

强化学习是一种机器学习方法,旨在通过与环境的交互学习最佳行为策略。它基于试错的方式,通过尝试不同的行动并根据环境的反馈来调整策略,以达到最大化预期奖励的目标。强化学习现在越来越火,很多大厂都在搞,比如亚马逊云科技,在竞速赛车领域,可以通过将强化学习算法应用于虚拟竞速赛车游戏或模拟器中,利用奖励函数学习如何更好地控制赛车以获得高速和稳定性。下面介绍下如何利用Amazon DeepRacer进行强化学习训练。

1 Amazon DeepRacer介绍

首先简单介绍下Amazon DeepRacerAmazon 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

点击免费试用:

模型名字和描述自己写,模拟环境也可以默认~

赛道类型也是默认,如果你想自定义的话,可以更改许多超参数,比如:

接下来是定义运动空间,你可以定义转向的角度和速度:

接下来是选择小车,默认只有一辆,直接选择即可:

最后就是最重要的一步了,奖励函数,这也是我们能修改的最灵活的地方:

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,具体安排如下:

就算不参加比赛也可以报名现场观摩,有丰富的周边礼品,参会链接:

https://m0c0.cn/uat/KOC53-PC