投稿|特斯拉自动驾驶的底层逻辑( 二 )


文章图片

上述过程是理解特斯拉自动驾驶AI的关键,只不过特斯拉开发的人工神经网络专注于驾驶领域,做一名专职云端司机 。对它来说,最好的学习材料就是行车数据,大量、多样化、来自真实世界的驾驶训练数据集 (training dataset) 是自动驾驶AI能应对各种路况、交通问题的百宝书 。 
在影子模式的支持下,特斯拉全球百万车队每时每刻的行车数据都成为这位云端“老司机”提升自身驾驶能力的养分 。时至今日,特斯拉Autopilot已经能瞬间完成道路上各种动静目标、道路标识、交通符号的语义识别,反应速度甚至比人脑条件反射更快 。 
投稿|特斯拉自动驾驶的底层逻辑
文章图片

除了应对日常驾驶场景外,AI司机还需要处理一些较为少见的长尾情况 (Corner cases)  。 在2020年Matroid机器学习大会上,卡帕西以交通指标STOP为例,讲解Autopilot应对这些长尾情况的具体方法 。 
在日常驾驶过程中,车辆总会经过形形色色的STOP指标,最为正常的情况就是一个立在路旁或者路中、红底白字的STOP标识,但现实生活总会有些预料之外的情况发生,驾驶员偶尔会碰上一些奇奇怪怪、需要结合具体背景来理解意涵的指标,包括不限于以下: 
无效STOP指标,比如被某人拿在手上,却无意义;下方附带文字说明的STOP指标,比如不限制右行;STOP字母被树枝、建筑物遮挡的指标…这都是些出现频次不高却不胜枚举的情况 。 
遇到上述情况,人类驾驶员可以轻松识别出绝大部分情况下的“STOP”,并很快作出行动反应 。但对计算机来说,情况就变得复杂起来,毕竟它看到的不是具体的"STOP",而是一堆无意义的数字代码,如果遇到现有训练数据集中没出现的情况,比如一些上述奇奇怪怪、较为少见的指标,自动驾驶神经网络就不能处理 。 
投稿|特斯拉自动驾驶的底层逻辑
文章图片

这部分少见的长尾数据通常无穷尽,但又必须在尽可能短的时间内学会应对,如果一切都让人工操作,无疑需要耗费巨大的时间成本和资源 。尽管在8月20日AI大会上,卡帕西透露目前特斯拉标注团队规模已达千人级别,但在海量行车数据面前,千人还是显得杯水车薪,对此特斯拉内部开发了数据离线自动标注 (Data Auto Labeling) 以及自动训练框架“数据引擎( Data Engine )” 。 
投稿|特斯拉自动驾驶的底层逻辑
文章图片

首先,特斯拉神经网络团队在对这些长尾情况有所了解后,会先编成一个样本数据集,并为此创造一个局部小型神经网络来学习、训练 (与其他神经网络并行),通过OTA方式部署到全球英语地区特斯拉车辆上 。 
再利用车辆影子模式,但凡遇到实际驾驶情况和自动驾驶AI决策不一致的情况,这部分行车数据会自动上传至特斯拉后台数据引擎中,在被自动标注后,重新纳入已有的数据训练集中,继续训练原本的神经网络,直到新的数据被掌握 。 
就这样,在大量训练数据的喂养下,神经网络变得“见多识广”、更加聪明,可以识别不同条件状况下的STOP标识,精确度逐渐从40%提升至99%,完成单一任务学习 。 

推荐阅读