当前位置:   article > 正文

AWS DeepRace入门及奖励函数简介

deeprace

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

1.简介

在这里插入图片描述
DeepRacer是亚马逊推出的快速接触和入门机器学习(深度学习)的一种学习场景。
它虚拟了一辆赛车,并且以赛车跑完赛道为目的,要求大家创建模型并且编写奖励函数(reward function)并且训练模型,从而在尽可能短的时间内完成比赛。

你可以创建自己的模型,在一个虚拟赛道上完成性能评估。你也可以加入AWS DeepRacer联盟,和世界各地的选手进行切磋。

2.注册

需要到aws网站进行注册:https://console.aws.amazon.com/console/home
然后在服务里面找到AWS DeepRacer:
在这里插入图片描述
然后在Your models里面可以开始创建model:
在这里插入图片描述

3.费用

  1. 新用户会有免费10小时的体验时间;
  2. 超过10小时,每小时3.5美金;
  3. 存储model需要占用空间,空间也需要一定的费用,占比不大。

费用会从注册的时候绑定的信用卡中扣除,大家要记得及时查询账单。

4.模型创建:奖励函数

创建模型涉及到的配置大概有三块:

  1. Training algorithm and hyperparameters
    在这里插入图片描述
  2. Define continuous action space
    在这里插入图片描述
  3. Reward Function
    这就是我们创建模型最重要的部分:编写奖励函数。

可以说DeepRacer实际上就是怎么写好奖励函数(reward function)。

AWS DeepRacer提供了一些可用于编程的函数,详情见:
https://docs.aws.amazon.com/deepracer/latest/developerguide/deepracer-reward-function-input.html

而且AWS提供了一个Example代码,大家可以直接用这个代码作为自己的模型,当然如果要跑出很好的成绩,还是需要利用AWS提供的函数进行一定的分析和优化的。

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)
  • 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

Example代码我们大致说下思路:
它是根据判断赛车里赛道中心位置的距离来给予不同的奖励。
如果越靠近中心,那么得到的奖励越多。
我们通过这样的策略训练这个模型(比如60mins时间),那么可以得到一个比较理想的能完成比赛的模型,但是时间可能不是最短的。

后面我们会专门针对具体的赛道并提供一个思路来看看怎么创建一个能跑得更快的模型。

下一篇:《AWS DeepRacer re:Invent 2018赛道reward function奖励函数》

欢迎关注我的技术公众号:国民程序员,我们的目标:输出干货

  1. 每天分享原创技术文章
  2. 海量免费技术资料和视频学习资源
  3. 分享赚钱门道,带领程序员走向财务自由
图片名称
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/197081
推荐阅读
相关标签
  

闽ICP备14008679号