人工智能测试:关于无人车测试的案例研究

栏目:博客 来源:游戏多 时间:2019-05-14

(未来技术前沿编辑转发)

一反三,逐步完善任务描述。


*图5. Λ-V模型测试框架


V模型对于传统汽车研发这一类系统性和可推导性比较强的系统工程有较好的效果,但是由于我们需要在具体的编程之前就设计好所有的测试用例,这使得该模型在较为复杂的人工智能系统开发中很难直接套用。


我们认为,在开发智能系统过程中,机器学习和测试如同一个硬币的两面,智能性测试应该和机器学习有着类似的流程。


(a)

(b)

*图6. 智能车测试框架


在平行学习的框架下,首先要解决的问题是如何获取新的数据用来学习,该阶段我们称为描述性学习阶段;在第二阶段,会从第一阶段中提取特定的数据有针对性的进行学习,从而获得“小知识”,该阶段我们称为特定数据学习阶段;第三阶段是预测性学习阶段,在该阶段,会把前两阶段得来的数据和知识一一对应,这种联系也会被记录下来。最后,所有的新数据会在第三阶段已有联系的基础上找到对应的“小知识”。


与此类似的,如图6(b)所示,智能车的智能性测试也有着类似的流程。第一阶段是创建新的测试任务。在这个过程中,在场景中的测试任务都会被逐步分解成为细化的功能。第二阶段是在第一阶段创建的测试任务中选取有挑战性的部分(测试取样)。最后一个阶段是测试的执行,也就是在前两个阶段创建的任务中观察智能车的表现。在这个阶段,我们需要从测试结果中得到两类关联信息,第一类是车辆智能性和其在我们搭建的测试环境中的表现的关联,这种关联对于我们在新的测试任务中取样有很大的帮助;第二种关联是测试本身和测试环境的关联,我们需要从不同的测试环境中学习到如何更好的创建测试任务。


我们提出了以上的智能性测试框架是基于以下考虑:


1) 如果不进行测试,我们无法预知智能车的行为表现。所以,在没有测试之前,我们也无法确认哪些测试任务更加的具有挑战性。所以我们需要通过不断的测试,取样,执行,分析这样一个循环来达到最优的测试效果。


2) 测试本身就是一个自我标定的自循环过程,我们必须根据测试结果来判定车辆的智能性。


3) 如果测试要覆盖所有的智能车的功能所需要的资源是巨大无比的,所以,我们需要一些更优的方法和工具来缩短这个过程。


3.3. 平行测试


3.3.1. 传统虚拟仿真


目前很多研究人员都把更多的精力放在视觉领域的虚拟仿真,当然,也有人开始注意到驾驶员行为的重要性。在视觉领域的仿真中,有以下几种图像注入方式:1.采集真实的2D数据,然后基于该数据建立3D模型,再在此3D模型的基础上上投影成2D的图像注入智能车的感知系统;2.使用对抗式网络生成新的2D模型注入; 3.基于以上两种方法尽可能多的图像注入。


3.3.2. 平行测试方法


我们这里提出一种新型的虚实结合的智能车平行测试方法。如图7所示,车辆智能性测试可以分为三步:测试环境,测试规划和测试执行。同样,我们在虚拟世界里也能够建立一一映射的测试流程。


 

*图7. 平行测试方法


1) 首先在真实环境下建立有多种交通元素(十字路口,交通灯)的场景,对应的在虚拟空间内,根据不同的测试目标,可以把该场景细分成不同的任务,功能团,单个功能;


2) 基于这种分解模式,可以建立相应的测试计划来有针对性的测试不同的功能。例如假设我们要测试交通标示识别和变道这两个功能团,很容易发现,交通标示识别重要性没有那么高,而测试变道能更好的提升车辆的可靠性。在测算了场景中包含的任务,以及任务中包含的功能团之后,我们能选出包含更多的变道的任务来在真实环境中进行测试,而包含更多交通标志识别的任务可以在仿真环境中进行测试;


3) 一旦制订了在真实和虚拟环境中的测试计划,按照计划执行之后对测试结果可信度以及功能重要性进行加权就能得到相应的加权分数。同时,在真实环境中得到的测试数据又能注入仿真环境,通过这种方式,仿真环境能够不断更新加强。真实环境和虚拟环境中的测试是异步的,我们可以在真实环境进行某一项测试的同时,在虚拟环境中进行多项测试。


和传动的仿真测试环境相比,平行测试体系有如下两个不同。


1. 平行的虚拟环境不仅仅是真实环境的一一映射,同时也和真实环境在状态上存在交互,真实环境会影响虚拟环境,虚拟环境也会影响真实环境,这样就形成了一个自我不断增强系统;


2.平行系统是一种自我学习的系统,一些在虚拟环境中的关键元素是数据驱动型,这使得平行系统比那些基于随机模型的系统要更加自动化,可信度也更高。


3.3.3. 平行测试实际应用


在江苏省常熟市,这样一个平行测试系统已经建立起来,并且很好的支持了2017年中国智能车未来挑战赛。如图8所示,我们先在虚拟环境中找到最具挑战性的测试任务然后再在真实环境中进行测试。

 

*图8. 平行测试实际应用


4. 智能性测试的相关讨论


4.1. 伦理道德问题


包括图灵在内的大部分研究者都认为人能够按照自己的经验做出正确的决定,而智能机器也应该和人类一样来完成这些决定,因此我们的工作就简化成为在智能测试中去判断智能机器是否完成了和人类一样的决定。


但是在某些情况下,哪怕是人类也很难确定什么是正确的,例如著名的铁轨问题:你是一辆刹车失灵的火车司机,在你前面的铁轨上有5个人被绑在轨道上,你可以选择切换到另外轨道,另外那条轨道上只有1个人绑在铁轨上,那么请问你会选择撞死5个人还是切换轨道撞死1个人?对于这个问题本文中不做更多的讨论,即使是人类,在这个问题上都很难做出“正确的”决定,更何况智能机器?所以在本文中我们不去讨论这些问题,我们也不会为伦理问题设置智能性测试。


4.2. 测试结果的自动实时分析


图灵测试和现在很多新的智能测试的区别在于,图灵测试用人来做判定,而新的智能测试使用的是机器来做判定。之所以这么做的原因在于我们清晰的定义了任务,同时很多情况下没有机器的帮助人很难完成正确的判定。


以智能车测试为例,为了节约成本,我们往往在某一条测试路线上设置了多个测试任务,车辆需要不停歇的完成多个测试任务。


例如在中国智能车未来挑战赛中就设置了14个测试任务,分别是U-Turn,通过T字型路口,通过十字路口,避让作业车,隧道,停止标志,避让行人,右转,乡村道路,避让自行车,施工区域,限速,停车。车辆需要连续通过这些任务点,为了能够自动测评,我们需要使用V2X设备连接车辆上的传感器和数据中心,上传车辆数据到数据中心来完成自动测评。


*图9. 智能车比赛测试项


青岛慧拓智能机器有限公司联合清华大学一起开发了自动测评系统并成功应用于此次比赛中。如图10所示,左边展示的是正在比赛中的5辆车的实时轨迹和实时排名,右边屏幕里是实时的视频回传数据,展示着裁判车数据,比赛车辆数据,以及场边摄像头数据。这些数据通过V2X或者4G的方式传回数据中心。


在2009年-2015年的比赛中,比赛由裁判来人工打分,这种方式比较主观,也非常耗时。在2017年比赛中,大部分的任务可以通过回传过来的数据实现自动打分。我们同样能够通过深度学习的方式用视觉的方式来检查车辆是否有压线,来实现自动打分,如图11所示。


*图10. 智能车比赛实时评测


*图11. 实时压线检测


4.3. 驾驶员在环测试


按照上文中说到,我们最终的目的是让机器代替人来评价智能性测试结果。但是目前阶段,这种情况却难以完全实现。


首先,测试任务的描述需要由人类专家来完成。所有的任务描述都是使用人类语言,目前也并没有一种计算机语言能够更好的完成该任务。机器的智能水平往往受限于它的设计者,所以我们最终总是还是需要用人类的智慧来在衡量测试结果的基础上提升机器的智能性水平。


其次,人类专家能够按照自己的经验更好的帮助机器设计那些极限的测试任务。


最后,人类是智能性测试的最后决策者,往往由机器做出的判断还要由人类来检查。就像在2017年中国智能车未来挑战赛中视频回传系统就是方便人类专家随时能够监督智能车的表现,这能够让人类和自动打分系统同时以对方的判断为基础改善自己的评判能力。


4.4. 用测试来进行智能水平分级


SAE把汽车自动化水平分为从无自动化到完全自动化六个级别,但是在该分级体系中并没有给出明确的需要完成的任务。现在有更多人认为,只有明确了分级系统中的测试任务,才能更好的对汽车智能性水平进行分级。


智能机器在特定的领域越来越智能,甚至在某些领域(比如围棋领域的阿法狗,射击领域的Top Gun)已经超过了人类。也许在未来的某一天,机器能够取代人成为智能性水平的最终定义者。


相关文章
评论
新版评论功能开发中
头条推荐
最新资讯