接上一期。
上期我们顺着Karpathy的思路仔细过了Autopilot在处理大量Corner cases的长尾效应的基本思路,论证方法就是围绕STOP道路标识。下图中的上半部分罗列了被严重遮挡的STOP标识状态;下半部分罗列了预定义的STOP标识状态(所谓预定义是指有预置条件的STOP标识,比如左转车辆需要STOP,右转无需STOP等等)。对于这些比较特殊的STOP标识,Autopilot的处理方法如下:
第一步:在对某个类型的corner case有所了解之后,离线方式创造一个神经网络用于处理围绕这种corner case所能获得的样本数据;
第二步:在经过小范围的学习和训练之后,我们将拥有一个完整的、但性能必然一般的识别网络(神经网络)。我们将其通过OTA方式部署到Tesla的车队上去,可以是全部或者部分车辆,部分的原因是,显然英文的STOP标识在中国等非英语国家的Tesla车辆上就无需部署;
第三步:部署在车队上的这块神经网络将以“shadow mode”的模式(或者类似的方式)工作在后台,显然不会在现在这个阶段即接入Autopilot生产力环境。但这块神经网络在视觉处理之后,评分非常高的场景数据将会被标记并被送回后台的Data Engine;
第四步:根据经验,以Tesla车队的庞大的规模,上报的数据必然是大量的(这是为什么这个过程被称作Boost),但处理这些数据往往是高度自动化的而无需消耗过多的人力去做标注,Karpathy的潜台词是,上报的数据往往质量非常好,可以被直接用作新的训练数据,从而对原有的那块神经网络做更好的训练;
第五步:周而复始,Corner cases们将会逐步被消灭到一个可以被接受的程度内,长尾也不再那么长了。Autopilot的多任务神经网络在保持一定规模的前提下变得越来越见多识广,逐步接近商用……
至此,我们该为这种类似高度自动化的“暴力破解”方式,鼓鼓掌了。
除了关注训练集/Training set的场景构造,Tesla同样关注测试集/Test set的场景构造。而且后者的构造方法显然更加有针对性,也就更高级。Karpathy说他们对待测试集的构建很重视,一点也不亚于对于捕捉庞大的训练集数据库的重视程度,因为一个良好、有效而且必须可靠的测试集,最终才能判定和决定Autopilot识别神经网络学习到的模型是否敢于拿出来真正使用与否的关键。
上图罗列了Autopilot系统在构造测试集的关键分类项,都是从实际业务出发的而定制的。测试集的测试序列中包含:
1 暴风雨/雪条件下的STOP标识识别;
2 严重遮挡条件下的STOP标识识别;
3 带有语义条件的STOP标识识别;
4 数字化的电子STOP标识识别;(这个在国内的高速公路和快速路上比较常见)
5 管理人员的手持STOP标识识别;
6 校车上附着的STOP标识识别;
7 公路上临时维修所配套的STOP标识识别;
8 处于悬挂状态下的STOP标识识别;
9 收费亭/岗亭位置的STOP标识识别;
10 大门上附着/抬杆上附着的STOP标识识别;
11 …….
这些根据从Tesla庞大车队所上报的涵盖各种corner case的长尾标识类别,被Autopilotteam组织起来,有计划地构造针对性非常强,且效率很高的测试集。Karpathy举例说,在测试集中的一条线路内(连续的视觉信号),可能会被设计好地各种各样的STOP标识(可以是以时间或者位置为单位被部署在测试场景内),按照预先的定义和标准答案,如果Autopilot识别模型无法识别所有的STOP标识,其得分一定会达不到要求。我们也就自然他在哪一种情况下还欠缺识别的准确性和稳定性,因此就可以将模型再放入训练集内重新训练,通过一遍又一遍的训练循环,我们发现Autopilot的识别精度越来越高,直到达到99%以上!
通过对于测试集的主动设计和编排,快速提供神经网络的识别精确度,是Autopilot快速成长的秘诀之一。当然,所有的这些,我们都知道必须有一个庞大的数据库/场景库,也就对应着具备得天独厚优势的Tesla fleet。
除了识别精度,我们同时还要关注的是识别的规模。实际上Autopilot的视觉识别神经网络的规模相当巨大,它不仅仅要处理某一种或者几种目标的识别任务。为了能实际推动Autopilot的全自动驾驶早日落地,,Autopilot的识别网络需要识别接近一千种目标并作出目标预测,这也就构成了复杂的HydraNet网络(Karpathy这么称呼,之前从未在任何资料上看到Autopilot内的识别网络哈有这个称谓)。
按照上图中的数字,Autopilot的HydraNet至少包含48个具体的神经网络结构,可以同时执行超过1000个不同的识别/预测任务,如果要得到充分地训练,提供有保障的识别准确度,那么训练周期至少是7万GPU*Hours,这意味着你只有一个GPU的计算资源,光训练,也要花8年的时间。
当然,合理的设计应该确保周期性的训练工作发生在后台/云端,而不是每一辆Tesla车辆的FSD上。
一家之言,欢迎讨论。下期我们继续讨论Autopilot的技术现状。
车右智能
info@co-driver.ai
备注:
1 题图1/2来自于Karpathy在ScaledML会议上的演讲“AI for Auto-Driving”,https://www.youtube.com/watch?v=hx7BXih7zx8&t=1240s;
2 题图来自互联网。
相关专题: