接上一期。Karpathy在ScaledML2020会议上的主题演讲专题>>
在上一期的最后,我们曾经谈到了Autopilot识别网络部分的规模,为了支撑复杂的视觉目标识别和预测工作,HydraNet的机器网络规模是相当巨大的。工作量也种类繁多,不仅要处理代码本身的问题,也要维护正常的标记、训练和测试工作。如果再考虑常规的OTA升级动作和Tesla独有的Shadow mode上报数据的处理,这个工作量就很可观了。但Karphathy同时也指出,实际上在Tesla内部,维护HydraNet的团队规模非常有限,数十人而已,所以完全称得上是精英部队。
这只精英部队的技术基础,其本质就是Data Engine大循环的自动化能力。
上述的Data Engine的拓扑已经贴过很多次,但再贴一次也无妨。在这个Data Engine所构成的大闭环里,很多工作都是自动化的,人工干预的需求非常小。Karpathy特意解释了对于警车警灯为代表的各种“警示灯光”的识别流程。之所以把警示灯光特殊一类进行识别处理(有专门的识别网络和参数),是因为“警示灯光”在很多情况下有可能会和交通灯标识混淆,而这种混淆的避免则必须建立在对于“警示灯光”的准确识别之上的。
对于这种独特的Task/任务,Tesla采用名叫“OperationVacation”的流程去处理。针对警示灯光的处理Task如下图:
顾名思义,Operation Vacation,是指团队人工不需要过多的干预,简直可以直接放假了,针对警示灯光的识别网络的设计、训练、测试和放入Data Engine平台的相关工作,系统都可以直接操作了而无需外部人工干预。其核心理念是,针对“警示灯光”的识别Task虽然是独立的,但是由于其具备大量性质相同的处理流程和环节,因而可以直接调用上游Class级别的识别prototype。这就好比代码中的Instance和Class的区别,除了具体的输入数据,其它的方法/函数,都可以直接从Class中继承下来直接使用即可。
正是这种相通的调用方法,使得Tesla的Autopilot团队可以将大部分的工作交给Data Engine和大量已经存在的Prototype来处理,而优化和参数调优,也放在大循环内执行。当然人工不是零干预,而是极少的干预,只有当模型训练效果差,无法收敛等异常状态下,才会发生作用。
在这个具体的“警示灯光”识别Task当中,调用的是“Land markidentification” prototype/Class。只要对其进行正常的引用,Data Engine就会自动完成逐步训练、收敛和最终的部署动作。
一家之言,欢迎讨论。下期我们继续讨论Autopilot的技术现状。
车右智能
info@co-driver.ai
备注:
1 题图1/2/3来自于Karpathy在ScaledML会议上的演讲“AI forAuto-Driving”,https://www.youtube.com/watch?v=hx7BXih7zx8&t=1240s;
2 题图来自互联网。
相关专题: