雷锋网 ai 科技评论按:2018 全球人工智能与机器人峰会(ccf-gair)在深圳召开,峰会由中国计算机学会(ccf)主办,雷锋网、香港中文大学(深圳)承办,得到了宝安区政府的大力指导,是国内人工智能和机器人学术界、工业界及投资界三大领域的顶级交流盛会,旨在打造国内人工智能领域最具实力的跨界交流合作平台。
ccf-gair 2018 延续前两届的「顶尖」阵容,提供 1 个主会场和 11 个专场(仿生机器人,机器人行业应用,计算机视觉,智能安全,金融科技,智能驾驶,nlp,ai ,ai 芯片,iot,投资人)的丰富平台,意欲给三界参会者从产学研多个维度,呈现出更富前瞻性与落地性相结合的会议内容与现场体验。
joseph sifakis 教授是 ccf-gair 2018 首日的人工智能主论坛重磅演讲嘉宾,joseph sifakis 是美国国家科学院、工程院、欧洲科学院三院院士,他还是图灵奖得主,因「在将模型检查发展为被硬件和软件业中所广泛采纳的高效验证技术上的贡献」获得 2007 年度的图灵奖。
「从模型检测到嵌入式设备,再到物联网时代,joseph sifakis 教授最有话语权」,这样的评价一点都不为过。
在第一天的人工智能主论坛上,joseph sifakis 教授在大会首日发表了题为「autonomous system design in the era of iot」(物联网领域的自主系统设计)的演讲,以下是 joseph sifakis 教授的演讲全文,雷锋网做了不改变原意的整理与编辑:
上图呈现了一幅物联网的愿景,我们有基础架构和基础设施来承载如此多的物件。同时,我们有不同的物联网愿景:
物联网(iot),它提升了互联网
工业物联网(industrial iot)和人类 iot(human iot)
工业物联网系统是自主的,自主意味着没有人类的干扰和介入。现在我们面对的巨大的挑战是:我们在工业物联网中的基础设施和技术是否能够实现物联网的愿景。
美国于 5 年前成立了一个工业互联网的联盟,即物联网。发展物联网要涉及到不同的方面:包括自主的决策、自主的运营、自主的学习,这也就是自主的意义。重中之重的是,我们必须了解这个自主系统,它具有不同的自主程度(不同的自主程度取决于环境的复杂度),以及使命的复杂度,还有一些人类活动的可行性的执行和非人类操作员的干涉。
图(下)为无人驾驶车,我们用不同的自主范围和自主水平来判定它的自主化程度,如从 level 0 到 level 5 的阶段(从无自主化到完全自主化)。level5 阶段的无人驾驶车是完全自主化的,它是不受人类干预的,完全由机器人操控的汽车。
我们现在面临着很多局限性,在基础设施方面,我们有综合化的系统,也有各种优化的系统,一些科学家在不断地提升自动化技术。但是,也还有很多科学家对物联网自主化系统的发展过度乐观。我们正在逐步前进,要执行各项系统和做好开源的系统设计。在系统设计方面,我们可以从一开始就提升它的可靠性。
我想介绍一下这个系统的设计。系统包括很多方面,包括想互动的东西,硬件,软件,以及其它的各种组件。
这个系统有什么特性呢?
它必须是值得大家信任的,它必须是可靠的。比如,在设计的过程中不能出现环境上的干扰,硬件失误,设计上的误差以及一些恶意的行为。所以,我们必须要优化系统设计。优化系统设计其实成本并不高,如果在初始阶段就对系统进行优化设计,那么成本就不会过高。
这是系统设计,系统的设计非常关键。其中,best-effort 是最优的设计。
我们关心管理系统和设计系统。系统中有一些非常关键的使命,我们有着最优的设计,同时还要考虑系统的可靠性,该可靠性会花费一部分成本。系统的可靠性涉及到 10-9(10 的负 9 次方) 的安全的临界性(safety critical)。
为什么我们不能提升这些等级的可靠性?因为我们需要一些非常关键且必须非常可靠的系统。
为此,我来解释一下需要哪些基本的原则。
我们依赖两个技术,一个是验证,一个是测试。验证指的是,你可以证明你的系统能够正确地运行,并且是基于模式的。你有一个模式,然后还有要求,有形式化要求,有模式的形式化,你用专业的知识来使这个系统符合这些要求。
在验证方面,我有 20 多年的工作经验,验证已经成功应用于软件和硬件领域。对于自动系统,我们需要的是要求的形式化,下图是自动驾驶的 28 项要求。
我来向大家阐释其中的一些要求,要将这些要求形式化非常难。
比如,当你在正式形式化一个要求的时候,你要利用逻辑和人的行为,这是非常难的。另外一个难点是,我们都知道硬件和软件之间要互动,我们要理解软件的行为和硬件的平台,要理解它们之间的复杂互动。
现在,我们有很多硬件平台,为了开发一个可靠的模式,在这个模式下,我们需要验证这个系统,并且还会出现很多可能的失误。因此,系统验证是一个非常难的任务。我们需要理解的非常重要的一点是,虽然自动系统中有机器学习技术,但是我们也没有办法来验证机器学习。因为在神经网络中,当你开发一个神经网络的时候,而没有办法对神经网络进行验证。因为没有(对神经网络的)要求,所有没有办法来验证这个神经网络,这就意味着神经网络没有办法用来系统地验证。
另外一个模式,就是 v-model,我们利用这样一个模式来开发可靠的系统。
首先,我们有详细的设计。其次,我们定义它的要求和构架。然后,我们进行操作,来测试这个构架,融合所有构建和成分。
我们在之前使用过 v-model 这个模式,但在软件工程方面,已经不再运用这个模式了(尤其是现代的软件工程师们)。
目前没有应用这两个技术,因此我们需要找到其它的方法来解决新的问题。
我们来谈一谈自动化挑战。
我找到了三个问题,以及我们如何来理解这三个问题。
一、物联网领域的自主化系统设计的复杂度如何?
首先,我希望我们的自动化系统能够在没有人的干预下,来应对复杂的环境。
我们可以看到,构建复杂度在上升和构架复杂度也在上升,导致设计复杂度在上升。在这个系统中,系统的复杂度随着组件和构架的复杂度的上升而上升。
二、如何来衡量组件或者成分的复杂度?
首先,我们有一个函数,给它一个值,得到一个函数结果。在编程时,我们利用函数,这非常简单。软件也是可以非常复杂的,它会有很多行的代码。在三个构架的系统中,有输入和输出,有时的输出是基于历史的输入值的。在一个嵌入系统中,计算机在实际环境中不断地演变,目前,在系统设计方面有了一个新的方向:虚拟物理系统。在虚拟物理系统中,有计算机,也有电子元件。当我们设计这样一个信息物理系统的时候,我们还要利用其它的知识。
我来向大家展示该信息物理系统,未来,所有的物体(无论是汽车还是其它的元件)都基于信息物理系统。也就是说,存在机械的部件,但是每一个机械部件都有一个计算机软件来对应它。不同的零部件对应不同的电脑软件。这里,有一些可靠的软件部件,还有硬件,我们用两个构件来构成这样一个模拟的自动驾驶系统模型,再将模型发送到工厂,这就是工业 4.0 的概念。
当然,设计这样一个虚拟物理系统也带来了诸多挑战:
关于如何运用模拟器,就有很多的技术问题需要解决。
如何来融合、如何来构建这样一个信息物理系统,我们面临很多的挑战。
我们的目标是建立一个模式,从上面的模拟的自动驾驶系统模型中,我们看到有很多的软件构件和很多部件构建的模型,我们需要融合多领域和多尺度的理论。这就涉及到工程和理论两个方面的问题,这些问题非常重要,它们都需要解决。
现在,我们来谈一谈构架的复杂度。我刚刚谈到了构架,我在这个领域已经工作多年。图中的构架都是完全静态的,其中,有最简单的构架,也有最复杂的构架。
在我们的系统设计中,构架越来越重要。构架的定义,它指一个系统中有不同的构件,构架让我们可以建立一个正确的系统。工程师利用构架来建立一个正确的系统。
三、在设计一个正确系统的时候,有哪些构件?
我们知道这些构件的复杂度,然后我们有构架,我们要协调不同的参数。
我们有一个动态的参数的构架,你可以在这个动态的构架中创造新的参数或者删除参数,这种动态的构架可以跟随环境的变化而变化,所以非常复杂。
还有一个是自我组织的构架,这是一个移动的构架,但是它不只有一种协调,它有非常多的协调规则,不只是一套规则。比如,你可能要自我构架一辆车或者是其它设备,因此,我们可以看到有静态的构架,还有参数型的构架,还有动态的构架,还有自我组织的构架。
我们来谈一谈面临的挑战:如何来建造基于知识的设计?
为什么需要知识?因为我们的系统必须需要应对不确定性,如果用机器取代人类,那么机器就必须具备相应的知识。
现在我们来定义一下什么叫知识,知识是一种信息,这种信息是真实的。什么是真实的信息?
真实的信息可以用来理解一种情景,或者用来解决一个问题。这里,我们有不同的知识的分类,工程师所运用的知识分类。比如说,我们有可证明的信息或者实验性的知识。机器学习就是一种实验性的知识。我们的工程师和科学家也会产生一种知识,并应用知识。
我一直在研究的一个重要问题是,我们在多大程度上能产生新的知识并应用知识。对工程师来说,现在他们有一个系统,然后建模,再生成知识。这个系统中我们有强大的语言,有时候,我们有丰富的模型,当然这需要非常强大的计算力。我们要应用知识的话,需要对系统进行建模,然后执行这个系统。在这种情况下,在建模方面非常困难。这意味着我们要理解并且正确地转化这个知识。因为我们的环境非常的不确定且复杂度非常高,因此在这个方面我们也面临着一些挑战。
在系统设计中,有一些缺陷存在于最优的系统设计和临界系统中,工程师的目标是确保这个系统的完整性。我们可以用最优的设计方法,将这个系统设计的很好。但是,在系统设计中,还需要有适应性的系统。
那么,我们如何弥补最佳方法和工程方法系统之间的差距?
需要我们在进行系统设计的同时,也考虑到设计的标准:需要考虑到系统必须是非常值得信任的。我们还有一些可以控制的系统,可以进行和系统、环境之间更好的合作,这就是适应型的控制器,如此一来,这个系统就会变得足够安全。有的时候,系统也会出现一些问题,我们要对系统进行监控。如果问题出现,我们需要降低这些缺陷,这是共识。我们经常在有些区域运用这些方法,计算系统中有各种控制理论,我们使用控制为基础的各种技术来确保计算的正确性。尽管如此,还是出现了一些不可预估的风险,所以一开始的系统的设计就显得非常重要,我们需要确保这一点。以知识为基础的设计(包括它的设计时间的知识),有时,我们不能保证这个设计时间,因此,我们需要建立一些特性,设计流程的某些步骤能够保证真正在执行的时间,能够保证完全真实的执行情况。
接下来我想说,目前无人驾驶汽车等自主化系统案例都非常引人注目,我们设定了一些标准来允许在对这些自主化系统进行质量上的检测。还包括在研发过程当中,提供决定性的证据,来校正这个系统和一些错误的形态。如特斯拉汽车,它会自我验证,它们在研发的过程当中都必须要进行验证,但在一开始,需要对这个车进行安全性的验证。
现在,我们需要做研究,需要新的方法和新的研究,来研究自动驾驶的安全性。我认为 ai 对自主化问题的部分回答。例如非常聪明的 alphago,alphago 解决了一些问题,ai 能够帮助我们来进行博弈,而这些博弈的规则正在不断地变化当中。