怎样从零开始训练一个 AI 车手?

如何快速理解强化学习的概念?驯只猫就行。

比如下面这位爷,巨皮。

整天就是跑酷、尿炕、抓沙发,搞到人头皮发麻、心态爆炸。直到你忍不了了,决定对它进行残酷的猫德教育。方案是:

以后在家,每当它表现出一次守猫德的行为,就奖励一根猫条;而每当它皮一次,你就立刻扑过去,咬它的头……

这样反复拉扯两个月之后,你的猫再也不敢皮了 ——

这个过程里发生的事情,就是“强化学习”:

一个智能体(你的猫)在与环境(有你的你家)互动的过程中,在奖励(猫条)和惩罚(咬头)机制的刺激下,逐渐学会了一套能够最大化自身收益的行为模式(安静,躺平)。

所以其实,养猫跟搞人工智能,道理是一样的。

强化学习最著名的代表当然是 AlphaGo:几万盘棋,左右互搏,最后无师自通成了独步天下的围棋之神。

如果把 AlphaGo 看作上面例子里的猫,那在训练里,决定它能否获得“猫条”的每盘棋最终的对弈结果 —— 赢了就有好东西吃,输了就要被吃(bushi)。

另外,DeepMind 开发出过一个能在 57 款雅达利游戏上都超越人类玩家的智能体,背后依靠的同样是强化学习算法。

不过这里的奖励和惩罚机制就要根据不同的游戏来具体设计了。比如玩最简单的吃豆人,就可以对每次吃到豆子的行为进行奖励,对撞到幽灵 gg 的状况给予惩罚。

而除了在游戏领域天空海阔之外,强化学习,其实还能拿来搞自动驾驶。

如何训练 AI 司机

为了更方便地说明这件事怎么实现,这里我们借用一个道具:来自亚马逊云科技的 Amazon DeepRacer。

一辆看上去很概念的小车,跟真车的比例是 1 比 18。车上安装了处理器、摄像头,甚至还可以配置激光雷达,为的就是实现自动驾驶 ——

当然,前提就是我们先在车上部署训练好的强化学习算法。

算法的训练需要在虚拟环境中进行,为此 Amazon DeepRacer 配套了一个管理控制台,里面包含一个 3D 赛车模拟器,能让人更直观地看到模型的训练效果。

有了这套东西,我们就能自己尝试从零开始训练一个 AI 司机。

具体怎么做呢?重点来了:

假设这是模拟器里的一条完全笔直的赛道,以及虚拟环境里的 Amazon DeepRacer 赛车。

我们的目标是让赛车以最短的时间冲刺到终点 —— 那么对于这条赛道而言,最好的选择就是让车尽量沿着中线跑,避免因绕路或出界而导致增加时长。

为此,我们可以把赛道切分成多个网格,然后给这些网格赋予不同的分数:

靠近中间的,给更高的分;在两侧的,稍微意思一下;超出赛道范围的部分属于无效区域,如果碰到,就要从头再来。

开跑之后,一开始,赛车并不知道哪一条是最佳路线,只是在像无头苍蝇一样四处乱撞,很多时候还会冲出赛道。

但后面,随着试错的次数越来越多,在奖励函数的“指挥”下,赛车会逐渐探索出一条能够获得最高累积分数的路线。

理想状况下,一段时间的训练、迭代之后,算法就会学会“直线”最快这条真理。

而再把算法部署到车上,我们就能收获一辆会跑直线的赛车。

当然跑直线只是一种最简单的情形,实际的赛道一般都更加复杂,很多时候沿中心线跑也并不是最快的路线,为此我们就需要调整训练的策略和奖励函数的设计。

实际操作中,具体函数的编写同样通过 Amazon DeepRacer 的管理控制台完成。

在写函数之前,我们可以在上面调整模型的超参数,然后定义它的行动空间,规定赛车行驶的速度和转向时的角度,甚至…… 还能选择赛车的皮肤,等等。

Amazon DeepRacer 这一整套服务,蛮像一套入门强化学习的可视化教学工具,新手跟着提示也能一步步做下来,大家如果有兴趣,不妨自己试试。

挑战吉尼斯?

当然,既然说了是赛车,自然要追求速度,越快越好。

而如果你想测试一下,自己“培养”出来的 AI 司机到底够不够快的话……

亚马逊云科技官方还搞了比赛,让把大家训练的 AI 司机全都拉出来,比一比,看看谁才是真正的秋名山车神。

这个联赛是一个全球范围内的正经比赛。18 年开始办第一届,办到现在,总共有超过 10 万人参加。从线上模拟到线下实体比赛,都有。

比赛在全球的机器学习开发者圈子里已颇有名气。去年,还跟 F1 搞过联名,喊来了当时雷诺车队的车手里卡多,跟大伙一块开车。

而中国区也为中国的开发者建立了专门的 Amazon DeepRacer 联赛。

今年中国区联赛分为了两个赛季,每个赛季的月赛根据赛道的难易程度和模型训练难度的不同,分成了大众组和专业组。月赛组别排名靠前的选手,会有机会晋级到下一组别或参加线下比赛。

当然,比赛都有奖品。耳机、键盘、音箱…… 什么乱七八糟的都有;

而如果你一不小心拿了个赛季总冠军的话,那恭喜你,你可以白嫖一张去拉斯维加斯的机票(还有酒店、大会门票)。

Amazon DeepRacer 联赛的报名是免费的,也没有职业要求。只不过如果你没满 16 周岁就来卷,就得需要监护人允许了……

今年的比赛还在进行中,现在在官网上注册了账号,就会自动获得亚马逊云服务上 10 个小时的训练时间,并且可以申请价值 30 美元的“点卡”。

与之同时,亚马逊云科技官方还在搞一个“挑战吉尼斯世界纪录”的活动,目标是突破 4387 这个参赛人数数字,申请成为全世界“最大规模的机器学习竞赛”。

今年的每个参赛选手都会成为纪录的一部分 —— 甚至,每人都有机会得到一张吉尼斯世界纪录的挑战证书。

至于这次挑战的最终结果,会在十月份公布。

到时,今年的亚马逊云科技线上中国峰会将在 10 月开启,会上除了公布 Amazon DeepRacer 吉尼斯挑战结果,还会有云计算领域的众多大咖做分享,以及相关的技术成果展示。

目前,线上峰会已经开启报名,海报和链接在此:

报名链接:

https://summit.awsevents.cn/2022/signin?source=gh/ZsR4xii4TX2Vs20QVMuBJ8myz/eb2C54wsCCG96M=&tab=1&type=2