人工智能软件,特别是深学习组件,是目前实现自主汽车等自主系统的最先进和经济上可行的解决方案。然而,DL算法的性质及其当前的实现与汽车、卫星和火车等安全关键系统中严格的软件开发过程不一致。
传统的安全相关软件采用自上而下的方法,对组件进行分解,并相应地传播安全要求,直至达到足够简单的软件单元。这些软件单元本身及其构成是基于显而易见的独立数据控制算法--例如,算法处理数据--但是 算法 在不需要任何数据的情况下进行设计和验证。
传统的软件设计过程与DL软件的构建方式相冲突。DL软件体系结构(层次的类型、数量和组织)是根据经验建立的,遵循基于直觉的优化过程,并与( 训练 )循环中的数据,以调整DL模型参数。
因此,所获得的DL软件由大型原子软件单元组成,有一个通用的目标(例如:,尽可能准确地进行预测),由特定的培训数据集创建,这些数据集隐式地确定了DL软件的功能,并将其分解为较小的组件即:神经网络的分层。这些组件本身很少或没有意义,缺乏可据以评估它们的具体要求,并具有无法独立修改的内部特性,因为DL软件的培训是以原子方式进行的,并且在DL软件的所有组件(层)之间存在强耦合。
此外,越来越精确的DL软件通常是从更复杂的实现中获得的,其中组件(层)的数量、它们的大小(神经元的数量)和用于培训的数据数量增加,从而扩大了传统的安全关键软件开发过程与DL软件开发过程之间的差距。
安全解释 这是一个由欧洲联盟资助的项目,旨在弥补这一差距,以便能够认证基于DL的软件组件,包括那些继承高完整性故障操作安全要求的组件。它同时考虑三个支柱:
· 基于数据基的软件组件
· 认证实践 功能安全 标准
· 商业平台的高效执行
考虑到其中任何一个支柱本身都注定要失败。例如,安全标准将软件构建的开发强加于在循环中没有数据的明确定义的确定性算法上。然而,DL软件往往具有随机性。通过培训实例对预期算法进行隐式学习,可以产生不同信心的预测,包括错误预测。因此,试图将DL软件的特性限制在当前的安全标准是一个没有希望的任务。
相反,SAF解释的工作是针对DL软件的设计,使其属性符合一般的安全原则,如解释性和 可追踪性 ,自然而然地出现。这样,即使基于DL的软件组件是原子性质的,它们已经提供了可以详细阐述验证参数的属性。
与此同时,SAF解释了旨在调整安全标准的工作,使非常规的方法能够认证软件;例如,继承了故障率是开发过程一部分的硬件组件的实践,同时保留了允许详细阐述安全论据的关键原则,这样,在安全关键系统的开发过程中,就有可能接受实现有意义的预测准确性所需的DL软件特性。
这两个支柱--DL软件开发和根据安全标准进行认证--都需要在第三个支柱--商业平台上有效执行的范围内进行。换句话说,所实现的性能和所需的计算资源必须在范围之内。
因此,SAF解释的设想是,DL软件的开发在不改变其主要步骤的情况下受到限制,以保持准确性和与平台相关的要求,从而最终能够详细阐述替代安全论据,从而能够对基于DL的软件解决方案进行认证。为此,SAF解释将考虑到各种各样的安全模式,考虑到完整性水平的差异,有不同的要求(例如:,从低到高的完整性)以及故障安全和故障操作功能。所有这些元素都将改变软件体系结构,从而改变基于dl的软件组件继承的安全要求。
考虑到目前工业中与安全相关的认证做法,以及与安全相关应用相关的现有高性能平台,SAFSAL解释将提供切合实际的解决方案,以定制工业应用中使用的DL软件解决方案。这项工作将根据汽车、空间和铁路领域的工业案例研究,作为安全关键应用的代表,不断评估项目解决方案。