丨机器学习的端对端控制
当然一种应用就是针对我们前面说反应式的结构,假设整个控制器我们不管它的内部结构,完全由一个神经网络这样的程序来解决,这个大概就是现在比较端对端的控制,什么意思?直接从传感器到车辆的动作,这就是所谓的端对端的学习控制,端对端本身也不是新鲜的事物,在1989年的时候美国机器人研究所就用当时的三层网络就实现了简单的无人驾驶,因为当时的网络它的标定能力是非常有限的,因此它能够完成的任务也是非常简单的。
神经网络大家知道从80年代到90年代甚至到2000年之后很长一段时间,发展是非常非常缓慢的,目前两种方案,一种是前馈神经网络,一种基于递归神经网络,都在做一些研究。
大家可以看到上面这个视频,英伟达在2016年的神经网络端对端控制,说到这里是不是用端对端学习控制这个问题就解决了,实际上大家仔细看是不可能的,前面有一个十字路口,用端对端学习控制怎么能够实现让车选择不同的路线呢?这个事情在他做的这个实验里面就不涉及到这个问题。
实际上这个问题英伟达做这个实验还有很多问题没有解决,从控制上来说,车要适应不同的坡路和材质,这个本身就是很复杂的,对于刚才说的端对端的学习控制,要做采集数据是非常困难的,而网络本身结构也没有办法支持,退而求其次就有其他的研究,大家去看一下Deep Driving:Learning Affordance for Direct Perception in Autonomous Driving 这篇文章,这个想法就跟这个端对端不太一样,它把这个系统分为控制和感知,把控制环节还是用控制的方法去做,但是后面感知希望用神经网络来解决,设计一个神经网络,输入一个图象,输出就是车道和车道上的线得到这样一个抽象的模型,把这个模型再由后端输入再去控制车辆运动,这个是他们展示的一段视频,这个是神经网络的输入,这个就是网络的输出,后端控制的输入,这是他们做的一个实验。
这种端对端的方案,我感觉下面几个问题对他来说可能是比较重要的,最大的问题相对于我们说的驾驶任务,现有的网络结构还是太简单了,表达能力非常有限。
首先我们可以看,从数据的意义上来说,你要完成一个驾驶任务,你拿到的数据有任务信息,有离线地理信息,有环境信息还有本体的运动状态等等,对于这样一些完全抑制的信息,我们设计一个什么样网络结构才能综合起来实现车辆的驾驶,这个本身我认为是一个比较大的问题。第二就是我们选择困境,在不同的路网里面,你碰到十字路口的到底怎么走,可能很难解决。如果用端对端的方案可能很难解决这个问题。还有第三个比如说驾驶行为在时间上的不确定性,实际上它的复杂性是非常非常大的,也是现在很难解决的一个问题。这是我们说的端对端的学习控制。
丨慎思式结构中的机器学习
我们能不能把机器学习慎思式方案用到无人驾驶里面去,很多研究用机器学习去提取交通场景中的各种各样的交通物体,道路环境等等,用深度神经元网络实现场景中的各种交通物体,道路、建筑物的一个分割,把它作为下一步的决策规划的输入。再比如说对于我们知道现在无人车头上都顶着一个激光雷达,也可以用深度神经原的方法进行处理获取道路上各种各样的物体,交通标志的信息等等。这个实际上用深度学习在做这种三维微场景分析,这也是目前用深度学习来解决环境的一个重要的研究方向。
我们说了,可以用它去解决物体的识别,场景的分析问题,当然也可以用它解决决策规划问题。近年来,我觉得做的比较好的工作就是他们提出的ChauffeurNet,他做的工作就是设计一个非常复杂的网络结构,要来实现抑制数据的处理融合,这是他们设计的整个网络结构,用来把各种各样的信息能够融合到整个驾驶过程中去,这是我们说的从决策的角度,当然也有人研究用机器学习解决控制问题。
丨国防科技大学无人驾驶团队实践
现在我们回到我们团队,我们这些年在这方面也做了很多研究工作,我们用学习解决车辆控制,车辆纵向控制,甚至包括像我们把这个环境变成一个多车道的模型,实现无人车在环境里面的自主决策等等,这也是用机器学习做的。我们有两个博士生在这一块做的非常好,一个是基于广义Haar滤波器的实时目标检测,我们在考虑能够压缩计算资源,使得利用十分之一或者五分之一的资源来实现同样类似的效果,这对于机器学习的应用应该说是有非常帮助的。另外我们也做了交通场景的多任务学习,什么意思?一个神经网络能够实现多个任务,像今天早上有院士做报告也说到这个问题,对于人工智能是一个困难,我们也在做这方面的尝试,这是我们自己做的实际的情况,包括物体的分割,行为场景的分割等等。
另外我们在记忆式网络,在目标检测方面的应用也做了很多工作。什么意思呢?大家有没有注意到,所谓的深度神经网络往往需要人工去标注大量的样本,这很显然是很复杂的工作,我们做的探索是怎么能够实现目标检测,实现机器学习。这个如果大家感兴趣可以下去关注一下我们做的工作,应该说是比较好的,当然它的基本原理就是我们首先在静态的情况下拍一些视频。我是在静态的环境、背景下去检测动态的目标,通过这个办法不断地收集大量的样本,然后再把学习好的检测器用在一个动态的载体上,这是我们已经做的一些工作。
最后我说一下自己对这个事的一点理解:第一说我们机器学习对于解决无人驾驶的问题是非常非常重要的,但是它不是全部,它只能解决其中一部分问题。第二深度神经网络它场景建模与理解的有力工具。第三统计学习、增强学习对于解决行为决策问题会有所帮助,但是目前看来前提是必须要由人工建立一个合适的决策模型的基础上用学习的方法来实现决策的前件的学习。第四是用积极学习的方法解决动力学控制问题,这个问题按说传统方法已经解决比较好了,但是对于机器学习来说,好象没有那么简单,反而是比较复杂的问题。第五能够实现任务、本体状态、环境信息并行输入的网络结构应该是未来把机器学习用在无人驾驶上的一个研究重点。第六现有的计算能力仍不足以支持神经网络在无人车中的大规模应用。我的汇报就到这里,谢谢大家。