1月10日,在青岛举行的2019国家智能产业峰会智能驾驶平行论坛上,孙振平研究员结合国内外机器学习相关技术在智能驾驶领域的研究现状和课题组近年来的一些研究成果,向与会人员分享了题为《机器学习在无人驾驶中的应用现状及面临挑战》的精彩报告。
国防科技大学智能科学学院无人系统研究所副所长孙振平
谈到国内自动驾驶研究的起源,总绕不开一所有名的高校——国防科技大学。20世纪80年代末,国防科技大学先后研制出基于视觉的CITAVT系列智能车辆。1992年,国防科技大学成功研制出中国第一辆真正意义上的无人驾驶汽车。2011年7月,由一汽集团与国防科技大学共同研制的红旗HQ3无人驾驶汽车完成了286km的面向高速公路的全程无人驾驶试验,而在背后主持研究红旗无人驾驶汽车实现高速长距离无人驾驶的,便是国防科技大学智能科学学院无人系统研究所副所长孙振平研究员。2012年,孙振平研究员作为技术负责人,组织团队研制了我国第一台边防无人巡逻车。同时,他作为主要技术骨干或负责人与团队一起参加了十余次国家自然科学基金委委主办“中国智能车未来挑战赛”和军队“跨越险阻”无人系统挑战赛,多次获得冠军。
1月10日在青岛举行的2019国家智能产业峰会智能驾驶平行论坛上,孙振平研究员结合国内外机器学习相关技术在智能驾驶领域的研究现状和课题组近年来的一些研究成果,向与会人员分享了题为《机器学习在无人驾驶中的应用现状及面临挑战》的精彩报告。
孙振平研究员在报告中表达了一下观点:
机器学习对解决无人驾驶问题很重要,但不是全部;
深度神经网络是场景建模与理解的有力工具;
统计学习、增强学习对于解决行为决策问题会有所帮助,前提是人工建立合适的决策模型;
用机器学习方法解决动力学控制问题似乎并不简单;
能够实现任务、本体状态、环境信息并行输入的网络结构是研究的重点;
现有计算能力仍不足以支持深度神经网络在无人车中的大规模应用
以下是孙振平研究员在2019国家智能产业峰会的报告,智车科技在不改变原意的基础上进行了修改:
大家好,非常荣幸能在这儿跟大家一块聊无人驾驶,因为机器学习在无人驾驶应用方面比较热,针对这个事情跟大家分享一点思考。
大家可能不知道,国防科大在无人驾驶方面应该说做的历史也比较长了,这些年有一些成绩也有很多不足,特别是最近几年我们看到整个社会对无人驾驶特别追捧,我们参与其中,肯定是非常非常的高兴,但是在热的过程中,我们也得认真地去思考,是不是无人驾驶到现在已经比较好的被解决了,这个我们还是要冷静地去思考的。我个人就针对这方面的一些情况跟大家一块儿分享一下。主要就是目前国内外的发展情况,以及我们自己在这方面做的一些工作。
丨无人车的控制结构
说到无人驾驶,从概念上来,大家对这个事情应该都非常清楚了,无非就是给车装上各种各样的传感器,让它能够自己理解周围的环境,自己做规划,自己选择运动的路径,直到控制自己的运动。在这个过程中,希望人不参与或者说尽可能少的参与,这么多的传感器到底怎么组成无人驾驶的系统?这个事如果拿人来类比的话,比较容易理解。一个驾驶员开车感知周围的环境,往往是通过我们的眼睛、耳朵等一些感觉器官。在感知的基础上当然要做决策规划,主要是大脑来完成的,决策规划的结果就是怎么样控制车,操作机构来实现对车辆的控制。
对于我们的无人驾驶系统来说,很显然从原理上也是一样的,我们必须去构建它的眼睛。这个主要两大类,一类是环境感知的传感器,二是运动感知的传感器。其中大脑是什么?对于无人驾驶来说,当然就是运行在计算机上人工智能的程序,这个程序它综合了传感器信息和用户的任务输入,最后产生控制命令,控制命令就控制相应的一些执行机构来控制整个车的运动,这个我想从原理上来说就是这样的。
无人驾驶的技术真正困难就是人工智能的程序。我们怎么去设计它,说到设计,实际上在人工智能应用在移动信息研究中,有一些基本的方案,大家不妨一起简单地回顾一下。
在人工智能研究中,有几种基本的控制结构,一是慎思形式的,什么意思?我们要去显示做决策规划和执行控制这样的环节,对应的是一个一个程序模块。当然要设计一个这样的结构,或者设计这样的软件系统,需要很多人参与,需要人的智力的投入,这个很显然我们觉得做起来非常麻烦。
另外一个比较直接的想法,当然就是所谓的反应式,我们最好能够设计一个简单的程序,不需要知道它内部是怎么工作的,能够直接从传感器到执行器的映射,这就是所谓的反应式。
当然实际在研究过程中,最后大家都发现不管是慎思式还是反应式做来做去都不能够很好的解决问题,怎么办?人类最大的本事就是把各式各样的方法混在一起就是混合式,反应式大家很容易理解,如果有一个控制方向我们用一个状态方程组就能够很好地描述它,当我设计一个简单的控制器就能够实现对这样对象的控制。对于我们说的机器人和无人车也不例外,我们能够很好地描述清楚,就可以设计出一个简单的控制器出来。最早在1948年的时候,当时控制论刚刚产生,就有人设计了一个移动的机器人系统。这个慎思式,实际上大家关注的最典型的可能是世界上第一个自主的机器人,就采用这种慎思式的研究。SHakey研究了一个机器人只要能够不碰撞运动就可以了,这是1968年做出来的,这个也是我们现在智能机器人(无人车)研究真正的现代意义上的开端。
在这些研究基础上,到了1986年的时候,MIT提出了一种所谓的包容式结构,这个包容式结构,大家仔细去分析一下就会发现,它实际上是一种混合式的结构。如果只是把行为定义为行走的话当然很简单,我们就可以设计反应式控制来实现。随着反应式变得越来越复杂,就很难用反应式结构去实现了。这个事情我个人在看了这么多文献之后,大概同样是在1980年代,美国的James他提出了所谓4D/RCS结构,已经是非常完备的或者非常好的方法或者是一个体系了,甚至他们也给出了一套工程化的方法,怎么设计一个复杂的机器人系统或者是无人车,我们自己也是基本上参照4D/RCS这样复杂系统的控制结构来设计我们的无人车的。
这是我们的无人车采取的一种结构,下面最基本的就是底层的执行结构以及到上面的交通,对交通场景的认知、决策等等。只有知道了结构,我们反过来才能说机器学习在无人车中怎么用,我们刚才说了,对于无人车来说,它的核心就是人工智能程序,机器学习又是人工智能里面的一个重要的内容,大家当然就想着,是不是能够把机器学习用在无人车上,让无人车能够变得越来越聪明,能够越来越好的去适应环境,我们就一起来看一看机器学习在无人车上到底能怎么用。
丨机器学习的端对端控制
当然一种应用就是针对我们前面说反应式的结构,假设整个控制器我们不管它的内部结构,完全由一个神经网络这样的程序来解决,这个大概就是现在比较端对端的控制,什么意思?直接从传感器到车辆的动作,这就是所谓的端对端的学习控制,端对端本身也不是新鲜的事物,在1989年的时候美国机器人研究所就用当时的三层网络就实现了简单的无人驾驶,因为当时的网络它的标定能力是非常有限的,因此它能够完成的任务也是非常简单的。
神经网络大家知道从80年代到90年代甚至到2000年之后很长一段时间,发展是非常非常缓慢的,目前两种方案,一种是前馈神经网络,一种基于递归神经网络,都在做一些研究。
大家可以看到上面这个视频,英伟达在2016年的神经网络端对端控制,说到这里是不是用端对端学习控制这个问题就解决了,实际上大家仔细看是不可能的,前面有一个十字路口,用端对端学习控制怎么能够实现让车选择不同的路线呢?这个事情在他做的这个实验里面就不涉及到这个问题。
实际上这个问题英伟达做这个实验还有很多问题没有解决,从控制上来说,车要适应不同的坡路和材质,这个本身就是很复杂的,对于刚才说的端对端的学习控制,要做采集数据是非常困难的,而网络本身结构也没有办法支持,退而求其次就有其他的研究,大家去看一下Deep Driving:Learning Affordance for Direct Perception in Autonomous Driving 这篇文章,这个想法就跟这个端对端不太一样,它把这个系统分为控制和感知,把控制环节还是用控制的方法去做,但是后面感知希望用神经网络来解决,设计一个神经网络,输入一个图象,输出就是车道和车道上的线得到这样一个抽象的模型,把这个模型再由后端输入再去控制车辆运动,这个是他们展示的一段视频,这个是神经网络的输入,这个就是网络的输出,后端控制的输入,这是他们做的一个实验。
这种端对端的方案,我感觉下面几个问题对他来说可能是比较重要的,最大的问题相对于我们说的驾驶任务,现有的网络结构还是太简单了,表达能力非常有限。
首先我们可以看,从数据的意义上来说,你要完成一个驾驶任务,你拿到的数据有任务信息,有离线地理信息,有环境信息还有本体的运动状态等等,对于这样一些完全抑制的信息,我们设计一个什么样网络结构才能综合起来实现车辆的驾驶,这个本身我认为是一个比较大的问题。第二就是我们选择困境,在不同的路网里面,你碰到十字路口的到底怎么走,可能很难解决。如果用端对端的方案可能很难解决这个问题。还有第三个比如说驾驶行为在时间上的不确定性,实际上它的复杂性是非常非常大的,也是现在很难解决的一个问题。这是我们说的端对端的学习控制。
丨慎思式结构中的机器学习
我们能不能把机器学习慎思式方案用到无人驾驶里面去,很多研究用机器学习去提取交通场景中的各种各样的交通物体,道路环境等等,用深度神经元网络实现场景中的各种交通物体,道路、建筑物的一个分割,把它作为下一步的决策规划的输入。再比如说对于我们知道现在无人车头上都顶着一个激光雷达,也可以用深度神经原的方法进行处理获取道路上各种各样的物体,交通标志的信息等等。这个实际上用深度学习在做这种三维微场景分析,这也是目前用深度学习来解决环境的一个重要的研究方向。
我们说了,可以用它去解决物体的识别,场景的分析问题,当然也可以用它解决决策规划问题。近年来,我觉得做的比较好的工作就是他们提出的ChauffeurNet,他做的工作就是设计一个非常复杂的网络结构,要来实现抑制数据的处理融合,这是他们设计的整个网络结构,用来把各种各样的信息能够融合到整个驾驶过程中去,这是我们说的从决策的角度,当然也有人研究用机器学习解决控制问题。
丨国防科技大学无人驾驶团队实践
现在我们回到我们团队,我们这些年在这方面也做了很多研究工作,我们用学习解决车辆控制,车辆纵向控制,甚至包括像我们把这个环境变成一个多车道的模型,实现无人车在环境里面的自主决策等等,这也是用机器学习做的。我们有两个博士生在这一块做的非常好,一个是基于广义Haar滤波器的实时目标检测,我们在考虑能够压缩计算资源,使得利用十分之一或者五分之一的资源来实现同样类似的效果,这对于机器学习的应用应该说是有非常帮助的。另外我们也做了交通场景的多任务学习,什么意思?一个神经网络能够实现多个任务,像今天早上有院士做报告也说到这个问题,对于人工智能是一个困难,我们也在做这方面的尝试,这是我们自己做的实际的情况,包括物体的分割,行为场景的分割等等。
另外我们在记忆式网络,在目标检测方面的应用也做了很多工作。什么意思呢?大家有没有注意到,所谓的深度神经网络往往需要人工去标注大量的样本,这很显然是很复杂的工作,我们做的探索是怎么能够实现目标检测,实现机器学习。这个如果大家感兴趣可以下去关注一下我们做的工作,应该说是比较好的,当然它的基本原理就是我们首先在静态的情况下拍一些视频。我是在静态的环境、背景下去检测动态的目标,通过这个办法不断地收集大量的样本,然后再把学习好的检测器用在一个动态的载体上,这是我们已经做的一些工作。
最后我说一下自己对这个事的一点理解:第一说我们机器学习对于解决无人驾驶的问题是非常非常重要的,但是它不是全部,它只能解决其中一部分问题。第二深度神经网络它场景建模与理解的有力工具。第三统计学习、增强学习对于解决行为决策问题会有所帮助,但是目前看来前提是必须要由人工建立一个合适的决策模型的基础上用学习的方法来实现决策的前件的学习。第四是用积极学习的方法解决动力学控制问题,这个问题按说传统方法已经解决比较好了,但是对于机器学习来说,好象没有那么简单,反而是比较复杂的问题。第五能够实现任务、本体状态、环境信息并行输入的网络结构应该是未来把机器学习用在无人驾驶上的一个研究重点。第六现有的计算能力仍不足以支持神经网络在无人车中的大规模应用。我的汇报就到这里,谢谢大家。