运用深度学习让无人驾驶卡车驶入了快车道
深入了解创业公司TuSimple如何使用MXNet

今年6月,一辆无人驾驶卡车完成了从亚利桑那州Yuma市到加利福尼亚州San Diego市的200英里测试行驶。对美国无人驾驶卡车而言,这是具有里程碑意义的。这一成功是由TuSimple公司完成。他们通过叫深度学习的人工智能技术训练他们的无人驾驶系统,完成了几千万英里的模拟道路行驶。

深度学习可以解决对人来说很容易但计算机很难完成的任务,比如识别照片里的人和物体,检测图片、文字或语音交互里的情绪和倾向,或是识别手写内容。深度学习系统并不是使用特定规则的硬编码软件包,相反的,它们是通过大量的数据和能让系统学会如何完成任务的算法来训练系统。

使用深度学习,我们现在能够开发软件来检测欺诈、识别交易里的模式、向客户推荐新产品,以及在不久的未来提供无人驾驶卡车给一直被缺乏驾驶员、致命的交通事故和因为低效的油料使用所带来的高成本所困扰的运输业。TuSimple的无人驾驶卡车正在准备颠覆7000亿美元的美国卡车行业。而这只是深度学习和人工智能的进步将会改变我们的生活的一个很小的缩影。“对我而言,是去挑战无法解决的难题吸引我到这个项目的”,TuSimple的CTO和联合创始人Xiaodi Hou说。

TuSimple是如何使用深度学习来让无人驾驶卡车成为可能?Hou解释说:“我们使用相机作为主要传感器。每个相机每秒钟采集20-30帧,大概100MB的数据。这些数据通过多层的深度学习网络,然后获得一些结果。这些结果再由算法合并起来,基于卡车的自我信息、速度和角度做出实时的决策,比如哪里有其他车辆或是障碍物,或是探测车道等。”

TuSimple的深度学习需求对于训练和推断是非常不同的。模型是在一个基于多GPU的AWS云环境里生成和训练的。一旦模型的训练完成,它们会被发送到卡车车载的计算机系统里,对传感器的输入进行解读,从而可以实时理解和响应道路状况以及其他的道路使用者。

2015年,当Hou开始认真地思考采用一个深度学习框架的时候,Apache MXNet还只是一个发育中的项目,叫CXXNET。Hou当时记录下了他对框架的基本需求,包括对于时间、成本、容量和可扩展性的特定指标。MXNet能在众多架构中脱颖而出(也是吸引Hou和他的团队)的原因是它能成功地把在多节点上扩展多GPU的能力和高性能及跨平台的移植性结合在一起。

MXNet在训练时也非常高效,从而能抵消掉模型训练所花费的计算成本。Hou强调道:“对深度学习框架的选择是非常重要的。你可能会浪费非常多的计算资源。”Hou还引用了近期的一篇对MXNet和TensorFlow所做的基准测试比对的文章。其中使用一个流行的数据集(CIFAR-10)在8个GPU的平台上对两种框架进行了比对。相比TensorFlow,MXNet明显快很多,而且内存使用更加高效,得到的结果也更准确。

考虑到深度学习领域的飞速发展,Hou和他的团队是开源社区的热情支持者。他们在MXNet的早期就已经做出了贡献。其范围包括从经典的算法的实现到各种教程以及演讲。TuSimple已经发布了广为采用的MXNet的管道,诸如Faster RCNN。作为回馈,他们也从与一个蓬勃发展的开发者社区的合作中获益,共同来致力于解决本质问题的框架的开发。

MXNet和其他开源项目背后的社区的价值是不能被低估的。Apache Way作为授权开源项目使用Apache软件基金会的投票过程和其他管理流程的方法,已经产生了很多流行的工具,包括Hadoop、Spark、Kafka和Mahout。随着这些工具吸引了更多的开发人员,更高质量的代码被贡献出来。

在TuSimple的场景里,MXNet只解决了大概10%的问题,但这些问题可能会占用他们90%的时间。TuSimple对MXNet的贡献已经被其他的开发人员所增强。尽管他们是可以为自己创建一个MXNet的分支,但他们没选择这么做。因为TuSimple可能会运行使用一个和主分支所隔离的框架,也没法从MXNet的开发和增强里得到持续的收益。

深度学习仅仅只是构建无人驾驶商业卡车的全面解决方案里的一个方面。这个技术对于解决解读问题是最佳的,比如图像识别、对象检测、估计车辆和地面的相对速度、地面凸起检测、车道检测等问题。但它欠缺实现控制驾驶的有意义的规则的能力。深度学习算法内在的这种“黑盒”的特点对理解算法的内部逻辑造成了很大的障碍。

一个系统无法解释它内部的运作逻辑,如果出现情况时(比如卡车通过急停来回避人类驾驶员没看到的威胁,卡车就必须要能“解释”它的行为),对簿公堂会发生什么?或者如果卡车开始学会那些违法的行为(如果最经济省油的路径会涉及到连换4车道这一违章行为)?对于一个会立刻对现实世界产生后果的系统,上述这些情况会带来非常多的不确定性,并且必须要有其他的模型来控制这个系统并提供对外部世界的全息视角。“想像一下这整个系统就像一棵树”,Hou解释说:“叶子节点会是深度学习的方法,而枝干部分节点则是基于贝叶斯先验条件和规则的推断。”

展望未来,Hou对于TVM非常激动。这是一个MXNet的最新发布的子模块。TuSimple对它做出了贡献。无人驾驶卡车很快就将成为现实。随着深度学习的成熟,它将降低无人驾驶进入的门槛并激励更多的创新。

本文是O’ReillyAmazon合作的产物。请查看我们的编辑独立声明

Maliha Balala

Maliha Balala目前领导着WhirlWind Technologies的技术通讯团队。她是一位博学多才的人,喜欢研究和讨论技术、教育、心理学、文学和哲学等相关内容。

Highway (source: Pixabay)