怎样从零开始训练一个AI车手?
![怎样从零开始训练一个AI车手?](/pic/1/cj_hbzy03737f.jpg)
如何快速理解强化学习的概念?只是训练一只猫。
比如下面这位老爷爷,巨皮。
就是跑酷,整天尿炕,抢沙发,让人头皮发麻,心态爆炸。直到你忍无可忍,决定给它残忍的猫德育。方案是:
以后它每表现出一次保持猫德的行为,就会奖励一条猫条;而且每次它脱皮,你马上扑上去咬它的头…
经过两个月的反复拉扯,你的猫就不敢再剥皮了——
在这个过程中发生的是“强化学习”:
在与环境(你的家与你)互动的过程中,一个代理人在奖励(猫栏)和惩罚(咬头)的刺激下,逐渐学习到一套能使自身利益最大化的行为模式(安静、平躺)。
其实养猫和搞人工智能是一样的。
当然,强化学习最著名的代表是AlphaGo:上万盘棋,左拼右拼,最后成为世界上唯一的围棋之神。
如果把AlphaGo看成上面例子中的猫,那么在训练中,就决定了它能否得到“猫吧”每一局的最终比赛结果——赢了就有好东西吃,输了就被吃掉。
此外,DeepMind还开发了一个可以在57款雅达利游戏中超越人类玩家的代理,这也是依靠强化学习算法。
不过这里的奖惩机制会根据不同的游戏具体设计。比如玩最简单的吃豆人,每次吃豆都有奖励,打鬼gg的情况有惩罚。
除了游戏领域的广阔天空,强化学习其实也可以用于自动驾驶。
如何培养AI司机
为了更方便地解释这是如何实现的,这里我们借用一个道具:亚马逊云技术的Amazon DeepRacer。
看起来很有概念的车和真车的比例是1比18。这辆车配备了处理器、摄像头,甚至激光雷达,以实现自动驾驶-
当然,前提是我们先在车上部署好训练好的强化学习算法。
算法训练需要在虚拟环境中进行,所以亚马逊DeepRacer配备了管理控制台,控制台中包含了3D赛车模拟器,可以让人更直观的看到模型的训练效果。
有了这一套东西,我们可以尝试自己从零开始训练一个AI司机。
具体怎么做?重点来了:
假设这是模拟器中完全直线的赛道,虚拟环境中的亚马逊DeepRacer赛车。
我们的目标是让赛车在最短的时间内冲刺到终点——那么对于这条赛道来说,最好的选择就是让赛车尽量沿着中心线跑,避免因为绕路或者出界而增加时间。
为此,我们可以将音轨分成多个网格,然后为这些网格分配不同的分数:
接近中间,给较高的分数;两边,有点意思;超出轨道范围的部分是无效区域。如果遇到了,就得从头再来。
起跑后,一开始赛车不知道哪条路线最好,只是像无头苍蝇一样跑来跑去,经常冲出赛道。
但后来随着试错次数的增多,在奖励功能的“指挥”下,汽车会逐渐摸索出一条可以获得最高累计分数的路线。
理想情况下,经过一段时间的训练和迭代,算法会学到“直线”最快的道理。
通过将算法部署到汽车上,我们可以获得一辆可以直线行驶的赛车。
当然,直线跑只是最简单的情况,实际轨迹一般更复杂。很多时候,沿着中心线跑并不是最快的路线,所以我们需要调整训练策略,设计奖励函数。
实际操作中,具体的功能也是通过亚马逊DeepRacer的管理控制台来编写的。
在写函数之前,我们可以在上面调整模型的超参数,然后定义它的动作空间,指定汽车的速度和转弯时的角度,甚至……选择汽车的蒙皮,等等。
亚马逊DeepRacer,全套服务,相当像一套入门强化学习的可视化教学工具。新手可以按照提示,一步一步来做。有兴趣的话,不妨自己试试。
挑战吉尼斯?
当然,既然是赛车,自然要追求速度,而且越快越好。
而如果你想测试你“培养”的AI驱动是否足够快...
亚马逊的官云科技还举办了一场比赛,把大家训练的AI司机全部拉出来,进行对比,看谁才是秋名山真正的车神。
这个联盟是全球范围内的一个严肃的竞争。第一届是18年举行的。截至目前,已有超过10万人参与。从线上模拟到线下实体竞技,都有。
该竞赛在机器学习开发人员的世界中非常有名。去年我们和F1联名,叫当时雷诺的车手里卡多和大家一起开。
中国还为中国开发者建立了专门的亚马逊DeepRacer联盟。
今年的中国区联赛分为两个赛季。每个赛季的月赛根据赛道难度和模特训练难度分为大众组和专业组。月赛组排名靠前的选手将有机会晋级下一组或参加线下比赛。
当然,所有比赛都有奖品。耳机、键盘、扬声器...一切;
如果你意外赢得了上赛季的冠军,恭喜你,你可以得到一张去白嫖拉斯维加斯的机票。
与此同时,亚马逊云技术官方还在进行一项“挑战吉尼斯世界纪录”的活动,目标是突破4387的参赛人数,申请成为全球“最大的机器学习竞赛”。
今年的每个参赛者都将成为记录的一部分——甚至,每个人都将获得一份挑战吉尼斯世界纪录的证书。
至于这次挑战的最终结果,将会在10月份揭晓。
届时,今年的亚马逊云技术在线中国峰会将于10月开幕。除了宣布亚马逊DeepRacer吉尼斯挑战赛的结果,还会有很多云计算领域的大咖来分享,相关的技术成果也会展示出来。
-
最新内容
-