【51CTO.com快译】据报道,TNO(荷兰应用科学研究组织)已着手将诸如:道德、法律、规范、偏好、以及日常场景的理解等,有关人是如何驾驶的知识,与诸如控制理论、以数据驱动的人工智能(AI)、黑盒算法(DNN)、以及端到端的学习等,适合自动驾驶的技术融合到一起。
其中,为了实现对通用知识(collective knowledge)的合理判断,他们就用到了TypeDB。
举例来说,机器是如何及时将编程的逻辑和实际环境结合并做出判断。假设,根据程序设定,自动驾驶汽车在经过学校时应该减速通过。但是,实际上学校现在已经关了,这辆车还需要按照程序,减速通过吗?
此外,当这辆车遇到诸如一堆树叶等无法识别的东西时,又该怎么办呢?根据默认设置,当车辆遇到并不熟悉的事物时,它一定会选择刹车或停止当前动作。不过,该团队成员Willeke发现,在未来,他们可以使用TypeDB作为人类和AI的中心知识节点,以增强车辆对于各种复杂情况的推理能力。
例如,车辆会做出这样的推理:“我【车辆】虽然不知道这是什么,但我可以推断出,它既不是道路交通的参与者(traffic participant),又不是容易受伤、或可以移动的物体。目前已是深夜,根据所处的环境,我知道周围并没有人,也了解自己的行动存在着风险,所以我只需绕过它,便可继续前行。”根据车辆的这段OS,您是否想起了那个著名的OODA循环,即:观察(Observe)、定位(Orient)、决策(Decide)、行动(Act)。而Willeke的工作重点就包含了观察与决策步骤的推理过程,并且往往是从态势感知(situational awareness)开始的。
态势感知
环境感知
以态势感知作为此类认知的核心,通常存在三种输入:关于汽车领域的基本知识、来自各种采集源的传感器信息、从其他来源获取当前环境的信息(例如环境地图等)。这些输入形式有必要采用汽车领域的模式,其中包括有关基础设施、交通法规、交通标志等方面的知识。下面两张图分别以可视化的形式,展示了带有各种数据的汽车域模式子集,以及两个在TypeDB中转换为交通规则,判定允许车辆通过的例子:
该模式的另外两个输入包括来自汽车传感器的实时反馈,以及来自各种交通预测算法、意图预测器和POI(如学校等兴趣点)等其他资源的感知信息。此类信息可以用于描述车辆所处的当前环境,进而提高驾驶系统推理规则了解车辆所处环境的能力。从下图中,我们可以看到车载传感器是如何利用数据,计算出车辆之间的距离、周围车辆的速度、以及在车道内的具体位置。
TNO团队正试图将所有这些信息结合起来,在知识图谱中构建出各种情境意识。
对车辆自身能力的理解和推理
Willeke详细地介绍了那些可以用来判断所处环境的预测系统,以及使用这些预测进行自动驾驶的相关决策。下面,我们来讨论在TypeDB中的具体实现,以及这些预测算法和数据输入,是如何在自动驾驶中进行建模与应用的。
在环境模型中,TNO在本体模型(ontology)里设定了各种特征不确定性、预测值、重要性(importance)、可见性(visibility)、以及怀疑程度(doubt)等指标,以协助AI了解车辆所处的情况,进而采取安全有效的行动。
其中,重要性是由领域专家针对车道变换的相关知识、以及实体(道路上的车辆)之间距离等重要性采取的编码。怀疑程度是不确定性的度量,其中包括未知的物体、显著特征不确定性、低可见度、以及分类器的不确定性等维度。在下图中,我们可以看到这些属性和实体是如何在TypeDB中通过建模,以便车辆在路上行驶,并在遇到不确定路况时,如何对算法的实时数据和输出进行推理,以便做出下一个判断的。
那么如何将上述理论应用到实践中呢?下图以数据实例化的形式,讨论了这样一个模型场景:您的汽车正在接近一辆卡车,自动驾驶系统需要决定是改变车道并超越卡车,还是直接交给人类司机进行逻辑判断。
行动指令
动作选择
系统到底如何判定是超车还是把方向盘交给驾驶员,动作选择综合分析了上述TypeDB中的建模、机器学习、以及规划器(planner)的信息。对此,我们需要深入了解车辆所执行的具体操作、以及为何做出决策与判断。
在这种类型的决策中,我们希望根据当前情况采取行动:制动,加速,切换车道,并且我们希望快速做到这一点。
TNO团队通过从车辆中获取的传感器数据,并使用状态和动作信息,对其进行编码,以完成针对其自研算法的训练。同时,机器学习算法也会通过逆强化学习(inverse reinforcement learning),为当前给定状态的每个动作提供评分。
接着,他们将这些动作及其评分,提供给起到最终决策作用的蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)规划器。当然,由于MCTS需要创建一个包含了所有可能动作的树,因此其整体成本比较高。为了降低此类成本,并提高规划器的效率,TypeDB再次提供了相关解决方案。
他们使用TypeDB去存储和推理参与者(即车辆)的动作、周边信息、以及交通预测等上下文环境。通过减少那些需要MCTS过滤的可能性操作,他们成功地在实时工作场景中,对搜索树进行了缩减,提高了决策的制定效率和速度。
最后,他们还通过查询车辆、动作、法律、以及安全评分三者之间的推断关系,使用TypeDB的相关规则,筛选出了各种可能性的动作,并发送给规划器。
小结与展望
通过上述讨论,我们简要地介绍了一种具有自我感知并结合了AI的自动驾驶判断方法。该方法使用汽车周围的环境信息,来提高行为推断的能力。通过构建这种态势感知的混合方法,车辆可以在真实世界中,面对各种未知的情况,降低自动驾驶的各种潜在风险。
目前,TNO团队计划在TypeDB中迭代该模型,希望为上下文环境添加更多的结构,以便能够使用更高级别的推理规则,来智能地推理出其他复杂的场景。此外,他们还将不断地改进评估能力,以增加更多针对车辆的自动化功能,打造更加丰富的动作场景。
译者介绍
陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验;持续以博文、专题和译文等形式,分享前沿技术与新知;经常以线上、线下等方式,开展信息安全类培训与授课。
原文标题:Using TypeDB for Autonomous Vehicles,作者:Daniel Crowe
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】