事故致因理论对自主系统开发与安全运行的启示
2019-10-25贵授
杨 雪 傅 贵授
(1.挪威科技大学 海洋工程系,挪威 7491;2.中国矿业大学(北京)应急管理与安全工程学院,北京 100083)
0 引言
现代工业即将面临从自动化系统到自主系统的变革。我国国务院在《新一代人工智能发展规划》[1]中指出,人机协同增强智能、群体集成智能、自主智能系统成为人工智能的发展重点。开发无人系统与智能自主系统的初衷是降低某些特殊工作环境和操作失误给人类带来的风险,如无人车、无人船以及无人飞行器等。但自主无人系统自身所带来的风险问题,越发得到学术界与工业界的广泛关注[2]。
由以往事故案例提炼出来的事故致因理论,旨在总结典型事故发生的机理,为未来风险分析提供科学的理论依据。事故致因理论多基于大量已发事故分析,用以累积先验知识以预测与预防同类事故的发生。那么对于处在创新与探索阶段的自主系统的安全事故防范,又有着哪些启示呢?
本文对目前国际主流的事故致因理论进行了综述,并对其如何应用到自主系统的开发与安全运行进行了探讨。
1 自主系统的定义及等级
1.1 自动化系统与自主系统
近几十年来,自动化系统的引入在很大程度上改变了人机交互的模式。但从根本上来讲,意义构建(Sense-making)和决策(Decision-making)并没有被集成到自动化系统中。如在自动驾驶领域中,自动化技术主要集中在执行提前设计的逻辑步骤, 整合多源传感器信息,制导和导航技术,以及自动避撞技术。近年来,人工智能,机器学习技术的日趋成熟,以及芯片计算能力的大幅度提高,为自主技术的实现构建了新的平台。当前,工业界与学术界并未对自主系统的定义和等级划分达成共识。自主被定义为系统或子系统进行整合意义构建(Integrated Sensemaking)、认知(Perceiving)、分析(Analyzing)、沟通(Communicating)、计划(Planning)、决策(Decision-making)以及行动 (Acting)的能力,通过人机交互界面来实现既定任务[3]。
1.2 自主系统的等级
在不同的应用领域里,自主系统等级分类各不相同。当前学术界、工业界对于分类标准尚未达成共识。基于操作人员的独立性、任务的复杂性和环境的复杂性、自主性可以大体分为4个等级[3]。
(1)等级1:远程遥控。操作人员可直接控制以完成任务。具有此等级自主性的系统通常是经行过预编程处理。
(2)等级2:经同意远程管理。系统可自动为与任务相关的操作提出建议,并在重要时间点提醒操作人员以获取信息与决策。此等级的系统可在操作人员授权下自动执行一部分的功能。
(3)等级3:半自主。操作人员只在异常时刻进行干涉。系统可自动执行任务,但操作人员可在定义的时间范围内取消或修改某些操作。
(4)等级4:高度自主。此等级的系统是独立的智能系统。系统能够在芜杂的环境中计划并重新计划以独立完成任务。操作人员只具有知情权,但无法干涉系统为完成任务所作的决策。
2 自主系统的特征
和传统自动化系统相比,自主系统有其自身特点,可归纳为:
(1)对可靠性有更高要求。自主系统对人的依赖性降低。这意味着系统的软硬件的可靠性需达到甚至高出设计期望值。同时,系统对故障的快速诊断,容错以及纠错的能力至关重要。
(2)不确定性与不可预知性更强。某些自主系统被用于特殊工作环境中。人们对这种工作环境往往先验知识不足,因此所能获得的原始信息的不确定性很高,不可预知性更强。自主系统需探索环境,甄别信息,进行规划,决策与控制。
(3)自主系统的研发是有阶段性的。在相关法律与规范完善之前,等级1、2、3的自主系统将是主导。这样一来,自主系统运行过程中,人的监管是必不可少的。
3 事故致因理论模型综述
一直以来,事故致因理论是风险分析的基础[4]。从不同角度出发的事故致因理论总结了事故发生的规律与致因因子,从而为定性与定量风险分析提供了依据,为事故预防奠定了基础。
3.1 安全屏障理论
安全屏障理论(Energy-barrier Theory)(如图1)是预防重大事故发生的主流致因理论,最早由Gibson(1961)[5]倡导,并被Haddon(1980)[6]广泛推广。Haddon围绕着以下3大要素提出了事故预防的10大策略:
图1 能量-安全屏障原理[5]Fig.1 Energy-barrier model[5]
(1)能量源:能量的释放是伤害的源头。避免事故的发生则意味着通过预防能量累积,减少能量含量,预防失控能量释放,改变能量释放率或分布,来避免失去对能量的控制。
(2)易受伤害财产:需保护对象,包括人的生命、健康,环境以及系统其他重要资产等。
(3)安全屏障:避免伤害的手段,包括使易受伤害者与危险能量源分离,对受害者的保护措施。安全屏障在安全管理系统中扮演重要的角色。
简而言之,本理论的观点是:重大事故发生的最终原因是危险能量失去控制,并且在能量源与需受保护的财产(包括人员)间没有设置有效安全屏障,或安全屏障完全失效。
能量-安全屏障理论,尤其是纵深防御的策略(Defense-in-depth)在核工业,化工业以及石油天然气行业进行了广泛推广。IAEA[7]对纵深防御进行了如下描述:纵深防御是以弥补潜人为操作失误和机械故障为目的,以多层保护机制(其中包括防止放射性材料泄露到环境中的重叠安全屏障)为中心的概念。它的目的在于保证有事故风险的活动置于重叠措施的防御之下,即使有一种故障发生,也将有适当的措施进行探测、补偿或纠正。
Reason[8]在瑞士奶酪模型(如图2)中提出,操作人员的不安全行为,或设备的故障等显性失效,与系统和组织活动中不同层面存在的隐性缺欠同时被激活,最终导致事故的发生。在整个系统设计、制造、安装与运行过程中,由于各种决策失误所导致的漏洞,可一直潜伏在系统中直到被激活。当操作失误,同时各层面漏洞显现,危险源就像一束光源,刚好能够透过所有层面的漏洞。这时事故的发生不可避免。
图2 瑞士奶酪模型[8]Fig.2 Swiss cheese model[8]
值得注意的是,为减少人因错误,操作规范与各种管理规则被引进到广义安全屏障的定义中。安全屏障进而被定义为“以物质或非物质的方式,来预防、控制、缓和不希望发生的事件”[9]。
3.2 人为灾难理论
Turner[10]于1978年在分析了英国政府发布的84起事故报告后,提出人为灾难理论(Man-made Disaster Theory)。他认为事故的发生是有相似性的,事故的预防不能仅仅依靠可靠性工程,还要通过系统性的分析和管理导致失效的软致因因子。
Turner尤其强调了信息流缺失和对信息的误解在事故发生中的重要性。他认为,事故的发生是由人因和组织安排相互作用所造成的。在事故发生前,可能导致事故的信息已经被某些人知晓,或是存储在某些地方。而缺失信息流的原因可能为:
(1)故意拒绝或承认知道,甚至是在潜意识中。
(2)先前信息被注意到,但尚未被完全理解。
(3)先前信息未被正确搜集。
(4)相关信息存在,但当它与先前信息,规范或价值观相冲突时,它便被忽略而不被讨论。由于本体论或认识论的偏见,也有可能无法看到它们。
因此,此理论侧重于有效收集已知的信息,并致力于在组织中达成共识:一些在运营中习以为常的偏差,往往很可能有最终导致重大事故的风险。而运营中不断发生的一些小偏差,之所以能够在事故的潜伏期累积起来,多是因为对危险信号的忽视,误解,或者固执己见。
3.3 目标冲突理论
目标冲突理论(Con flicting Objective Theory)的代表Rasmussen[11]认为,威胁到生产安全的一些错误决策,多是组织内部对于生产压力和工作负荷的妥协所造成的。图3为系统运行安全性的迁移模型。
图3 安全迁移模型[11]Fig.3 Safety migration model[11]
Rasmussen指出,提高安全性的两种方法为:增加安全冗余和降低经济效率梯度与胜利梯度,以避免迫减安全冗余。对于怎样定义安全边界并使其可见,是该理论用于实践中的难点。Rasmussen还指出,风险管理的实质是在特定工作环境中,和生产压力下对工作过程的控制问题。这种控制是从上而下的, 从政府、监管者,到公司管理层、 员工和实际工作现场。每一层都受到相应的环境压力。这些在各个层面的压力往往最终终威胁到实际生产安全的决策。在此基础上,Rasmussen和Svedung总结了AcciMap事故分析模型[12]。AcciMap(如图4)概述了在事故发展过程中,各个决策机构(决策者)如何相互作用继而影响事故的发生。AcciMap的目的并非找到事故责任人,而是找出哪些决策可以提高风险管理的质量,最终保证生产安全。
图4 AcciMap模型结构[12]Fig.4 AcciMap structure[12]
3.4 正常事故理论
正常事故理论(Normal Accident Theory)的代表Perrow[13]持有相对悲观的事故致因观点,认为,对于高度交互并紧密耦合的复杂系统来说,重大事故的发生是不可避免的。此理论推动了对于复杂系统的安全极限的讨论。Perrow对于交互复杂性和紧密关联的定义如下:
交互复杂性:系统由子系统和零件组成。他们之间的交互作用往往会出现1+1>2的效应,但这种交互究竟会出现什么程度的效应,以什么形式出现并不能被设计者完全理解。高度交互的系统有时出现的失效会出乎设计者的意料。
紧密耦合性:紧密耦合意味着两者之间没有空隙或缓存。紧密耦合性适用于如计划时间表,或者资源。耦合性越紧密,意味着因果效应在系统中发酵传播的速度就越快。
该理论所面临的质疑在于如何量化复杂性和紧密性。Hopkins[14]指出,近几十年来的重大事故,仍然是由管理不善和成本压力造成的,并不是不可避免的。尽管如此,该理论引起了学术界与工业界的兴趣,并促进了高效组织理论的兴起。
3.5 系统理论事故模型与过程
Leveson[15]支持Rasmussen的观点,认为安全是一个控制的问题。她指出,多数的事故致因理论过于简化事故发生的原因, 并提出基于系统理论与控制理论的系统理论事故模型与过程(System Theory Accident Model and Process,STAMP)事故致因模型。STAMP含有3个基本概念:系统分层控制结构、安全约束以及过程模型。STAMP用分层的控制结构来描述系统,从上而下包括政府、组织、工程活动以及物理组件等。安全约束是STAMP中最重要的一个概念。Leveson认为,导致事故的原因主要是在系统研发和运行过程中,安全约束没有在各个分层间得到充分的实施。而过程模型所表征的是被控过程被认知的情况。Leveson将控制器分为操作员和系统控制器,从而将人员也纳入了控制模型中。操作人员过程模型的偏差,以及环境的影响,往往是出现危险事故的原因之一。
基于STAMP,Leveson开发了系统理论过程分析(System-theory Process Analysis, STPA)方法,针对控制回路进行典型危险源识别,用以完善系统设计。基本控制回路包含4大组成部分:控制器、制动器、控制过程和传感器。STPA的目标是识别不安全的控制动作(Unsafe Control Action,UCA)。UCA被定义为在某特殊状态下和最坏条件下将导致危险的控制动作。在STPA最新发布的指南中[16],给出了如何确定识别UCA,确认导致不安全的控制动作,以及控制动作没有被执行或错误执行所导致的事故场景,如图5。
图5 STPA考虑的两类事故场景[16]Fig.5 Two types of accident scenarios considered by STPA[16]
其中,UCA发生的原因主要分为两大类:
(1)控制器控制行为不当,导致原因如下:控制器失效(如硬件失效、电源失效等);控制算法不当(如控制算法执行缺陷、算法存在缺陷、算法未及时反应变更或系统老化);不安全输入(如上层控制器/控制人员传达信息错误);过程模型缺陷(控制器接收不正确信息反馈、控制器错误解析或忽略反馈信息、控制器未接收反馈信息或信息延迟)。
(2)反馈信息及其他输入信息不当,导致原因如下:反馈或信息未被接收(如传感器发出信息,但未被控制器接收;传感器未发出信息;传感器未接收信息,传感器或反馈渠道不存在);不适当信息被接收(如传感器未发出正确信息、信息未被恰当接收、传感器设计缺陷未能提供反馈信息);而当控制动作正确,但没有被正确执行或被错误执行所涉及的事故场景,则需要检查控制路径以及被控制过程相关的因子。举例如下:
①控制器发出指令,但未被制动器接收,或制动器未响应。
②控制器发出指令,但制动器未充分响应。
③控制器未发出指令,但制动器错误响应。
④制动器充分响应,但未反应到被控制过程。
⑤控制过程接收到指令,但没有响应或错误响应。
⑥控制过程响应未发生指令。
3.6 高可靠性组织理论和韧性工程理论
严格意义上来讲,高可靠性组织(H igh Reliability Organization,HRO)韧性工程(Resilience Engineering,RE)两个理论并不是致因理论。他们都是致力于探索如何通过改善组织形式和人员的可靠性来避免事故的发生,而非寻找导致事故的原因。HRO起源于寻找解决高复杂性、高耦合性的系统如何能够安全运行的方案。该理论致力于研究零事故组织的生产过程与实践操作。Weick和Sutcliffe[17]总结了HRO的5大基本原理:对小型失效保持警惕;拒绝过度简化;保持对生产过程的敏感性;致力于弹性理念;尊重专家意见。基于这5大基本原理,培养警觉型人才,从而建立警觉型组织。
近几年来韧性工程得到了广泛的关注。韧性是指系统内在的一种能力,使其能够在意料中和意料外的条件下,在变化和扰动之前、之中、和之后都能够保持系统成功运行[18]。韧性工程所强调的是以自适应调整机制来应对环境的变化与威胁,系统的故障。韧性工程的四大基本能力是:反应能力、监视能力、预料能力、与学习能力。
4 事故致因理论在自主系统开发与运行中的应用
事故致因理论致力于探索事故发生原因、发展规律,研究事故始末过程,以揭示事故本质。各理论既有各自强调的致因要素,又有共通之处,对于自主系统的开发与安全运行,有着重大的借鉴意义。下面将针对自主系统的特点来讨论如何使用事故致因理论来增强自主系统的安全性。
和依赖人做决策的控制系统相比,自主系统大大降低了对人的依赖,这样一来,在安全方面主要依靠各种技术安全屏障,尤其是纵深防御的策略来降低事故风险。纵深防御的安全屏障可能对显性失效(Active Failure)和设计过程中就存在的隐性缺欠 (Latent Error)给予充分重视。另外,传统的安全屏障理论侧重于降低危险能量释放(如石油气行业中的油气泄露、船舶碰撞)带来的后果。而危险事件的预防则主要依靠操作人员的经验、警报以及操作规范以减少误操作。在自主系统中,危险事件的预防完全依赖控制系统,有效安全屏障的设计则需要建立在充分识别可能存在的风险源以及相关事故场景的基础上。
如图6所示,风险源可有4种来源:外部风险源、自主系统的内部风险源、来自人机交互的内部风险源与监督人员的失误。在多数情况下,自主系统所面临的外部风险源和控制系统相同。但是,某些自主系统的工作环境特殊,设计人员对工作环境的先验知识不足,导致某些决策场景设计空白,则必须完全依赖自主系统自行探索与自行决策。这意味着安全的设计既要为已知风险源(包含外部风险源和内部风险源)设计有效安全屏障以避免风险源发生或进一步传播,又要考虑未知外部风险源以及安全屏障可能存在的漏洞所遗漏的风险。
图6 事故致因理论如何应用于自主系统的风险管理Fig.6 How to apply major accident causation theories into risk management of autonomous systems
人为灾难理论为如何提供更好的信息流提供了参考。自主系统通过感知模块感知环境、系统本身状态及目标,再通过信息处理与融合,进而将信息流进行整合转化为知识流,送入系统健康管理模块与规划决策制定模块。从等级1至等级3的自主系统中,操作人员仍是最终避免事故发生的主力。但是,在操作不同等级的自主系统时,操作人员需要充分理解信息流的不同含义。Endsley[19-20]指出,自主系统的等级越高越可靠,操作人员就越难意识到关键的信息,并且越难在需要介入时进行手动控制以避免事故的发生。在高等级(如等级3)自主系统使用中,操作人员面临着技能退化失去参与度,某些情况下工作量激增以及缺乏对整体复杂性的理解与缺乏可预测性的问题。通常情况下,自主化系统会兼有低等自主化及高等自主化的功能。当自主化控制器突然将控制传递给可能未准备好接管的操作人员时,将很容易发生意外。Turner在人为灾难理论中所强调的注重整合小偏差,减少对危险信号的忽视与误解,以降低事故潜伏的可能性的观点需得到重视。
STAMP以及其基础上开发的STPA方法有助于确保自主系统的安全约束被有效的确认,以及在分层控制结构中充分执行。使用STPA对同一系统中的处于不同自主等级的模式进行分析,可细致找出导致控制失效的原因,并且促使操作人员熟悉在各个模式下的责任以及如何最有效快速反应紧急情况。另外,通过STPA方法识别的事故场景,可用于设计开发自主系统的测试案例。
目标冲突理论中有两点是自主系统的开发和运营可借鉴的。第一,安全冗余的设计。第二,为维持自主系统的高可靠性、系统在运行中的维修作业,尤其是预防性与预测性维护至关重要。如何保证最优安全冗余,并且保证维修作业不被生产压力和工作负荷压迫导致安全模型迁移至危险阶段,需要进行充分探讨。
介于自主系统更强的不确定性与特殊工作环境的不可预知性,弹性工程中所强调的反应能力、监视能力、预料能力与学习能力更为重要。如无人驾驶车,当其遭遇陌生场景时,要能够深入分析事实逻辑,得出理性决策并发出安全控制指令。
5 结论
自主系统的开发处在创新与探索阶段,如何在运行过程中保证其安全性,并将安全性反映到设计中是自主系统开发不可缺少的一环。事故致因理论总结了大量的事故预防经验,对于从不同角度识别已知的风险源,提高对未知风险源的警惕性,描述事故场景,仍有着重要的借鉴意义。基于事故致因理论所识别的事故场景,可用以辅助设计技术安全屏障与运行策略来提高自主系统的安全性。
此外,高等级的自主系统决策机制与传统的自动化系统不同。自主系统开发的核心算法趋向于因果推理决策机制。但目前的事故致因理论所涉及到的脑科学和认知心理学相关的讨论甚少。 随着自主系统技术的成熟与产品应用的普及,事故致因理论随之更新的可能性需做进一步研究与探讨。