Tesla的自动驾驶系统Autopilot软件设计主管,Andrew Karpathy在今年2月底参加的ScaledML2020会议上做了主旨演讲,“AI for Full-sefl-driving”。这可能也是疫情在美国爆发之前,为数不多的机器学习专业的学术会议了。Karpathy同志手握全球规模最大的自动驾驶系统,他的公开发言寥寥无几。但凡公开的,在很多场合都备受推崇。不论从汽车界的自动驾驶行业来看,还是从AI在工业领域的具体落地来看,或者是仅从AI算法的学术领域来看,这个曾经被Elon Musk称作硅谷最好的AI算法大师,他的思考和发言都是很有价值的,这也彰显了Tesla的Autopilot走了一条显著的区别于Waymo道路而具备的独特魅力。
我们这里借着放假时期,将其发言整体做了整理,以及我们自己的理解,分几期放在公众号里,欢迎大家学习和讨论。顺便发扬劳动节的光荣传统。
首先还是这张图,Karpathy在几次演讲中都是用到了这张图片来解释Autopilot所需要执行的多任务识别系统。作为人类驾驶员,类似场景(车少、地物复杂、道路和标识众多)构不成任何令驾驶员紧张的要素,这是因为人类的“经验系统”已经将长期的人类自身的学习结果归纳、分类并入库,这底下日积月累的功夫并不算少,也并不很简单。但是经过积累形成“经验”,就不再会在决定方向和油门的时候,需要时时完整回顾和执行整个识别过程了。也不会需要消耗人类驾驶员过多的注意力资源。
对于Autopilot系统,本质上也一样。经过长时间的“多任务”神经网络的学习和模型参数的修正,满足识别的准确度门槛指标之后,Autopilot其实对于上图中的各种动静目标、道路标识、各种道路和交通符号的语义识别,都会在瞬间完成。从而可媲美甚至更胜于人类驾驶员的敏感度和全面性,在极端时间消耗内,给出外界场景中“可驾驶区域”的精准反馈。
Karpathy随后展示了一段Autopilot在雨中的连续识别状态,在通过复杂的社区公路时,Tesla确实能识别出绝大多数和交通/驾驶相关的景物目标。按照Tesla的官方说法,在目前的L2体制下,Autopilot大量识别出的道路目标不仅仅可以真实驱动车辆自主前进,也可以提供给现在阶段的公众/驾驶员,以增强其对于Autopilot系统代替人类驾驶员的可靠性以信心。这似乎是一个新鲜的说法,随着Autopilot可识别的目标越来越多,识别的精度越来越准确。在这个阶段完成对于人类驾驶员对于机器自动驾驶的信心,也是一个不错的考量。
在谈到自动驾驶场景中大量存在的Conner cases和Long tail现象时,Karpathy举了Stop标识的例子,在这里我们可以暂时不考虑多任务的目标识别系统,就单任务来说,依然困难重重。
上图是一个不太常见的“STOP”标识,为了在夜间让人类驾驶员可以注意到它的存在,在红色标牌上还特意增加了灯光。受限于镜头在暗光条件下的实际能力,STOP的白色字体其实是不可见的。但Autopilot却并不能放弃对类似标识在夜间的识别成功率,因此类似问题成为横梗在自动驾驶真正落地上的拦路虎,需要也必须解决。
上图中的场景更加特殊,管理员手持的STOP标识在她举起和放下两个动作下所代表的含义不同。举起意味着你需要停车接受核查,而放下则意味着你可以正常通过。类似的Conner cases不胜枚举…….
【校车上处于折叠状态的STOP标志是可以忽略的,可是如果被视觉系统捕捉到,而提前未经过相关训练的自动驾驶系统会将其认定为标准概念的STOP标识,从而触发临时停车行为,增加车辆和成员的危险性。】
【停车场制动杆上的STOP标识,只有在横杆放下时才有停车的含义。在横杆抬起过程中,它意味着你可以通行。但巨大而清晰的STOP标识同样会触发自动驾驶系统,导致临时停车行为。】
【下图中的分岔路口上,STOP标识仅仅针对左转岔口的车辆有效,对于直行车辆并无约束力。但是单纯的视觉系统和神经网络,并没有办法准确判断这个语义环境。】
所以,Karpathy在谈到类似长尾效应的时候,特意用了“Explicitly worry about it”。但类似问题如果不能在一个很高的水准上得到解决,那么真正意义上的自动驾驶时代就不可能到来。
Tesla对于此类问题的处理,秘密只有一个,就是已经被反复提到的Autopilot独特的Data Engine大闭环的那个结构。
这张结构图的细节我们在之前的文章中已经讨论过了,今天放在这里主要是针对无处不在的“STOP”标识做出具体的分析。STOP标识在北美是一个非常关键的交通标识,很多道路流量不是很高的路口和岔口,都是靠STOP标识来维持交通正常进行的。民众的配合度还是很高的,人和车辆在看到STOP标识的时候,都应该在停车线前踩停车辆、观察后才启动通过。
正是因为这个特性,可以让Data Engine平台对于STOP千奇百怪的视觉呈现实现一个相对自动化的完善机制。因为Data Engine可以结合车辆当时的速度状态和前置摄像头、毫米波雷达和超声波来判断速度为零的停车状态,是因为避让道路障碍物(包括行人),还是因为交通灯限制,还是因为STOP标识。因此可以从大量的停车行为中,发现这里是否是有从未被录入的STOP标识,还是新增加了STOP标识……反之亦然,如果地图的这个位置本来是有一个STOP标识(或者视觉摄像头捕捉到了STOP标识),为什么人类驾驶员还是操控车辆快速通过了?此时shadow mode会将这个情况上报给Data Engine……从而在平台侧,会发现大量的类似从未被处理过的STOP状态。
Tesla管这种过程叫做Boost,正是Boost让研发人员发现许许多多从未见过的长尾数据。在正确标注之后,可以将大量的长尾数据包括入新的训练周期。等下一个周期滚动训练完毕之后,Tesla的Autopilot在没有修改任何代码的前提下,即获得了对于以前不能处理的STOP停车标识的处理能力。
我们很多次强调了Tesla的路和Waymo之间的差别,即在于此。Karpathy讲到这里不无自豪地说,他很难想想没有一个实际运营的庞大的车队,类似的数据如何处理?自动驾驶的能力如何得到加强?
一家之言,欢迎讨论。下期我们继续讨论Autopilot的技术现状。
车右智能
info@co-driver.ai
备注:
1 题图1-8来自于Karpathy在ScaledML会议上的演讲“AI for Auto-Driving”,https://www.youtube.com/watch?v=hx7BXih7zx8&t=1240s;
2 题图来自互联网。
相关材料:
1由Elon Musk的一条推所想到的…… —— Tesla的视觉系统是如何处理深度信息的