导读:设想一下,现在我们要建造一种工厂机器人,能移动物体、组装零件、抬起物体。机器学习专家自然会采用深度学习、神经网络一类的AI技术;而另一类专家则会使用可执行规范(Executable Specification,例如:规则、流程图、方案、过程代码),即传统的建模技术。
虽然作为主流范式的机器学习大行其道,但人工智能系统的可验证性、可解释性也存在一定的挑战。相较之下,基于状态机、编码、场景的传统建模技术却可以高效、鲁棒地完成一些深度学习系统不擅长的任务。
而以色列科学与人文科学院院长、智源学术顾问David Harel 教授认为,我们应该将人工智能与传统建模技术融合起来,使二者互为补充。
2022 年 1月 18 日,David 教授带来了题为「Combining Modeling and AI: Enhancing Deep Learning with Classical Specifications」的报告,对比了机器学习与传统建模方法各自存在的优势和不足,介绍了将二者结合的方法论,举例说明了如何将这种融合方法应用于网络拥塞控制,并为该领域未来的发展指出了方向。
本文整理自智源大师讲座,视频回看地址(或点击阅读原文):https://event.baai.ac.cn/activities/232
讲者:David Harel
整理:熊宇轩
编辑:李梦佳
01
机器学习 V.S 传统建模
假设我们要建造能够移动物体、组装零件、抬起物体等动作的工厂机器人。为此,机器学习专家希望只使用人工智能技术(例如:深度学习、神经网络、规划);而另一类专家希望只使用可执行规范(Executable Specification,例如:规则、流程图、方案、过程代码),即传统的建模技术。
这两类专家都可以很好地做出工程原型,但是监管机构和安全专家并不相信机器学习给出的结论始终正确,他们很难验证其性能;同时,专家认为传统建模方法过于简单,它们使用了很多假设分支结构,无法处理一些随机出现的特殊问题。此外,对这两类方法进行新的测试都十分困难,其经济成本十分高昂,也十分耗时。
David Harel 教授认为,我们应该将人工智能与传统建模技术融合起来,使二者互为补充。例如,在建造一个自动驾驶汽车时,我们可以训练一个神经网络来识别交通信号和车道线,而在识别出红绿灯信号后,通过传统建模(编码)的方式为系统设定可以进行的动作则相较于训练 AI 模型完成这些动作更加简单。
目前,深度学习和经典建模技术的前沿进展差别很大,但它们可以很好地互补。如上图所示,深度学习擅长完成一些难以详细指定、但人类可以很轻易地完成的认知任务,而经典的建模技术却难以胜任这类任务。人们曾尝试通过规则来识别交通标志,但是光照、观测角度等因素的变化使该任务变得十分困难。
传统的反应式系统(银行取款机、电子表、航空器等)涉及对各种事件的反应,事件之间也存在复杂的影响,经典建模方式在这些方面取得了成功,而如何通过人工智能技术针对此类任务进行相应的规划还有待探索。
如今,如何更好地将领域的专家知识和表征引入深度学习系统是有待研究的课题,而使用经典建模方式则需要领域专家告诉系统何时应该/不应该做什么,有时这是很有意义的。
最重要的一点是,深度学习模型是「黑盒」,我们很难验证深度学习模型输出的结果符合我们的期望,因此研究如何验证人工智能系统的输出是目前一个十分火热的研究领域。另一方面,我们可以对状态机、编码、规则等传统建模技术的结果进行验证,尽管验证的过程往往较为复杂。
此外,深度学习的内在工作机理还有待探索,有时我们并不知道此类模型为何会得到相应的结果,深度学习模型的「可解释性」成为了一个重要的研究课题。而当我们使用传统建模方法时,可以清晰地观察到系统在运行过程中每一步上变量的变化、输出的结果,从而为最终得到的结果提供解释。
02
用例 1:将人工智能模块(AI)嵌入传统建模(ES)
传统建模方式往往无法囊括所有可能发生的情况。如上图所示,橙色矩形代表整个工作空间,绿色椭圆代表能够完美地完成所有工作的目标系统,黑色虚线包围的区域是我们使用传统建模方法覆盖的情况。为了弥平绿色椭圆和黑色虚线包围部分的差异,我们需要构建一个子系统(例如,深度学习网络)来探测黑色虚线的边界条件。这样一来,我们可以通过「差异处理器」(例如,深度学习网络)来处理传统建模方法没有囊括的情况。
具体而言,对于可执行规范 Spec_0(例如,固定的带标记的机器人路线),我们将其与目标系统进行对比,会得到可执行规范没有囊括的反例 E_X(例如,有人站在机器人前面,使机器人感到困惑)。接着,我们将 E_X 泛化为 Spec_0 难以处理的「差异条件」C(例如,路线被阻塞,标记不可见)。为了处理这些传统建模系统没有囊括的情况,我们构建人工智能组件 D_C 在运行时探测这种条件 C(例如,检测是否存在障碍物,或标记是否消失了)。我们可以进一步构建一个人工智能组件 H_C 来处理条件 C 发生的情况(例如,使用人工智能系统绕过障碍,并返回路线,或者直接安全地停下来)。在此基础之上,我们通过将规则「当 D_C 检测到差异条件时,暂停 Spec_0,并执行 H_C 」用于 Spec_0 来构建 Spec_1。我们将不断重复上述环节,验证系统的输出结果,不断改进系统,直到不再出现 反例 E_X。
03
用例 2:使用传统建模组件简化人工智能系统
如上图所示,橙色矩形仍然代表整个工作空间,椭圆为目标系统,我们可以简单地使用深度神经网络实现该目标系统。此时,为了简化整体的系统,我们可以通过基于规则的 ES 解决方案来高效地应对某些情况,并类似地构建一个边界情况探测器。这样一来,我们可以将大的人工智能系统划分成较小的人工智能组件,通过它们解决 ES 系统没有囊括的情况。
具体而言, 我们首先需要为实现目标系统构架一个人工智能解决方案 AI_0(例如,训练机器人处理大量的任务和条件)。接着,我们要判断 AI_0 是否过于复杂,或可信度不高。如果该系统过于复杂或可信度不高,我们要找出能够通过传统建模方法处理的条件 C(例如,以简短、清晰、直接的方式传递零件)。我们还要构建一个人工智能模块或传统建模模块 D_C 在运行时检测 C 是否还成立。如果 C 成立,则构建一个传统建模模块 H_C 来处理 C(例如,夹取部件、以已知速度行驶预定距离、停下、移交物体)。在排除了所有 D_C 成立的情况后,使用 AI_0 的训练集从头训练一个新的模型 AI_0-without-c。构建融合的解决方案 AI_1:执行 AI_0-without-c。如果 D_C 成立,则暂停并执行 H_C。我们不断重复上述过程,并对模型的复杂度和可信度进行评估,从而不断改进系统。
04
人工智能与传统建模的融合
我们可以通过各种各样的方式将人工智能系统和传统建模系统结合起来:(1)流水线。从深度学习过程中分离出一些传统建模模块,在它们之间传递一些中间结果。(2)分治法。为各个组件分配一些子任务。例如,通过人工智能系统检测交通信号,通过传统建模方式做出决策。(3)保护性封装。通过规则约束或覆盖深度学习的「黑盒」决策(4)知识辅助的神经网络训练。通过传统建模方式在程序中编码领域专家的知识,对训练数据进行选择;计算强化学习的奖励和惩罚。
举例而言,我们曾经将深度强化学习与规则相结合,用于网络拥塞控制。在该场景下,多个发信方共享一个通信链路,他们起初将自己的发信速率调至最大吞吐量,这种决策是去中心化、未经过协调的。Jay 等人于 2019 年提出通过深度强化学习的方式应对该问题;Eliyahu、Katz 等人于 2021 年形式化验证了领域专家指定的深度神经网络的性能。然而,上述工作仍然存在一些不足之处,我们很难保证发信方能够公平传输信号,也很难形式化地确保系统具有我们所期望的公平性和安全性。
为了解决上述问题,我们尝试将人工智能模型与传统建模方法相结合。我们将领域专家的知识转化为一些与公平性相关的规则,例如:不能连续三次提升传输速率。在一个 ad-hoc 网络中,我们将规则「硬编码」在强化学习训练过程中。之后,我们将这一方法泛化到了更多的应用中,例如:使用基于场景的规划(SBP)来指定、合成规则;迭代式地进行训练和验证,直到深度神经网络学习到我们使用 SBP 给出的规则和属性。此类方法在早期的可执行规范、训练和验证过程中都展现出了一定的优势,它使得深度神经网络的训练时间较短、性能较好,对对抗攻击具有更好的鲁棒性,并且更易于验证。此外,我们还在实验中验证了此类方法对于其它系统、问题、规则的适用性。
05
未来的研究方向
正如本文前面提到的两个用例,我们不仅希望提供具体的算法和工具,我们还希望提出一些将经典建模方法与深度学习结合起来的方法论,优化定义好的度量标准。这样,我们希望启发他人何时应该使用哪种技术,这样的方法会得到怎样的效果,如何检测到不断加入的改进的来的回报产生了衰减(例如,使用太多简单的规则,使系统难以管理)。同时,我们也希望这套方法能够适用于各种当下和未来的学习、建模技术上。此外,我们还希望从以下角度研究如何定义、评价此类技术:(1)使用性能。准确率、精度、训练集大小、要求被满足的比例(2)可验证性(3)可解释性(4)开发成本(5)可维护性,等。
「相对验证技术」是一个重要的研究方向。有时,由于我们将人工智能系统与许多其它建模模块结合,无法验证整体的系统,我们需要采用一些相对比较的方法,在整体的建模方法中陈述和证明系统的有效性,同时对学习部分的一些严格陈述进行模块化处理。
在该领域中,我们需要关注的重点问题包括:(1)选择具有多种难度的应用领域和具体问题(2)获取训练数据和领域知识(3)对可能的技术组合进行迭代式的实现和评估(4)将分析结论转化为方法、指导方针和度量标准(5)宣传这些解决方案。David 教授团队在 AAAI 2019 的论文中对这一愿景进行了阐述。
06
结语
在本次大师讲座中,David 教授提出将传统建模方式与人工智能模型相结合,使工程师们同时从这两类方法中获益。尽管机器学习技术近年来取得了巨大的成功,但它们并不一定在所有情况下都是最优的。此外,人工智能系统的可验证性、可解释性也存在一定的挑战。我们希望定义严格的、基于数学的方法,将传动建模方法的专业知识和表示与深度学习结合起来,使功能性、可验证性和可解释性最大化,从而推动复杂智能系统的发展。