特斯拉Autopilot研究:从实景中快速获取时间维度的训练数据方法(3)

来源:公众号“燃云汽车”(转载自公众号“车右智能”)
2020-09-02
2505

跟随前两期关于Tesla专利“Generating ground truth for machine learning from time series elements”的内容,我们继续看看Tesla关于训练数据获取方法的专利细节。在进行今天的内容之前,小编想多扯几句关于“智能”和深度学习之间的关系。


见怪不怪了,几乎自动驾驶的方方面面到处都是深度学习(也可以理解为神经网络)的影子,从识别(识别绝对是深度学习的天下了几乎)、预测再到控制,几乎每个在每个方面,我们正在看到越来越多的深度学习的架构正在浮出水面并似乎要统治一切。Tesla的AI系统主管负责人Andrew Karpathy曾在很多场合下,把深度学习所代表的技术流派统一称作“Code2.0方式”,以区别于传统的计算机代码工程“Code1.0”。


这的确是个此消彼长的过程,当工程师们发现Code2.0风格的深度学习技术流派在计算机视觉识别领域发展势头不错的时候,当我们发现Code2.0确实可以解决相当多且相当复杂的识别问题之后,在这个行业内的每一个面临无数工程和代码难题的工程师和架构师,自然而然地会选择规避在Code1.0时代下的无数看起来遥遥无期的技术疑难杂症……的确,手工设计的代码逻辑,高度依赖人类经验固化的Code1.0方式,是否真的能穷尽所有极端驾驶场景?人类对自己越来越没有耐心和信心的前提下,对于多数情况下虽然是未知的机器学习,就寄托了无限的期望。


反正它可以帮我们在一个不错的正确率上帮我们解决问题,那为什么不试试呢?但它解决问题的机理到底在哪里?如果可靠性和正确率无法突破性进展,将如何解释和改进?…….这些无法规避的问题,在按下葫芦之后,又起了瓢。


所以,深度学习真的是能解决一切问题的那个钥匙吗?换句话说,在深度学习的架构上(在Code2.0的平台上),真的会催生类似人类水准的Intelligence嘛?(况且实际我们需要的是比人类更好的驾驶水准)真的AI可以取代人类司机而完美又安全地解决所有我们目前还无法解决的问题吗?


感觉这个问题深究下去,类似哲学问题了。Elon Musk就曾经在面对上海AI峰会听众时的视频发言里面深刻涉及到这一点。他本人就不会选择使用“一定能、或者一定不能”的这种思考方式,去推断机器学习的那些“神经元”上是否会最终催生类人的智能。他说,毕竟人类文明的载体——大脑,也是亿万年来从地球上的氢原子慢慢演化而来。


小编从来不质疑机器智能的未来,但是把自动驾驶的问题,统统归结于深度学习、统统寄希望于机器自己能发现规律并处理各种各样的corner cases之前,我们是不是应该认真考虑我们如何才能推动机器学习的基础(扩大深度学习神经元规模,改进神经网络的现有架构,同时赋予他们更多的实际训练资源),有足够力量演进到这一步呢?


对了,这就是今天我们要讨论的Tesla这个专利的关键一步。如何大量地、快速地、低成本地,提供尽可能多的训练数据。如下图:


                

这是一个快速提供(标注完毕的)训练数据或者给云端处于训练状态的Autopilot自动驾驶系统模型,或者提供给Tesla筹建中的Dojo仿真系统的系统方法(以上两者的差别不是我们所关心的)。我们并不清楚这种系统方法实现的具体位置在车端还是云端,但似乎也并不重要,重要的还是在专利中所设计的,关键的“训练数据”的获取逻辑。


在301处,(车端或者云端的某处)计算资源在收集到合规的时序车辆传感器数据之后,会继续在303处,接着以这个时序的车辆传感器为核心,搜集其过程的关联数据;计算资源将会依据传感器数据(301)和关联数据(303)在305处做出两者的耦合关系是否和真实情况相吻合后,在307处打包上报给需要训练数据的autopilot或者dojo。


这是基本的训练数据获取逻辑,似乎有点晦涩,小编举个实际的案例。


还是著名的Cut-in场景,如何在正确识别邻道前侧(不论是左前侧还是右前侧)的目标车辆的前提下,预测是否会在未来一段时间内执行Cut-in换道侵入主车车道的操作。


第一步:在301处,Tesla车载传感器(摄像头),可能包括前向Main Camera或者Fish eye Camera,或者侧向的两个Side Camera,按照时序记录邻道车辆的状态,比如10秒(or longer)。在这个记录过程中,每一个视频图像都会被标注时间戳,并形成顺序的图形文件序列,专利中称其为Elementsof Time Series。在这些文件中,Autopilot需要完成对于目标车辆的分类、测距(可能涉及mmRadar数据融合)、外轮廓标定、车辆特征识别(例如方向灯状态和刹车灯状态),已经同样重要的,在时间连续的过程中(10s内)持续观察目标车辆的外轮廓线和车道线的相互关系变化趋势,比如是否是趋近还是远离,抑或是保持稳定不变。所有的这些信息,都会被整合到Elementsof Time Series数据结构当中去,并存储完毕待用;


第二步:在303处,Tesla同样会记录的数据是,此时的行车状态。我们认为在Cut-in场景中,所谓的Data related to elements of Time series,就是主车的刹车(第一优先级)或者f方向角度(第二优先级)。因为如果301提供的数据在人类驾驶员看来,足够支撑做出邻道车辆正在执行Cut-in动作的判断了,那么必然结果就是刹车以让出空间,或者打方向执行规避换道动作。这是具备前因后果关系的关联数据,不论这个动作是人类驾驶员执行的(autopilot的shadowmode),还是Autopilot执行的;


第三步:那么在301和303处记录的数据结构,如何确定是否真实且正确地具备关联关系呢?在305处,将会决定Ground-truth到底是何种结果。如果是大家常说的Tesla车辆在行驶过程中“鬼刹车”,那就不是Ground-truth,因为邻道车辆没有执行cut-in,但被本车autopilot系统所误判,即为这种局面;与之相对应的,如果真的cut-in行为发生了,但是autopilot或者人类驾驶员并没有刹车,那就是深圳事故(参见之前的公众号文章)。两种行为下,我们都能找到对应的Ground-truth,并作标定,且记录下来;


第四步:以上三步的数据,被打包在一起,实际上在记录和组合的过程中,即已经完成了数据标定。这是非常聪明的解决方案。如果成本足够低,那么Tesla超级庞大的Fleet(超过100万辆)很快就会在世界各地贡献无数高价值的标定数据。


最终,训练数据被送入云端,不断刺激Autopilot深度学习网路中神经元的质量,我们并不知道未来会发生什么。


下期再见!


声明:本文内容及图片由BC-AUTO转载至网络, 信息来源于公众号车右智能。

收藏
点赞
2000