CN116467159A - 一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法 - Google Patents
一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法 Download PDFInfo
- Publication number
- CN116467159A CN116467159A CN202211614351.2A CN202211614351A CN116467159A CN 116467159 A CN116467159 A CN 116467159A CN 202211614351 A CN202211614351 A CN 202211614351A CN 116467159 A CN116467159 A CN 116467159A
- Authority
- CN
- China
- Prior art keywords
- model
- neuron
- layer
- neurons
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 210000002569 neuron Anatomy 0.000 title claims abstract description 184
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 37
- 238000012360 testing method Methods 0.000 claims abstract description 65
- 238000011156 evaluation Methods 0.000 claims abstract description 43
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 238000005516 engineering process Methods 0.000 claims abstract description 12
- 238000011076 safety test Methods 0.000 claims abstract description 7
- 238000003780 insertion Methods 0.000 claims abstract description 4
- 230000037431 insertion Effects 0.000 claims abstract description 4
- 238000011176 pooling Methods 0.000 claims description 73
- 230000006870 function Effects 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000003709 image segmentation Methods 0.000 abstract description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 241001074639 Eucalyptus albens Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于主模态神经元覆盖的包括图像分类、目标检测和图像分割在内的图像识别领域卷积神经网络安全性测评方法,包括步骤一:解析图像识别领域卷积神经网络模型结构;步骤二:设置模型层级插桩点;步骤三:利用模型安全性测评所用测试集进行模型安全性测试;步骤四:覆盖率驱动的模型安全性测试样本生成;步骤五:扩充后的模型安全性测评测试集进行模型安全性测评,获得更为充分的模型安全性测评结果。本发明提出的覆盖率指标粒度更细,指标理解和计算简单,更容易实现。使用主模态神经元覆盖率作为模型安全性测评充分性的度量方式,测出模型在面对现实情境中扰动攻击时的安全性问题。覆盖率驱动的模型测试样本生成技术可以采用多种攻击手段进行样本生成,灵活性强。
Description
技术领域
本发明属于人工智能模型测试评估领域,涉及一种图像卷积神经网络模型安全性测评方法。
背景技术
DeepXplore(Pei K,Cao Y,Yang J,et al.DEEPXPLORE:Automated WhiteboxTesting of Deep Learning Systems[J].Mobile Computing and CommunicationsReview,2018,22(3):36-38)是人工智能模型测试评估领域首个面向经典人工神经网络的白盒测试框架,首次提出了神经元覆盖率的概念。对于神经元覆盖率,DeepXplore给出的定义是被激活的神经元在模型所有神经元中的占比。一个神经元输出通过激活函数后,如果输出值超过一定阈值,即可被视为激活。一般认为,神经元覆盖率与测试充分性成正相关。DeepXplore使用多个类似的DNN进行交叉对比,辅助生成测试用例,在此过程中尽可能地提高神经元覆盖率,以提升模型评估的充分性,获得更可信的模型评估结果。
但是DeepXplore需要依赖多个相似的DNN模型,比较难以满足,并且其判定覆盖/激活的标准过于粗糙,使用简单的对抗样本即可实现接近100%的覆盖率,因此需要进一步研究更细粒度的覆盖准则。另外,DeepXplore针对的是图像分类人工神经网络,即全连接神经网络,而非目前图像分类、目标检测、图像分割等图像识别领域最为常用的卷积神经网络,因此在目前图像识别领域人工智能模型测试领域使用场景不多。
DeepGauge(Deepgauge:Multi-granularity testing criteria for deeplearning systems)中提出了针对人工神经网络的多粒度测试评估标准,包括神经元级覆盖率准则、层级覆盖率准则。层级覆盖率准则是衡量每层中多少神经元是最活跃的,并将覆盖定义为每层最活跃的若干神经元在神经网络总神经元中的占比。该层级覆盖率准则在DeepGauge中称之为Top-k准则。Top-k准则的具体定义如下:
对于给定的输入x和同一层的两个不同神经元n1和n2,如果out(n1,x)>out(n2,x),说明神经元n1更为活跃。(out(n,x)表示当x输入到神经网络模型后,神经元n的输出值)用topk(x,i)表示当x输入模型后第i层最活跃的k个神经元,Top-k神经元覆盖率表示在输入集合T激励下,每一层最活跃的k个神经元在网络模型总神经元中的所占比例,公式如下所示:
其中,l为神经网络模型的总层数,|N|表示神经网络模型的总神经元数。
但是DeepGauge中给出的Top-k覆盖率计算只选取了k=1,2,3这几种情况。而卷积神经网络通常拥有百万级别,甚至更多的神经元,若使覆盖率达到很高的水平,需要海量的样本,在实际条件下很难满足。而DeepGauge中提出的神经元级覆盖准则又依赖于对神经元主要输出范围边界的预先设置,该输出范围边界存在一定的获取难度和误差,因此实用性不强。
目前包括图像分类、目标检测与图像分割在内的图像识别卷积神经网络模型安全性测评面临“不充分、不准确”的问题,忽视了实际应用中模型容易受到各种攻击和干扰的问题,导致模型实际表现与实验数据大相径庭,限制了模型在安全攸关场景下的应用以及人工智能市场的继续增长。本发明旨在在模型安全性测评中融入对测试充分性的考量,以神经元覆盖率为测试充分性考量,完善卷积神经网络安全性测评技术,有助于真实掌握模型表现,为模型开发和应用提供重要参考,解决真实环境下人工智能模型存在的安全问题。
发明内容
为了解决上述技术问题,本发明提出了适合包括图像分类、目标检测和图像分割在内的图像卷积神经网络模型的主模态神经元覆盖率计算方法用于衡量模型测试的充分性,进行更为充分完备的图像卷积神经网络模型安全性测评,获得更加符合实际应用场景的模型安全性测评结果。
本发明具体采用以下技术方案:
一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法,包括如下步骤:
步骤一:解析图像卷积神经网络模型结构;在模型首次运行过程中,
利用深度优先遍历技术自上而下地遍历模型各层级,保存各层级的名称和类型,以及卷积层输出特征图尺寸、激活函数和最大池化层参数信息;
步骤二:设置模型层级插桩点;在利用深度优先遍历技术遍历检测模型层级过程中,对卷积层和最大池化层使用钩子函数的形式设置插桩点,在钩子函数中添加保存卷积层和最大池化层的输入/输出特征图数据的代码;
步骤三:利用模型安全性测评所用测试集进行模型安全性测试;将模型安全性测评所用的测试集逐批次输入模型中,获取模型输出结果,在此过程中逐批次地通过所述步骤二设置的插桩点获取当前批次图像数据输入模型后卷积层和最大池化层的输入/输出特征图数据,由此计算在当前批次数据输入到模
型后的模型主模态神经元覆盖率。当该原始测试集逐批次全部输入到模型后,获得
在原始测试集输入下的模型主模态神经元覆盖率;
步骤四:覆盖率驱动的模型安全性测试样本生成;以模型安全性测评原始测试集中的图片为种子数据,对图片进行扰动攻击或其他攻击,生成满足图片
差异性要求以及具备更高主模态神经元覆盖率的样本,扩充模型安全性测评测试集;
步骤五:扩充后的模型安全性测评测试集进行模型安全性测评,获得更为充分的模型安全性测评结果。
优选的,所述步骤一中,所述激活函数和最大池化层参数信息具体指最大池化层的池化核大小、池化核移动步长、池化核输入特征图每条边补充0的数量、池化核元素间隔大小,以及每个卷积层后的激活函数类型。
优选的,所述步骤二的具体做法是,在模型初次运行时,从模型入口开始,运用深度优先遍历技术顺序向下遍历检测模型层级类型和名称,并进行编号;若识别到所述层属于容器类型的层,即所述容器类型的层为多个层构成的有序/无序容器,则进入该容器内部进行层级遍历检测直至没有下一层,否则继续向下遍历检测层级;在遍历过程,执行插桩操作,为每一层绑定钩子函数,用于在模型输入数据后获取各层级的输入/输出特征图数据。
优选的,步骤三中,具体做法是获取该图像卷积神经网络模型安全性测评所用的图片测试集,按照每一批次N幅图片输入到模型中,获取模型输出结果;在过程中,每一层绑定的钩子函数会保存当前批次模型各层级输入/输出特征图数据到临时变量区域,用于主模态神经元覆盖率的计算;所述主模态神经元覆盖率计算的具体步骤是:
步骤3.1:获得当前批次数据输入模型后卷积层新被覆盖的主模态神经元;对于层级序号为i的卷积层,其输出特征图为尺寸为的四维张量FeaturesOuti,其中N是指每批次图片的数量,/>指序号为i的卷积层输出特征图通道数,指序号为i的卷积层输出特征图高度,/>指序号为i的卷积层输出特征图宽度,该输出特征图的每个数据代表一个神经元,共有N×/>个神经元;
如果根据所述步骤一所获得的信息显示该卷积层i后续存在激活函数,用符号σi(·)表示,则在获取卷积层被覆盖神经元需要使用FeaturesOuti经过该激活函数σi(·)处理后的特征图数据,即FraturesOuti=σi(FeaturesOuti);
对FeaturesOuti的第一个维度求和,获得尺寸为的三维张量,即将/>个神经元通过求和运算合并为/> 个神经元;继续调整张量形状,使其变成尺寸为/>的二维张量,神经元数量仍然为获得该二维张量通道/> 的神经元数据总和sumi,j;接着获取在当前批次输入数据下的该通道j中前k大个神经元,其满足如下所示公式:
式中,表示序号为i的卷积层的通道j的前k大神经元的数据总和;ratio为占比系数,可以取0%-100%范围内的数据,所述范围不包含0%,则计算获得该通道j中前k大个神经元为“被覆盖的神经元”,起主模态作用,抛弃剩余对模型分类、检测与分割任务起干扰作用的神经元,形成卷积层i通道j被覆盖神经元集合CovNeuronSeti,j;所述集合中保存的是被覆盖神经元的序号;
步骤3.2:获得当前批次数据输入模型后最大池化层新被覆盖的主模态神经元;根据所述步骤一中获得最大池化层i的信息对所述步骤二所获的最大池化层i的输入特征图FeaturesIni重新进行最大池化运算,获得最大池化层i各通道被最大池化核选中的神经元序号,构成被覆盖神经元集合CovNeuronSeti,j,这些被选中神经元为主模态神经元,未被选中的神经元对模型分类、检测与分割任务起干扰作用,不纳入被覆盖神经元集合;
步骤3.3:合并当前批次被覆盖神经元集合至全局被覆盖神经元集合将所述步骤3.1-3.2获取的当前批次输入数据下的被覆盖神经元集合,合并至前面所有批次数据输入模型后的全局被覆盖神经元集合/>即/> 集合中不保留重复的神经元序号;当第一批次数据尚未输入模型时,模型全局被覆盖神经元的集合为空;
步骤3.4:获取各卷积层和最大池化层最新的主模态神经元覆盖率计算结果;
依据如下所示的公式计算当前批次数据输入模型后卷积层i通道j的主模态神经元覆盖率:
式中,len(·)是获取集合长度的函数;
在此基础上对卷积层各通道的主模态神经元覆盖率进行平均运算,获得卷积层i的平均主模态神经元覆盖率,如下式所示:
依据如下所示的公式计算最大池化层i通道j的主模态神经元覆盖率:
式中,为最大池化层i的输入特征图高度,/>为最大池化层i的输入特征图宽度。
在此基础上对最大池化层各通道主模态神经元覆盖率进行平均计算,获得最大池化层i的平均主模态神经元覆盖率,如下所示:
式中,为最大池化层i输入特征图的通道数;
步骤3.5:获取卷积神经网络模型整体主模态神经元覆盖率;对该卷积神经网络所有卷积层和最大池化层的主模态神经元覆盖率进行平均运算,获得模型整体的主模态神经元覆盖率Cov,即其中n为模型卷积层和最大池化层的数量总和。
优选的,步骤四具体操作是:
步骤4.1:利用前面步骤三所使用的原始测试集所有批次的图片数据作为种子数据,构成种子数据序列S;
步骤4.2:弹出种子数据序列末尾数据,作为本次样本生成操作的原始种子数据x;
步骤4.3:随机选取某一扰动攻击手段或其他攻击手段对x进行攻击生成新样本x′;
步骤4.4:计算x′与x图片像素点间的平均L2距离以及在x′输入到模型后的模型主模态神经元覆盖率,如果平均L2距离超过设定的最大值或覆盖率没有上升,说明该新批次样本无效,尝试次数加1,如果未超过最大尝试次数Max_iter,返回步骤4.3继续使用x进行扰动变异,否则返回步骤4.2;如果平均L2距离小于设定的最大值且覆盖率上升,说明新样本x′为有效样本,将其添加到序列S末尾,返回至步骤4.2;
步骤4.5当序列S为空后,保存步骤4.4中生成的有效样本,并与原始的测试集共同构成扩充后的安全性测评测试集,用于模型安全性测评。
本发明具有如下优点与积极效果:
1、本发明为方便计算图像卷积神经网络模型主模态神经元覆盖率,提出基于深度优先遍历和Hook函数的模型层级信息获取和动态插桩方法,无需对模型原始层级结构和代码进行修改,无需人为干预,更适合大规模模型卷积神经网络测试任务。
2、基于对卷积神经网络模型不同层级结构的分析考虑,提出了适合包括图像分类、目标检测与图像分割的图像卷积神经网络的主模态神经元覆盖率计算准则和方法。本发明提出的覆盖率指标粒度比DeepXplore中的神经元覆盖更细,不会像DeepXplore几个批次的样本就能轻松实现100%的覆盖率。比DeepCover和DeepCT中的符号-符号覆盖、距离-符号覆盖、符号-值覆盖、距离-值覆盖、t-way组合稀疏覆盖、t-way组合密集覆盖、(p,t)-完整性覆盖等指标理解和计算简单,更容易实现。
3、使用主模态神经元覆盖率作为模型安全性测评充分性的度量方式,由此建立更为充分完备的模型安全性测评方法和流程,由此可以测出模型在面对现实使用情境中遭受扰动攻击时的安全性问题。
4、本发明提出的覆盖率驱动的模型测试样本生成技术可以灵活采用多种攻击手段进行样本生成,不限制具体的攻击手段,灵活性强。
附图说明
本发明有如下附图:
图1为本发明所述的方法流程图;
图2为卷积神经网络模型主模态神经元覆盖率计算流程图;
图3为覆盖率驱动的模型测试样本生成流程图;
图4为原始测试集和新生成的样本输入到模型后,模型的主模态神经元覆盖率情况;
图5为新生成的样本与原始种子图片像素间的平均L2距离情况;
图6为SSD300模型在原始安全性测评测试集下、生成的新样本下和扩充后的测试集下的模型指标表现;
图7为实验中采用的扰动攻击方式以及参数说明;
图8为实验中扰动攻击参数设置情况;
图9为实验中其他参数设置情况;
图10为几种AI模型测试方法对比表。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例,这并不构成对本发明的限制。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明提出一种基于主模态神经元覆盖的图像卷积神经网络安全性测评方法,该方法的具体步骤如下:
步骤一:解析图像卷积神经网络模型结构。在模型首次运行过程中,利用深度优先遍历技术自上而下地遍历模型各层级,保存各层级的名称和类型,以及卷积层输出特征图尺寸、激活函数和最大池化层参数信息。
步骤二:设置模型层级插桩点。在利用深度优先遍历技术遍历检测模型层级过程中,对卷积层和最大池化层使用钩子函数的形式设置插桩点,在钩子函数中添加保存卷积层和最大池化层的输入/输出特征图数据的代码。
步骤三:利用模型安全性测评所用测试集进行模型安全性测试。将模型安全性测评所用的测试集逐批次输入模型中,获取模型输出结果,在此过程中逐批次地通过步骤二设置的插桩点获取当前批次图像数据输入模型后卷积层和最大池化层的输入/输出特征图数据,由此计算在当前批次数据输入到模型后的模型主模态神经元覆盖率。当该原始测试集逐批次全部输入到模型后,获得在原始测试集输入下的模型主模态神经元覆盖率。
步骤四:覆盖率驱动的模型安全性测试样本生成。以模型安全性测评原始测试集中的图片为种子数据,对图片进行扰动攻击或其他攻击,生成满足图片差异性要求以及具备更高主模态神经元覆盖率的样本,扩充模型安全性测评测试集。
步骤五:扩充后的模型安全性测评测试集进行模型安全性测评,获得更为充分的模型安全性测评结果。
通过上述步骤,以原始的模型安全性测评测试集为种子数据,采用一系列图像扰动攻击手段,生成了具备更高主模态神经元覆盖率的测试集,对图像识别卷积神经网络模型进行更为充分完备的安全性测评。
在上述步骤一中,“激活函数、最大池化层参数信息”具体指最大池化层的池化核大小、池化核移动步长、池化核输入特征图每条边补充0的数量、池化核元素间隔大小,以及每个卷积层后的激活函数类型。
步骤二的具体做法是在模型初次运行时,从模型入口开始,运用深度优先遍历技术顺序向下遍历检测模型层级类型和名称,并进行编号。如果识别到该层属于容器类型的层(即多个层构成的有序/无序容器),则进入该容器内部进行层级遍历检测直至没有下一层,否则继续向下遍历检测层级。在遍历过程,执行插桩操作,为每一层绑定钩子函数,用于在模型输入数据后获取各层级的输入/输出特征图数据。
步骤三中,具体做法是获取该图像卷积神经网络模型安全性测评所用的图片测试集,按照每一批次N幅图片输入到模型中,获取模型输出结果。在此过程中,每一层绑定的钩子函数会保存当前批次模型各层级输入/输出特征图数据到临时变量区域,用于主模态神经元覆盖率的计算。
主模态神经元覆盖率计算的具体步骤是:(如附图2)
步骤3.1获得当前批次数据输入模型后卷积层新被覆盖的主模态神经元。对于层级序号为i的卷积层,其输出特征图为尺寸为的四维张量FeaturesOuti,其中N是指每批次图片的数量,/>指序号为i的卷积层输出特征图通道数,指序号为i的卷积层输出特征图高度,/>指序号为i的卷积层输出特征图宽度,该输出特征图的每个数据代表一个神经元,共有/> 个神经元。
如果根据步骤一所获得的信息显示该卷积层i后续存在激活函数,用符号σi(·)表示,则在获取卷积层被覆盖神经元需要使用FeaturesOuti经过该激活函数σi(·)处理后的特征图数据,即FeaturesOuti=σi(FeaturesOuti),
对FeaturesOuti的第一个维度求和,获得尺寸为的三维张量,即将/>个神经元通过求和运算合并为/> 个神经元。继续调整张量形状,使其变成尺寸为/>的二维张量,神经元数量仍然为获得该二维张量通道/> 的神经元数据总和sumi,j。接着获取在当前批次输入数据下的该通道j中前k大个神经元,其满足如下所示公式:
式中,表示序号为i的卷积层的通道j的前k大神经元的数据总和。ratio为占比系数,可以取0%-100%范围内的数据(不包含0%)。则计算获得该通道j中前k大个神经元为“被覆盖的神经元”,起主模态作用,抛弃剩余对模型分类、检测与分割任务起干扰作用的神经元,形成卷积层i通道j被覆盖神经元集合CovNeuronSeti,j,集合中保存的是被覆盖神经元的序号。
步骤3.2:获得当前批次数据输入模型后最大池化层新被覆盖的主模态神经元。根据步骤一中获得最大池化层i的信息对步骤二所获的最大池化层i的输入特征图FeaturesIni重新进行最大池化运算,获得最大池化层i各通道被最大池化核选中的神经元序号,构成被覆盖神经元集合CovNeuronSeti,j。这些被选中神经元为主模态神经元,未被选中的神经元对模型分类、检测与分割任务起干扰作用,不纳入被覆盖神经元集合。
步骤3.3:合并当前批次被覆盖神经元集合至全局被覆盖神经元集合将步骤3.1-3.2获取的当前批次输入数据下的被覆盖神经元集合,合并至前面所有批次数据输入模型后的全局被覆盖神经元集合/>即 集合中不保留重复的神经元序号。注意,当第一批次数据尚未输入模型时,模型全局被覆盖神经元的集合为空。
步骤3.4:获取各卷积层和最大池化层最新的主模态神经元覆盖率计算结果。
依据如下所示的公式计算当前批次数据输入模型后卷积层i通道j的主模态神经元覆盖率:
式中,len(·)是获取集合长度的函数。
在此基础上对卷积层各通道的主模态神经元覆盖率进行平均运算,获得卷积层i的平均主模态神经元覆盖率,如下式所示:
依据如下所示的公式计算最大池化层i通道j的主模态神经元覆盖率:
式中,为最大池化层i的输入特征图高度,/>为最大池化层i的输入特征图宽度。
在此基础上对最大池化层各通道主模态神经元覆盖率进行平均计算,获得最大池化层i的平均主模态神经元覆盖率,如下所示:
式中,为最大池化层i输入特征图的通道数
步骤3.5:获取卷积神经网络模型整体主模态神经元覆盖率。对该卷积神经网络所有卷积层和最大池化层的主模态神经元覆盖率进行平均运算,获得模型整体的主模态神经元覆盖率Cov。即其中n为模型卷积层和最大池化层的数量总和。
步骤四的具体操作是:(如附图3)
步骤4.1利用前面步骤三所使用的原始测试集所有批次的图片数据作为种子数据,构成批次图片序列作为种子数据序列S。
步骤4.2弹出种子数据序列末尾数据,作为本次样本生成操作的原始种子数据x。
步骤4.3随机选取某一扰动攻击手段或其他攻击手段对x进行攻击生成新样本x′。
步骤4.4之后计算x′与x图片像素点间的平均L2距离以及在x′输入到模型后的模型主模态神经元覆盖率,如果平均L2距离超过设定的最大值或覆盖率没有上升,说明该新批次样本无效,尝试次数加1,如果未超过最大尝试次数Max_iter,返回步骤4.3继续使用x进行扰动变异,否则返回步骤4.2。如果平均L2距离小于设定的最大值且覆盖率上升,说明新样本x′为有效样本,将其添加到序列S末尾,返回至步骤4.2。
步骤4.5当序列S为空后,保存步骤4.4中生成的有效样本,并与原始的测试集共同构成扩充后的安全性测评测试集,用于模型安全性测评,实现更为充分完备的安全性测评。
以SSD300模型和VOC2007数据集为例,介绍本发明的实际效果。
图7给出实验中采用的扰动攻击方式以及参数说明。
图8给出实验中扰动攻击参数设置情况。
图9给出实验中其他参数设置情况。
图10给出几种AI模型测试方法对比表.
附图4给出原始测试集和新生成的样本输入到模型后,模型的主模态神经元覆盖率情况,
附图5给出新生成的样本与原始种子图片像素间的平均L2距离情况。可以看出平均像素L2距离仅为0.017,差异极小,人类肉眼难以分辨,不会对图像识别造成影响。
附图6给出SSD300模型在原始安全性测评测试集下、生成的新样本下和扩充后的测试集下的模型指标表现,用于衡量模型在遭受扰动攻击下的安全性表现。可以看出在扩充集,SSD300模型的精度出现明显下降,SSD300模型的mAP值出现明显下降,降幅超过4%,说明该模型在抵御扰动攻击方面的安全性是薄弱的。
本发明为方便计算图像卷积神经网络模型主模态神经元覆盖率,提出基于深度优先遍历和Hook函数的模型层级信息获取和动态插桩方法,无需对模型原始层级结构和代码进行修改,最大限度减少人为干预,更适合大规模模型卷积神经网络测试任务。
本发明从卷积神经网络的结构特点和层级功能作用的角度出发,制定了专门适用于图像分类、目标检测与图像分割卷积神经网络的主模态神经元覆盖率计算准则,在卷积层主模态神经元覆盖率计算中,提出的基于神经元输出和占比的主模态神经元覆盖率计算方式,是在综合考虑卷积层作用意义和DeepGauge、DeepCon等基于人工神经网络模型的方式的劣势上提出的,其更贴近人类在图像分类、目标检测和图像分割等图像识别任务上的处理方式,更适合图像卷积神经网络模型测试。
在最大池化层主模态神经元覆盖率的计算中,考虑到最大池化核对输入特征图数据(神经元)的“挑选”作用,将被选中的神经元视为被覆盖的主模态神经元,在其他的神经元覆盖率研究工作中并未看到有类似的技术方案。
本发明基于测试充分性角度,以主模态神经元覆盖率为充分性度量指标,生成更高覆盖率的测试样本集进行安全性测评,获得更为实际的结果,整体思路尤为关键。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。本文背景技术部分公开的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
Claims (5)
1.一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法,其特征在于,包括如下步骤:
步骤一:解析图像卷积神经网络模型结构;在模型首次运行过程中,利用深度优先遍历技术自上而下地遍历模型各层级,保存各层级的名称和类型,以及卷积层输出特征图尺寸、激活函数和最大池化层参数信息;
步骤二:设置模型层级插桩点;在利用深度优先遍历技术遍历检测模型层级过程中,对卷积层和最大池化层使用钩子函数的形式设置插桩点,在钩子函数中添加保存卷积层和最大池化层的输入/输出特征图数据的代码;
步骤三:利用模型安全性测评所用测试集进行模型安全性测试;将模型安全性测评所用的测试集逐批次输入模型中,获取模型输出结果,在此过程中逐批次地通过所述步骤二设置的插桩点获取当前批次图像数据输入模型后卷积层和最大池化层的输入/输出特征图数据,由此计算在当前批次数据输入到模型后的模型主模态神经元覆盖率;当原始测试集逐批次全部输入到模型后,获得在原始测试集输入下的模型主模态神经元覆盖率;
步骤四:覆盖率驱动的模型安全性测试样本生成;以模型安全性测评原始测试集中的图片为种子数据,对图片进行扰动攻击,生成满足图片差异性要求以及具备更高主模态神经元覆盖率的样本,扩充模型安全性测评测试集;
步骤五:扩充后的模型安全性测评测试集进行模型安全性测评,获得更为充分的模型安全性测评结果。
2.如权利要求1所述的一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法,其特征在于,所述步骤一中,所述激活函数和最大池化层参数信息具体指最大池化层的池化核大小、池化核移动步长、池化核输入特征图每条边补充0的数量、池化核元素间隔大小,以及每个卷积层后的激活函数类型。
3.如权利要求1所述的一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法,其特征在于,所述步骤二的具体做法是,在模型初次运行时,从模型入口开始,运用深度优先遍历技术顺序向下遍历检测模型层级类型和名称,并进行编号;若识别到层属于容器类型的层,即所述容器类型的层为多个层构成的有序/无序容器,则进入该容器内部进行层级遍历检测直至没有下一层,否则继续向下遍历检测层级;在遍历过程,执行插桩操作,为每一层绑定钩子函数,用于在模型输入数据后获取各层级的输入/输出特征图数据。
4.如权利要求1所述的一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法,其特征在于,步骤三中,具体做法是获取该图像卷积神经网络模型安全性测评所用的图片测试集,按照每一批次N幅图片输入到模型中,获取模型输出结果;在过程中,每一层绑定的钩子函数会保存当前批次模型各层级输入/输出特征图数据到临时变量区域,用于神经元覆盖率的计算;所述主模态神经元覆盖率计算的具体步骤是:
步骤3.1:获得当前批次数据输入模型后卷积层新被覆盖的主模态神经元;对于层级序号为i的卷积层,其输出特征图为尺寸为的四维张量FeaturesOuti,其中N是指每批次图片的数量,/>指序号为i的卷积层输出特征图通道数,/>指序号为i的卷积层输出特征图高度,/>指序号为i的卷积层输出特征图宽度,该输出特征图的每个数据代表一个神经元,共有/>个神经元;
如果根据所述步骤一所获得的信息显示该卷积层i后续存在激活函数,用符号σi(·)表示,则在获取卷积层被覆盖神经元需要使用FeaturesOuti经过该激活函数σi(·)处理后的特征图数据,即FeaturesOuti=σi(FeaturesOuti);
对FeaturesOuti的第一个维度求和,获得尺寸为的三维张量,即将个神经元通过求和运算合并为/> 个神经元;继续调整张量形状,使其变成尺寸为/>的二维张量,神经元数量仍然为获得该二维张量通道j/>的神经元数据总和sumi,j;接着获取在当前批次输入数据下的该通道j中前k大个神经元,其满足如下所示公式:
式中,表示序号为i的卷积层的通道j的前k大神经元的数据总和;ratio为占比系数,取0%-100%范围内的数据,所述范围不包含0%,则计算获得的该通道j中前k大个神经元为“被覆盖的神经元”,起主模态作用,抛弃剩余对模型分类、检测与分割任务起干扰作用的神经元,形成卷积层i通道j被覆盖神经元集合CovNeuronSeti,j;所述集合中保存的是被覆盖神经元的序号;
步骤3.2:获得当前批次数据输入模型后最大池化层新被覆盖的主模态神经元;
根据所述步骤一中获得最大池化层i的信息对所述步骤二所获的最大池化层i的输入特征图FeaturesIni重新进行最大池化运算,获得最大池化层i各通道被最大池化核选中的神经元序号,构成被覆盖神经元集合CovNeuronSeti,j,这些被选中神经元为主模态神经元,未被选中的神经元对模型分类、检测与分割任务起干扰作用,不纳入被覆盖神经元集合;
步骤3.3:合并当前批次被覆盖神经元集合至全局被覆盖神经元集合将所述步骤3.1至步骤3.2获取的当前批次输入数据下的被覆盖神经元集合,合并至前面所有批次数据输入模型后的全局被覆盖神经元集合即/> 集合中不保留重复的神经元序号;当第一批次数据尚未输入模型时,模型全局被覆盖神经元的集合/>为空;
步骤3.4:获取各卷积层和最大池化层最新的主模态神经元覆盖率计算结果;
依据如下所示的公式计算当前批次数据输入模型后卷积层i通道j的主模态神经元覆盖率:
式中,len(·)是获取集合长度的函数;
在此基础上对卷积层各通道的主模态神经元覆盖率进行平均运算,获得卷积层i的平均主模态神经元覆盖率,如下式所示:
依据如下所示的公式计算最大池化层i通道j的主模态神经元覆盖率:
式中,为最大池化层i的输入特征图高度,/>为最大池化层i的输入特征图宽度;
在此基础上对最大池化层各通道主模态神经元覆盖率进行平均计算,获得最大池化层i的平均主模态神经元覆盖率,如下所示:
式中,为最大池化层i输入特征图的通道数;
步骤3.5:获取卷积神经网络模型整体主模态神经元覆盖率;对该卷积神经网络所有卷积层和最大池化层的主模态神经元覆盖率进行平均运算,获得模型整体的主模态神经元覆盖率Cov,即其中n为模型卷积层和最大池化层的数量总和,对于模型中的其余类型层级,在计算主模态神经元覆盖率的过程中不予考虑。
5.如权利要求1所述的一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法,其特征在于,步骤四具体操作是:
步骤4.1:利用前面步骤三所使用的原始测试集所有批次的图片数据作为种子数据,构成种子数据序列S;
步骤4.2:弹出种子数据序列末尾数据,作为本次样本生成操作的原始种子图片数据x;
步骤4.3:随机选取某一扰动攻击手段对x进行攻击生成新样本x′;
步骤4.4:计算x′与x图片像素点间的平均L2距离以及在x′输入到模型后的模型主模态神经元覆盖率,如果平均L2距离超过设定的最大值或覆盖率没有上升,说明新批次样本无效,尝试次数加1,如果未超过最大尝试次数Max_iter,返回步骤4.3继续使用x进行扰动变异,否则返回步骤4.2;如果平均L2距离小于设定的最大值且覆盖率上升,说明新样本x′为有效样本,将其添加到序列S末尾,返回至步骤4.2;
步骤4.5当序列S为空后,保存步骤4.4中生成的有效样本,并与原始的测试集共同构成扩充后的安全性测评测试集,用于模型安全性测评。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211614351.2A CN116467159A (zh) | 2022-12-15 | 2022-12-15 | 一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211614351.2A CN116467159A (zh) | 2022-12-15 | 2022-12-15 | 一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467159A true CN116467159A (zh) | 2023-07-21 |
Family
ID=87172337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211614351.2A Pending CN116467159A (zh) | 2022-12-15 | 2022-12-15 | 一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467159A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493140A (zh) * | 2023-11-07 | 2024-02-02 | 上海安般信息科技有限公司 | 一种针对深度学习模型的评测系统 |
-
2022
- 2022-12-15 CN CN202211614351.2A patent/CN116467159A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493140A (zh) * | 2023-11-07 | 2024-02-02 | 上海安般信息科技有限公司 | 一种针对深度学习模型的评测系统 |
CN117493140B (zh) * | 2023-11-07 | 2024-03-22 | 上海安般信息科技有限公司 | 一种针对深度学习模型的评测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378844B (zh) | 基于循环多尺度生成对抗网络的图像盲去运动模糊方法 | |
CN112165464B (zh) | 一种基于深度学习的工控混合入侵检测方法 | |
Williams et al. | Advanced image classification using wavelets and convolutional neural networks | |
CN103020978B (zh) | 结合多阈值分割与模糊聚类的sar图像变化检测方法 | |
CN111753985B (zh) | 基于神经元覆盖率的图像深度学习模型测试方法与装置 | |
CN108764006B (zh) | 一种基于深度强化学习的sar图像目标检测方法 | |
CN104484681B (zh) | 基于空间信息和集成学习的高光谱遥感影像分类方法 | |
CN106250931A (zh) | 一种基于随机卷积神经网络的高分辨率图像场景分类方法 | |
CN110097103A (zh) | 基于生成对抗网络的半监督图像分类方法 | |
CN108846826A (zh) | 物体检测方法、装置、图像处理设备及存储介质 | |
CN109002848B (zh) | 一种基于特征映射神经网络的弱小目标检测方法 | |
CN108734171A (zh) | 一种深度协同稀疏编码网络的合成孔径雷达遥感图像海洋浮筏识别方法 | |
CN103294792B (zh) | 基于语义信息和极化分解的极化sar地物分类方法 | |
CN108171119B (zh) | 基于残差网络的sar图像变化检测方法 | |
CN108921877A (zh) | 一种基于宽度学习的长期目标跟踪算法 | |
CN114595732B (zh) | 基于深度聚类的雷达辐射源分选方法 | |
CN104182985A (zh) | 遥感图像变化检测方法 | |
CN101980298A (zh) | 基于多智能体遗传聚类算法的图像分割方法 | |
CN116467159A (zh) | 一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法 | |
CN113160146B (zh) | 一种基于图神经网络的变化检测方法 | |
CN105809200A (zh) | 一种生物启发式自主抽取图像语义信息的方法及装置 | |
Nemmour et al. | Neural network combination by fuzzy integral for robust change detection in remotely sensed imagery | |
CN111666999A (zh) | 一种遥感图像的分类方法 | |
CN113592829B (zh) | 基于分割重组的深度学习泥沙颗粒识别方法及装置 | |
CN116304561A (zh) | 基于深度迁移学习的海洋目标磁异常信号去噪和探测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |