Page 32 - 《软件学报》2021年第7期
P. 32
1950 Journal of Software 软件学报 Vol.32, No.7, July 2021
分别被认为是广泛意义下的认知(epistemic)不确定性和偶然(aleatory)不确定性;模型不确定性可以通过提供用
户足够多的训练数据来消除,诸如测量误差等不可消除的不确定性.不确定性度量也是该研究领域比较关注的
一个研究方向,比如剑桥大学的 Gal 和 Ghahramani [85] 提出的 Monte Carlo Dropout 方法可以在不改变神经网络
结构或优化技术的情况下近似模型不确定性,谷歌的 Lakshminarayanan 等人提出的 Deep Ensemble [86] 是一种易
于实现和并行化,需要很少的超参数调整的不确定性度量方法.我们认为,这些近期在人工智能领域的研究结果
可以极大地促进软件工程领域针对复杂系统的不确定性的研究.此外,机器学习等技术也被广泛应用于处理复
杂系统的不确定性,据本文统计,有 38 篇(38/142)文献利用机器学习等人工智能技术(如马尔可夫决策过程和贝
叶斯网络等)处理复杂系统的不确定性.如文献[87]利用参数化的马尔可夫决策过程处理自适应系统运行时定
量验证过程中出现的不确定性.
在不确定性不同层次的分类方面,讨论复杂系统外部、内部和传感器不确定性的文献中有 64 篇(49.6%)关
注外部不确定性(包括传感器不确定性).这一观察结果符合信息物理系统和物联网直接与环境交互的特性以及
运行环境具有实时变化的特点.这方面的研究涉及到的不确定性多种多样,包括用户行为的不确定性、环境的
不确定性、系统的经济属性以及基础涉及的不确定性.在我们调研的文献中,针对内部不确定性的研究主要集
中在系统结构不确定性、系统内部交互以及支持和处理系统运行的相关技术(如深度神经网络本身固有的不确
定性)的不确定性上.由此可以看出,针对这些不同种类的不确定性进行细粒度和多维度的分类和特征化是非常
有必要的.研究人员在这方面进行了一些工作,比如张等人提出的 U-Model [13] 是一个比较通用的描述不确定性
及其特征的概念模型.Moreno 等人在文献[88]中详细讨论了如何通过减少不确定性来增强自适应系统的适应
性决策应对各种不确定性的能力.基于以上方法,正在 OMG 对象管理组织制定的 Precise Semantics for
Uncertainty Modeling(PSUM)从不确定性建模的角度对不确定性进行了分类.但是,目前仍缺乏一个比较完善的
不确定性分类.我们希望这样的一个不确定性分类应考虑到内外部不确定性、主客观不确定性、偶然和认知不
确定性、模型/参数和数据不确定性、人机交互不确定性、各制品不确定性等.
在不确定性涉及的开发制品的分类方面,对收集到的 65 篇明确涉及到制品不确定性的文献的调研结果表
明,信息物理系统和物联网系统开发中关注的制品种类繁多(如需求、模型及其参数、数据、制品演化、约束
等).此外,模型不确定性和数据不确定性是研究人员关注的重点,主要是因为需求建模、系统架构和设计建模是
信息物理系统和物联网系统开发中使用的主要方法,数据采集和处理是此类系统需要考虑的重要设计因素之
一.另外,我们也观察到,学术界目前并没有系统地考虑不同制品不确定性信息的相关性.比如,从模型不确定性
到需求不确定性的可追溯性(traceability)并没有受到足够的关注.整体来说,这种欠缺在某种程度上是对产品质
量及其运行和维护的一个不可忽视的威胁,但其同时也是未来可能的发展趋势.此外,如 Salay 等人在文献[89]
中提到,制品之间的追溯链接本身也会有不确定性,所以在管理追溯链接的同时也需要系统地管理不确定性.
在不确定性的处理方法方面,研究人员处理不确定性的方法多种多样,如不确定性传播、不确定性下的决
策、不确定性推理、不确定性规约/建模、不确定性管理以及不确定性度量.其中,不确定性下的决策、不确定
性推理以及不确定性规约/建模是研究人员关注的重点.更细粒度的不确定性分类有助于将具体的不确定性条
件下的决策处理方法与具体的不确定性类型以及相关的理论和技术(如贝叶斯概率和模糊集)联系起来.未来,
我们将着重开展这方面的工作.
在不确定性研究的学科领域方面,为了防止自动化领域和计算机领域的文献数据量差异带来的分析偏差,
本文重点针对自动化领域和计算机的子领域(软件工程领域)关于复杂系统不确定性在不确定性应用领域、不
确定性类型、系统制品的不确定性类型以及不确定性处理方法这 4 个方面展开研究.(1) 关于不确定性应用领
域,软件工程领域更多地关注信息物理系统、物联网以及自适应信息物理系统,而自动化领域更多地关注信息
物理系统.(2) 关于不确定性类型,软件工程领域和自动化领域对外部不确定性和内部不确定性有较多的研究,
而对于传感器不确定性,软件工程领域研究者关注得较少,自动化领域的研究者没有涉及到这方面的研究.
(3) 关于系统制品的不确定性类型,软件工程和自动化领域关于不确定性的研究交叉集中在模型不确定性、参
数不确定性和数据不确定性上.这一现象是软件工程和自动化学科特性所导致的,如需求不确定性等是软件工