当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于路径状态的神经网络测试充分性评估方法技术

技术编号:25951415 阅读:57 留言:0更新日期:2020-10-17 03:43
本发明专利技术提供了一种基于路径状态的神经网络测试充分性评估方法,包括下列步骤:1)模型抽象,获取模型隐藏层结构信息;2)获取数据集在模型运行中的隐藏层神经元信息,整合测试数据路径覆盖情况;3)选择覆盖指标,计算数据集路径覆盖率;4)选定阈值,评估神经网络的测试集上的充分性。本发明专利技术提供了一套系统的基于路径状态的数据集测试充分性评估方法,根据神经网络的结构特征,将传统测试方法在深度学习领域迁移,为神经网络模型的测试提供了新的评估指标,有助于开发人员和测试者进行模型的优化和数据集的筛选以及其质量的提升,同时促进了深度学习测试领域的发展。

【技术实现步骤摘要】
一种基于路径状态的神经网络测试充分性评估方法
本专利技术属于机器学习测试
,且特别是基于路径状态的神经网络测试充分性评估方法。
技术介绍
近年来,人工智能发展迅速,推动着各个领域的创新,其核心是机器学习,利用机器模拟人类的思维完成人类的工作,为人类的生活提供了各种各样的可能性。以神经网络为代表的深度学习的发展,进一步地促进了机器学习地位的提高,被广泛应用于多个领域,尤其是生命攸关领域,如自动驾驶,医疗导诊,金融风险预测等。这也对深度学习应用提出了高可靠高可用的要求。此外,对抗样本的研究也对深度学习的应用造成了很大的安全隐患。如何测试深度学习软件,已经成学术界和工业界的研究热点。深度学习应用特点是不确定性和概率性,其本身的神经网络模型就是一个非线性的、内部不可解释的概率分布模型,对大数据具有强依赖性,神经网络模型的训练就是建立在大量的训练数据的基础上的,数据质量影响着模型的决策。传统实践中的随机性输入和输出,难以预测所有应用场景,如何评估测试数据集合的充分性也成为研究难点。神经网络本质上是一个复杂的数值计算程序,其输出为不确定的概率输出,这与传统软件给定输入即会得到固定的输出结果是不一样的。此外,神经网络模型是一个结合和参数的集合体,输入的数据相对固定的非线性运算得到输出,而传统软件则是通过代码中的流程控制逻辑来选择路径执行,这些差异都为传统软件测试的手段在神经网络中的迁移应用带来了较大的困难。当下常见的测试手段即将大量数据划分为训练集和测试集,通过评估通过训练集训练得到的模型在测试集数据上的准确度的表现来评估模型的性能,这种方案对数据质量的要求比较高,而且很难评估模型在极端情况下的表现。而在现实应用中,极端情况下的可靠性保障往往对人们来说至关重要。近几年学术界便有通过约束求解等验证性手段,检测神经网络输出的边界,对模型进行可达性分析,进行神经网络的稳定性评估。此外通过对神经网络结构的分析,也有专家提出对神经网络神经元状态覆盖的测试方案,如神经元覆盖,MC/DC覆盖等。本专利立足神经网络的神经元状态,从神经网络模型的结构特征出发,提出了一种神经网络的路径覆盖测试充分性评估方法。
技术实现思路
本专利技术要解决的问题是:当前缺乏对深度学习系统的测试充分性评估方案,以便于帮助开发人员和测试人员高效的评估深度学习模型,并为提高数据质量提供启发性的解决方案。本专利技术结合神经网络的结构特征,基于神经元的状态,评估神经网络的路径覆盖情况。为达成上述目的,本专利技术提出了一种基于路径状态的神经网络测试充分性评估方法。方法包括下列步骤:1.对模型结构进行抽象,获取模型的隐藏层结构信息。给定神经网络模型M,该模型包含h个隐藏层,每个隐藏层li的神经元个数为ai(1≤i≤h)。2.获取测试数据集的隐藏层神经元状态,整合每条测试数据的路径覆盖情况。(1)对于给定的测试数据集T={t1,t2,t3...tn-1,tn}中的每个测试数据ti,运行模型,获取其在由1中抽象出的每个隐藏层的神经元激活数据。ti在隐藏层lj中神经元的激活情况为由1可知,第lj层中共aj个神经元,即ti保存的神经元信息为{Ai,1,Ai,2,Ai,3,...,Ai,h}。(2)对每条测试数据的神经元激活数据进行路径组合,给定路径长度为len,选取相邻len层的激活数据,在对应层中各选一个位置的神经元激活数据进行全排列。选取的连续层组为lset={[l1,l2,...,l1+len],[l2,l3,...,l2+len],...,[lh-len,lh-len+1,...,lh]},当len=h-1时,表示全路径覆盖,其余情况表示子路径覆盖。对于选中的连续层组,其路径为每层的内部神经元的全组合情况。3.选择覆盖指标,计算测试数据集合的路径覆盖率。其计算公式如下:其中表示组合路径中所有的覆盖情况数量,作为公式的分母。分子表示当前数据集T满足中的覆盖情况的数量。具体如何获得路径中所有的覆盖情况数量本专利技术提供三种类型的覆盖指标:(1)强激活的路径覆盖(StrongActivatedPathCoverage,SAP):本指标表示的是对于每条对应组合中的路径来说,只有当路径中的神经元全激活的情况下被认为该路径覆盖了,即一条路径的覆盖只有一种状态。测试集T在模型M上的len长度的强激活的路径覆盖的总情况数量计算如下:(2)输出激活的路径覆盖(OutputActivatedPathCoverage,OAP):本指标表示的是对于一条路径来说,只有当路径的最后一个神经元(即对应的连续层组的第1+len层选中的神经元)为激活状态时,我们才认为该状态覆盖。此时分多重情况,即路径中与最后一个神经元相邻的前置神经元连续激活的个数,连续激活1个为一种激活情形,由于前置有len个神经元,因此对于一条路径来说共有len+1种覆盖的情况。测试集T在模型M上的len长度的输出激活的路径覆盖的总情况数量计算如下:(3)全状态的路径覆盖(FullStatePathCoverage,FSP):本指标表示的是对于一条路径来说,我们认为其中的激活状态是指数级的,即神经元中是否激活均为一种激活方式,对于len长度的路径来说,共有(len+1)个神经元,因此对于一条路径来说共有2len+1种覆盖状态。测试集T在模型M上的len长度的全状态的路径覆盖的总情况数量计算如下:4.根据选定阈值threshold评估神经网络的测试集的充分性。当覆盖率低于阈值时,我们认为测试集T在模型M上的测试充分性较差,也反映了测试集质量较低。当覆盖率超过阈值以及模型的准确率满足开发者和测试者的预期时,我们认为模型质量和测试集的质量达到了预期的效果。附图说明图1为本专利技术一种基于路径状态的神经网络测试充分性评估方法的实施流程图。图2为L-5模型的神经网络结构示意图。图3为图1中获取神经元路径信息的流程图。图4为图1中评估测试集路径覆盖率的流程图。具体实施方式为了更了解本专利技术的
技术实现思路
,给出一个5层隐藏层的全连接神经网络(每层神经元个数分别为{20,20,20,15,10}),称之为L-5模型,分别获取三个指标下的len=3的路径覆盖率,通过此具体实例并配合所附图式进行说明。图1为本专利技术一种基于路径状态的神经网络测试充分性评估方法的实施流程图,如图所示,本专利技术方法内容主要包括:1.获取测试数据集在L-5模型运行时5个隐藏层中神经元的激活信息,为进行下一步准备数据。模型的结构图如图2所示,正是由于前一层和后一层的神经元之间的连接关系,能够表征路径,因此路径覆盖在神经网络中有着实践上的可迁移性。2.获取测试数据在隐藏层神经元上的激活信息,整合数据的路径覆盖信息。由图3所示,首先会将测试数据输入到子模型中获取对应每层隐藏层激活数据。对于一个神经,我们会通过判定条件进行判断其是否激活,如常用的激活函数为Relu,通过如下定义i层的第j个神经元的本文档来自技高网
...

【技术保护点】
1.一种基于路径状态的神经网络测试充分性评估方法,其特征在于将传统软件测试领域中的路径覆盖测试方法根据深度学习神经网络的结构与行为特征进行迁移应用,为开发者和测试人员提供新的度量测试充分性的指标。该方法包括下列步骤:1)根据模型的结构特征进行抽象,获取模型的隐藏层结构信息;2)获取测试数据集在模型运行中隐藏层神经元的激活数据,整合每条测试数据的路径覆盖情况;3)选择具体的覆盖指标,计算测试数据集的路径覆盖率;4)根据人为选定的阈值评估神经网络的测试集的充分性。/n

【技术特征摘要】
1.一种基于路径状态的神经网络测试充分性评估方法,其特征在于将传统软件测试领域中的路径覆盖测试方法根据深度学习神经网络的结构与行为特征进行迁移应用,为开发者和测试人员提供新的度量测试充分性的指标。该方法包括下列步骤:1)根据模型的结构特征进行抽象,获取模型的隐藏层结构信息;2)获取测试数据集在模型运行中隐藏层神经元的激活数据,整合每条测试数据的路径覆盖情况;3)选择具体的覆盖指标,计算测试数据集的路径覆盖率;4)根据人为选定的阈值评估神经网络的测试集的充分性。


2.根据权利要求1所述的一种基于路径状态的神经网络测试充分性评估方法,其特征在于,在步骤1)中,我们提取了模型的结构,将神经网络抽象为一个有向加权图,前面一层的神经元结点与后面一层的神经元结点相连接,边上带有权重,神经元激活数据对应边的权值流向下一层,形成一个典型的数据流结构,在此基础上提出了路径的概念;由于神经网络上一层的数据流入下一层时会经过激活函数的非线性处理,这里就引入了激活与非激活的概念,为模型能够路径测试提供了理论上的依据。


3.根据权利要求1所述的一种基于路径状态的神经网络测试充分性评估方法,其特征在于,在步骤2)中,完整提出了路径测试的概念,给定固定的路径长度len,给出了获取路径的手段:通过对神经网络模型进行分层处理,获取测试数据在模型运行中其隐藏层的神经元激活数据,并对数据根据给定的路径,进行...

【专利技术属性】
技术研发人员:陈振宇王栋王子元陈炎杉钱航
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1