12月30日,位于上海的特斯拉工厂将开始交付Model 3。意味着,这家工厂将在开工357天后开始向客户交付汽车,这将创下全球汽车制造商在华的新纪录。
上海工厂是特斯拉全球计划的一部分,目的是增强其在世界最大汽车市场的影响力,更重要的是本地化的工程研发团队也即将落地,目的之一就是适应中国路况的自动驾驶功能优化。
目前,特斯拉在国内的Autopilot版本更新一直落后于美国市场。而在今年9月,交通运输部部长李小鹏会见特斯拉CEO马斯克时,双方就自动驾驶技术发展交换了意见。显然,特斯拉在过去一年时间,已经频繁与中国的相关主管部门进行各种沟通,这在过去是不常见的。
彼时,交通运输部特别强调了欢迎包括特斯拉在内的各国新能源汽车制造商、自动驾驶研发机构和企业与中国科研单位、企业加强技术交流和研发合作,不断拓展合作范围,共同推动自动驾驶技术落地。
而马斯克表示,特斯拉愿与中方一道努力,持续加强在自动驾驶技术研发、标准制定等方面的交流与合作,期待得到中国交通运输部的更多支持。
与此同时,最快于明年部署全自动驾驶系统的特斯拉,正在陆续披露一系列和自动驾驶功能相关的技术细节。
一、全自动驾驶底层技术陆续曝光
这其中,近日披露的一个专利对于其全球化部署意味深重。这个名为数据管道(data pipeline)和深度学习系统的专利,优化了用于深度学习的图像处理过程,除了车端深度学习的流程优化之外,还特别提到了未来如何在全球市场共享数据。
按照专利的描述,从单一车辆上提取的图像数据信息将与其他特斯拉用户在全球范围内收集的数据进行比较,一方面缓解驾驶员在自动驾驶时系统可能执行错误过程的担忧,同时在特斯拉自动驾驶软件稳定版本的性能基础上加以改进,而且改进的过程比以前更有效率。
“通过这个过程,特斯拉能够从车辆的摄像头和传感器捕捉的图像中保持尽可能高的分辨率。这样,神经网络就可以更有效地从它所接收的数据包中学习。这使得神经网络能够以更有效的方式处理更好的图像,从而为更快地改进自动驾驶技术打开了大门。”
而特斯拉的新数据管道和深度学习专利为更快的自动驾驶改进铺平了道路。这项新专利,意味着特斯拉的数据传输管道可能是业内最大的之一,因为它从数十万辆配备了大量传感器的汽车中提取数据。
在应用中,特斯拉解释了其系统正在解决的问题:
用于实现自动驾驶的深度学习系统通常依靠捕获的传感器数据作为输入。在传统的学习系统中,通过将捕获的传感器数据从传感器格式转换为与学习系统的初始输入层兼容的格式,使捕获的传感器数据与深度学习系统兼容。
这种转换可能包括压缩和下采样,从而降低原始传感器数据的信号保真度。此外,更换传感器可能需要一个新的转换过程。因此,需要一种定制的数据管道,可以最大限度地从捕获的传感器数据中获取信号信息,为深度学习网络提供更高层次的信号信息,进行深度学习分析。
特斯拉在专利申请中描述了它的解决方案:
本发明公开了一种数据管道,该数据管道将传感器数据作为独立组件提取并提供给用于自动驾驶的深度学习网络。在一些实施例中,使用深度学习网络和从传感器接收的输入数据实现自动驾驶。
例如,安装在车辆上的传感器将车辆周围环境的实时传感器数据(如视觉、雷达和超声波数据)提供给神经网络,用于确定车辆控制响应。
在一些实施例中,网络使用多层实现。根据传感器数据的信号信息,将传感器数据提取为两个或多个不同的数据组件。例如,特征或边缘数据可以从全局数据中分离出来,提取到不同的数据组件中。
而不同的数据组件保留了目标相关的数据,例如,数据最终会被深度学习网络用来识别边缘和其他特征。在一些实施例中,不同的数据组件作为存储与识别特定目标功能高度相关的数据的容器,但它们本身并不识别或检测功能。
不同的数据组件提取数据,以确保在机器学习网络的适当阶段进行准确的特征检测。在某些实施例中,可以对不同的数据组件进行预处理,以增强其包含的特定信号信息。可以对数据组件进行压缩或下采样,以提高资源和计算效率。然后在系统的不同层将不同的数据组件提供给深度学习系统。
深度学习网络能够利用提取过程中保留的信号信息作为输入,准确地识别和检测与数据组件的目标数据(如边缘、对象等)相关的特征。
例如,将特征和边缘数据提供给网络的第一层,将全局光照数据提供给网络的后一层。通过提取不同的数据组件,每个组件保留各自的目标信号信息,网络可以更有效地处理传感器数据。
同时,不再接收传感器数据作为网络的初始输入,而是在网络的最适当层向网络提供最有用的信息。在一些实施例中,由于不同的数据组件可以充分利用其各自组件的图像分辨率来实现其预期目的,因此网络将分析捕获的传感器数据的更完整版本。
例如,特征和边缘的输入可以利用特征和边缘数据的整个分辨率、位范围和位深度,而全局光照的输入可以利用全局光照数据的整个分辨率、位范围和位深度。
有趣的是,专利中列出的三位工程师中的两位已经不在特斯拉工作了。至于剩下这位工程师是否还在特斯拉尚不清楚。这至少说明此项专利已经在内部应用较长时间。
二、实际行驶数据+深度学习+OTA
一直以来,特斯拉的神经网络接受大量真实数据的训练,这些数据是从用户实际行驶收集来的。目前,所有的特斯拉车型都配备了某种版本的Autopilot,累计总共行驶了大约20亿英里。
当特斯拉为Autopilot添加一个新功能时,它首先会向一小群“early access”用户进行部署。从他们的车中记录的数据然后被用来完善功能,随后用户群被扩大,然后更多的完善。一开始看起来粗糙和不可靠的新功能可以在几周内改变。
更让人惊讶的是,在今年彭博社的一次用户调查中,特斯拉车主在很大程度上支持马斯克的做法,即使自动驾驶偶尔会出问题。
以最新发布的智能召唤(也可以理解为L4的自主泊车)为例,尽管网络上不少功能出故障的视频,但调查结果显示,高达70%的车主认可该功能。不过,一些安全倡导者批评特斯拉把客户当作实验品。
马斯克表示,现实世界的训练(提升自动驾驶功能)是减少车祸的最快途径,也可能是唯一途径。至少对于智能召唤来说,错误发生在停车场(低速),并且不太可能造成严重的伤害。
智能召唤是特斯拉实现自动驾驶的高频场景之一,停车场对自动驾驶来说是出了名的难。一方面,不在道路法规管辖范围内;另一方面,不同停车场的标记线、行驶路线不规则以及车流、人流混杂。
智能召唤需要对人类行为有深刻的理解。在智能召唤发布后的第一个月里,特斯拉车主们使用了100多万次。马斯克表示,这将有助于“让我们能够检查这些角落里的情况,并从中进行快速学习”。
看看用户的真实评论,或许你更能明白其中的道理。
“虽然这款软件目前还处于测试阶段,但在驾驶员的监督下使用已经足够了。这是完全自动驾驶的先驱,随着时间的推移,它会变得更加可靠,就像Autopilot一样。”尽管我们经常会在网络上看到一些车主对功能的滥用,但实际上大多是特斯拉车主仍然非常谨慎使用,并且期待功能的不断完善。
作为软件定义汽车最典型的代表,自动驾驶的真正商业化,应该是在车企、用户及系统之间形成一个真正的闭环,从而基于真正有效的数据来反哺系统的不断自我学习。
这或许也能解释,为什么今年特斯拉收购了计算机视觉初创公司DeepScale。后者有一项名为SqueezeNet的解决方案,可以实现深度神经网络在更小的设备上工作,并且允许以超高效的方式处理大量数据。
这在全自动驾驶时代尤其重要,因为系统从车辆的多传感器中收集了大量数据。特斯拉基于自主研发的FSD芯片,基于DeepScale的技术帮助更好地优化硬件、数据处理和深度学习,而无线更新(OTA)则是一个高效的解决方案为系统不断迭代提供助力。
然而,今天典型的CNN/DNN模型的空中更新需要大量的数据传输。DeepScale的另一项核心技术就是保证更小的模型需要更少的通信,使得频繁的更新更加可行。
这包括较小的卷积神经网络(CNNs)在分布式训练中需要较少的服务器间通信;更小的CNNs需要更少的带宽将新模型从云端导出到自动驾驶汽车上;较小的CNNs更适合部署在内存有限的FPGAs和其他硬件上。
使用SqueezeNet,可以实现与AlexNet相比模型尺寸减少50倍,同时达到或超过了AlexNet的top 1和top 5的精度。模型的缩减量远高于SVD、网络裁剪和深度压缩。
同时,应用8位量化的深度压缩,SqueezeNet得到一个0.66MB的模型(比32位的AlexNet小363×),与AlexNet的精度相当。此外,在SqueezeNet上采用6位量化和33%稀疏的深度压缩,可以得到一个0.47MB的模型(比32位AlexNet小510×),并且具有同等的精度。
有趣的是,DeepScale的第一款产品是一款名为Carver21的感知软件,专门用来优化自动驾驶汽车前置摄像头的数据处理。这与一直坚持视觉优先的特斯拉非常匹配,同时其也拥有道路上最大的联网车队,大量的真实数据对于DeepScale也是最佳的实践。
这就是DeepScale的SqueezeNet发挥作用的地方。由于其精确度与最先进的神经网络相匹配,因此能够对神经网络进行有效的训练,并保证神经网络模型的最小化,并且保证硬件上的可用资源进行速度-精度的权衡。
DeepScale的全栈深度学习方法使人工智能软件与各种处理器和传感器紧密集成,实现可定制的自动驾驶功能。模块负责从训练、开发、部署,甚至数据收集/管理的每一个方面。
实时决策对任何无人驾驶汽车都至关重要。能够在集中式的高计算环境中部署更多具有更高精度的深度学习功能是任何自动驾驶汽车制造商所希望的。而且,在这么小的计算空间里部署多个DNN正是DeepScale的解决方案非常适合特斯拉的原因。
而随着特斯拉的车队(搭载Autopilot)增加到100万辆,它的月行驶里程将达到10亿英里左右(相当于之前一年的数据),比Waymo的月行驶里程约100万英里高出1000倍。这意味着特斯拉具有从0.001%的里程中收集大量边缘训练样本的机会。