登录 | 注册 退出 投稿

神经网络的ISO 26262功能安全论证方法

专栏作者 2023-10-07

内容提要:在本文中,我们针对NN安全论证的两种方法提出了一种统一的方法:将人类可解释的概念分配给NN的内部表示,以实现模块化和形式验证。在最小示例中演示了所需概念嵌入分析的可行性,并研究了泛化的重要方面。


摘要

神经网络(NN)容易出现系统故障,使用ISO 26262汽车功能安全标准推荐的方法很难检测到这些故障。在本文中,我们针对NN安全论证的两种方法提出了一种统一的方法:将人类可解释的概念分配给NN的内部表示,以实现模块化和形式验证。在最小示例中演示了所需概念嵌入分析的可行性,并研究了泛化的重要方面。这些方法的贡献源自为NN模型安全档案提出的通用论证结构。

1.简介

NN的复杂性和黑盒性质使得ISO 26262汽车功能安全标准中建议的方法不足以提供合理的安全保证。例如,自动驾驶感知功能就是这样,或者在一般的计算机视觉应用中,使用卷积神经网络(CNN)作为安全关键功能,这是本文要讨论的范围。

我们为涉及模型评估的安全档案部分提出了一个模板,以确定所需的方法。一种是NN的模块化,即简化或减少,例如修剪或拆分为环境抽象和轨迹规划,而不是端到端的方法。为了进行有用的拆分,子模块的接口及其预期功能必须清晰。我们建议通过将可解释的中间输出识别为分裂点,来利用经过训练的NN的固有模块,而不是使用固定的模块化拓扑。

安全档案的一个证据来源是形式验证,它需要对算法的可用输入和(中间)输出使用形式语言,以便定义要验证的规则。形式语言由单词(人类可解释的概念)及其有效关系组成,这两者很少可用于NN。因此,我们建议作为第二种需要的方法,动态执行一组预选的可解释中间输出。然后这些可以作为正式描述语言的词汇表,并且应该从语义概念构建,即现实世界对象的抽象类(例如像“脚”这样的身体部位)或属性(例如像“毛茸茸”的纹理),它们承认它们之间的真实世界关系(例如,空间或层次)。

本文的贡献是:

–提出了基于NN的应用程序的安全参数的通用模型评估。

–开发了一种将视觉语义概念嵌入NN的理论。

–基于概念嵌入理论的概念执行和模块化统一方法丰富了安全论证模板。对于每种情况,都会建议一个工作流程。

–研究了一种概念嵌入分析方法。

2.NN的安全论证结构

在“参考资料1”中(关注牛喀网公众号,微信后台咨询下载)可以找到用于论证基于NN的系统的预期功能安全性的模板。功能安全论证的发展从非常基本的考虑开始,在“参考资料2”中(关注牛喀网公众号,微信后台咨询下载)进行了修订和更详细的说明。与后者相反,并受到“参考资料1”中建议的模板的启发,我们建议更具体地分为基于产品(验证和确认)和基于过程的论证。在下面的模板中,建议对基于NN的算法进行基于产品的安全论证,重点是关于NN特定特性的产品论证。与前期工作一样,使用了目标结构符号,这被认为是安全论证的常见做法。

图1提出了安全论证的NN特定功能安全部分的结构。分解的思想是拆分成产品(S1)和过程(G2)的论证。在过程论证(S2)中,我们找到了对过度复杂模型(Sn1)的模块化策略的需求:由于NN的黑盒特性和复杂性,相应安全论证的工作量随着网络的规模呈指数增长。

与传统软件模型相比,NN产品论证需要特别小心。原因是可能对预期的功能知之甚少,保留系统故障的可能性很高,需要适当的安全机制(G3),并且需要证明不存在由NN特定问题(G4)引入的安全相关系统故障,但是到目前为止,ISO 26262标准并未考虑此类问题。图1集中展示了一种论证策略,它可以为最后一个目标提供合理的信心。

图1.png

图1:NN算法安全档案结构的模板摘录,侧重于关于NN模型细节的产品论证。我们看到建议进一步方法(模块化和概念实施)的子树是彩色的。部分:安全(子)目标 (GX)、论证策略(SX)、提供证据的方法(SnX),以及描绘依赖性/故障的箭头。跳过的部分标有菱形。

我们将NN的特定失效模式分为三类:对小输入变化的鲁棒性、我们在方法建议中处理的错误内部表示或黑盒逻辑,以及由于训练数据代表性导致的泛化性能差。我们建议可以通过以下验证和确认方法之一,找到导致其中一种失效模式的NN (S3)故障:一种是对系统获取的测试用例(S4)进行彻底测试(G5)。另一个方面是针对所有相关输入扰动(S5)的鲁棒性保证(G7)。最后,由于所考虑的输入空间的复杂性,我们声称需要算法(G6)的合理内部结构的证据。根据专家判断,这里的“明智”是指对预期功能有益或必要。例如,对速度标志进行分类需要检测和区分数字的能力。

内部结构包括内部表示(G8)和应用于它的内部逻辑(G9)。后者可以通过局部(Sn5)或全局(Sn6)规则提取直接评估(G11),或者可以通过与给定规则(G10)的比较来验证, 这可以通过形式验证(Sn8)或通过执行规则(Sn7)来完成。类似于逻辑评估的规则提取,内部表征评估的定性方法是可用的。例如注意力分析(Sn4),或固有中间特征的分析(Sn3)。然而,我们发现缺乏用于分析和改进内部表示(Sn2)中领域知识使用的定量方法。我们对概念实施的量化建议建立在这些基础上,并填补了这里的空白。

3.概念执行和模块化的统一方法

正如下一节将详细介绍的那样,语义概念自然地嵌入到NN的内部表示中。我们建议在两个方向上利用此属性:给定理想的概念,评估并强制使用它们。并且,知道哪些在内部表示,将它们用作模块化策略的拆分点。

3.1背景理论:概念嵌入

NN层(或通常是一组独立神经元的中间输出)是神经元输出空间内的向量,这里称为该层的抽象特征空间。考虑一个层,一个抽象特征向量w,到x所跨越的一维子向量空间的投影pw,以及一个概念c。如果通过层与pw的连接获得的NN的中间输出与c的存在(在某个空间位置)具有高度相关性,则向量w被称为c的概念嵌入。简单来说,w是超平面的法向量,将层输出分为c或not-c。

结果表明,通常有单位向量嵌入的概念(即单个神经元),并且对于许多与任务相关的概念嵌入,可进行调查。他们进一步发现相似的概念被紧密的向量嵌入,并且向量操作在概念上产生有意义的关系,并且概念向量大多可以选择稀疏的,即简单的基向量组合。概念的稀疏性可能给出了编码复杂性和层基础与人类概念基础对齐的度量。因此,NN自然地在内部表示和使用概念,这些概念可以提取为附加输出。请注意,以前的文献仅限于由恰好一层的神经元输出组成的特征空间,而不是独立神经元的一般集合,但定义和可能的属性可以概括为此类。

上述概念嵌入分析方法产生了有价值的指标:概念嵌入的相关值用作嵌入的质量指标。一个概念的最佳概念嵌入的质量,显示了该概念嵌入到网络中的程度。给定一个输入,通过投影到概念嵌入的额外输出显示网络检测给定输入实例的概念的程度。沿着向量的定向导数显示了概念对决策的归属。

3.2概念执行

包含与任务相关的自然语言概念和输出已被证明可以提高NN的性能:基于损失的示例是层次概念上的模糊逻辑规则和包括子任务的多任务学习。其他规则执行方式,例如将其纳入数据、拓扑或在强化学习的情况下进行安全学习。产生积极影响的一个可能原因是,自然语言通常承认现实世界任务的高效抽象级别。

概念嵌入给出的可解释中间输出,使人们能够制定和自动验证对NN的要求。以上表明可以实现预选概念输出的强制执行,而不会对性能产生负面影响,因此可以作为训练后微调方法。我们提出以下工作流程:

1.识别任务相关的概念和关系:我们提出了两个标准来识别相关的概念和关系:它们被用于或需要用于合成数据生成器,即用于基础本体。或者,它们被NN用于类似的任务。NN使用的概念可以使用对预定义概念的概念嵌入分析来识别,也可以使用解释图提取等方法来识别,这些方法需要手动将自然语言描述分配给找到的概念。可以通过检查嵌入向量或使用归纳逻辑编程的规则提取方法来找到使用的关系。

2.从这些概念和关系中定义形式化描述语言:先前对词汇选择的指导应确保域相关性。

3.使用这种形式语言制定规则:这是高度用例特定的,需要域知识。从中导出规则的一般方面可以是合理性检查,例如从物理定律(“行人通常不会飞”)或等级关系(“儿童和成人是行人”,“头通常属于行人”)得出。或者,它们可以从安全界限中得出,例如性能保证(“与衣服颜色无关的行人检测性能”)或安全状态保证(“轨迹与障碍物保持安全距离”)。

4.使用可用的求解器(自动)验证这些规则,可以找到一个很好的概述,例如:当前的方法在性能、对网络激活函数的限制以及可以检查的规则方面有所不同;特别是通过边界近似可验证的上限/下限规则,与通过基于可满足性模理论的方法解决的一般线性约束。

5.必要时执行规则:在上面建议的方法中,使用反例和修改后的损失进行再训练,对于后面讨论的所选示例用例来说是最有希望的。

3.3模块化

在可解释的中间输出处进行拆分,会产生几个更小且因此复杂度较低的子网络和相应的功能模块,这些功能模块可以迭代优化和验证。这可以通过减少每个子网络的神经元数量和使用分裂前修剪神经元连接的交集来缓解,即删除低权重的神经元连接。我们建议采用以下递归工作流程来实现更高的模块化:

1.使用神经元水平分析识别学习概念。

2.彻底裁剪连接,例如权重衰减和阈值。

3.使用拓扑内省(如果可能自动化进行)识别抽象和解释网络。

4.将NN拆分为具有已识别接口的更小的NN。

5.如有必要,对裁剪和拆分的NN进行评估和(部分)再训练。

6.对较小部件的简化安全评估。

4.概念嵌入分析实验

如何获得概念嵌入向量的想法,是训练它及其阈值作为模型中间输出的线性预测器的参数。他们使用支持向量机作为预测器,提高了结果的唯一性。使用卷积层进行预测,引入平移不变性、简单的稀疏性分析和概念分割的可能性。我们基于此设置,因为它可以直接用于多任务训练问题,以强制执行所需的概念。我们测试了建议的概念嵌入分析是否可以推广到一个最小的例子,并研究了几个改进建议。

一般设置。该设置是一个简单的交通标志分类器,基于德国交通标志识别数据集的15个类别的子集,所有图像都缩放为48×48像素。要分析的视觉语义概念是出现在五个不同限速标志类别中的数字。一个概念训练集和测试集都是包含数字的图像,以及以7:3的比例随机抽取的其他图像。由于符号统一和平移不变性,概念被静态标记。预训练分类器以98.2%的精度实现,前馈NN具有四个卷积块,每个ReLU激活3×3卷积和2×2最大池化,然后是两个密集块,最后是密集sigmoid层。每个块后面都有一个dropout层。在第三个卷积层的激活图中,中间输出被选择为一个3×4像素(宽度×高度)的窗口,其中找到一个概念嵌入。这里不同的是,后者一次只考虑一个像素,因为事实证明,所考虑窗口的感受域(当将窗口像素放大到原始图像时)覆盖整个数字是必要的,或者更通常地说,唯一标识概念的各个部分。例如“3”和“5”不能通过它们的下半部分来区分。类似地,我们发现最能泛化的训练目标根本不同:对于一个位置,我们想要预测它是否是包含所需概念的窗口的中心,而不是直接创建一个像素级的掩码。对于平移不变性,窗口设置是通过带有一个输出滤波器(概念输出)的3×4卷积和层输出上的sigmoid激活来实现的。要训练的概念嵌入向量是卷积核的权重向量。为了分别评估嵌入,我们使用了并集上的平滑集交集(siou),该交集被计算为测试集X中所有样本x的预测掩码M(x)与地面实况掩码Mgt(x)的交集之和

公式1.png

改进建议。作为损失,我们将标准损失二进制交叉熵(bc)和均方误差(mse)与我们的新建议——M(x)非二进制的负平滑集IoU——以及从(si)的源代码导出的变体——进行了比较,它针对每个前景和背景像素的大交点进行了优化:

公式2.png

其中B是批次,b是数据集中前景像素的平均数作为加权因子。这个加权因子(w)以及通过预测窗口(iou)的并集交集(IoU)值来平滑目标,测试了性能优势。最后,我们研究了是否可以通过在数字分类器设置中预训练权重向量来改善收敛性:向网络提供一组带数字和不带数字的平衡窗口。由于卷积大小,这会为每个图像产生一个分类输出像素。

表1.png

表1:概念“3”的设置(h lossi -h modifiersi)的平均平滑集IoU结果;差距在数值上是不稳定的。

图2.png

图2:从上到下:原始图、真实IoU掩码、带有权重预训练的bc模型的示例输出

结果。表1收集了每个设置的10次运行的平均集IoU(每次方差低于0.004)。为了进行评估,通过放大、膨胀然后添加IoU像素值,将预测的IoU值转换为估计的概念区域。对于权重预训练,初始模型的平均准确率为91%。权重w最初建议应用于bc而不是si损失,我们发现它在数值上不稳定。一般来说,w和iou被证明只能优化si损失。在具有相等类分布的概念训练集上预训练权重通常有利于性能。有趣的是,预训练权重将bc和mse从不收敛推向最佳结果,这表明损失本身与优化目标的一致性较弱。我们声称这个问题是由于很少考虑到地面实况中心的空间距离造成的,在iou设置中也是如此。这非常符合以下观察结果,即直接应用siou损失可以减轻问题,无需任何预训练即可产生最佳结果。有趣的是,siou将专注于严格地在概念区域内找到像素,这可以从直接在输出上和膨胀像素后的IoU测量的比较中看出。最后,我们发现所有收敛方法都会产生稀疏概念向量,因为超过50%的权重条目可以归零,而不会造成甚至提高性能。因此,我们建议可以基于上述方法改进甚至强制执行稀疏性。

5.结论与展望

基于概念嵌入分析的两种建议方法和工作流有望在很大程度上支持安全论点(图1)。实验结果为推广分析方法提供了指导。未来的工作将侧重于将这些应用于行人检测的更复杂的安全相关用例。最终目标是完成安全论证的目标结构符号树,作为安全关键NN应用程序的模板。

55.png

详询“牛小喀”微信:NewCarRen



作者:牛喀网专栏作者
牛喀网文章,未经授权不得转载!


下一篇: 【汽车芯片】为AI时代重新架构SoC
上一篇: 使用基于模型的方法来评估汽车嵌入式软件的安全性
相关文章
返回顶部小火箭