CN112766315B - 一种用于测试人工智能模型鲁棒性的方法和系统 - Google Patents
一种用于测试人工智能模型鲁棒性的方法和系统 Download PDFInfo
- Publication number
- CN112766315B CN112766315B CN202011630126.9A CN202011630126A CN112766315B CN 112766315 B CN112766315 B CN 112766315B CN 202011630126 A CN202011630126 A CN 202011630126A CN 112766315 B CN112766315 B CN 112766315B
- Authority
- CN
- China
- Prior art keywords
- layer
- output
- size
- convolution
- model
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013473 artificial intelligence Methods 0.000 title claims description 58
- 238000012360 testing method Methods 0.000 title claims description 40
- 238000006467 substitution reaction Methods 0.000 claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000011176 pooling Methods 0.000 claims description 108
- 230000004913 activation Effects 0.000 claims description 49
- 238000005070 sampling Methods 0.000 claims description 37
- 238000010586 diagram Methods 0.000 claims description 18
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000013100 final test Methods 0.000 claims description 6
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 60
- 235000000332 black box Nutrition 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明属于人工智能模型鲁棒性判定技术领域,并公开了一种在不知人工智能模型以及训练数据集情况下能有效地对未知模型进行攻击方法,包括以下步骤:原始数据集的浅层共享特征的捕获,并根据输入条件生成相应的目标样本。待测试人工智能模型用于预测目标样本的输出,该输出和正式的标签进行比对得到相应损失。同时生成的目标样本用于训练替代模型,并得到相应的输出,比较同一个样本在两个不同模型情况下的输出,得到比对损失,用于确保替代模型很好的学习待测试人工智能模型的全部功能。之后用一些成熟的攻击算法去攻击替代模型得到相应的对抗样本,并将这些对抗样本用于攻击未知的人工智能模型,进而判定人工智能模型的鲁棒性。
Description
技术领域
本发明属于人工智能和机器学习技术领域,更具体地,涉及一种用于测试人工智能模型鲁棒性的方法和系统。
背景技术
人工智能模型广泛应用到本发明日常生活中,例如,人脸识别、语音识别、目标跟踪、图像分割等等。虽然深度神经网络取得巨大的成功,但是当前研究已经证明它们易受到攻击,导致最终系统预测出错,造成严重后果。因此如何评价和提升人工智能模型的鲁棒性具有重要意义。
目前对人工智能模型鲁棒性的测试方案包括基于白盒系统和基于黑盒系统的两种实现方式,即攻击白盒或者黑盒系统,统计攻击成功率,从而判定系统的鲁棒性。对于白盒模型而言,测试者对目标模型了如指掌,进而对输入样本注入噪音或者模型本身发动攻击,通过输出结果来判别模型鲁棒性;而在黑盒应用场景中,测试者要么需要构建黑盒攻击算法,然后利用该算法去攻击黑盒系统,进而测试黑盒系统的鲁棒性;要么构建与黑盒模型接近的替代模型,进而调用现有成熟的基于白盒系统的测试方案得到最终的测试结果。
然而,现有基于黑盒实现网络模型鲁棒性测试的方法仍然存在一些不可忽略的缺陷:第一、该方法的原始训练数据集不为人知,需要构建特殊算法去模仿接近黑盒系统的真实数据集,但这种算法的设计难度相当高,费时费力;第二、黑盒攻击算法的攻击成功率相对较低,不能较好的判断黑盒模型的鲁棒性;第三、由于用于训练替代模型的原始训练数据集未知、或者只部分为人所知,导致该方法构建的替代模型并不能完整地模仿黑盒模型的功能,这会影响最终的鲁棒性测试结果准确度。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种用于测试人工智能模型鲁棒性的方法和系统,其目的在于,解决现有基于黑盒实现网络模型鲁棒性测试的方法由于需要构建复杂特殊算法去模仿接近黑盒系统的真实数据集,但这种算法的设计难度相当高、费时费力的技术问题,以及黑盒攻击算法的攻击成功率相对较低,不能较好的判断黑盒模型的鲁棒性的技术问题,以及由于用于训练替代模型的原始训练数据集未知、或者只部分为人所知,导致该方法构建的替代模型并不能完整地模仿黑盒模型的功能,并会影响最终的鲁棒性测试结果准确度的技术问题,
为实现上述目的,按照本发明的一个方面,提供了一种用于测试人工智能模型鲁棒性的方法,包括以下步骤:
(1)获取随机生成的输入数据,其大小为1*100维;
(2)将步骤(1)获取的输入数据输入上卷积网络模型中,以得到中间特征;
(3)将步骤(2)得到的中间特征输入N路子网络中,以得到N个输出结果;其中N的取值范围是100到1000;
(4)基于步骤(3)得到的N个输出结果,并使用白盒攻击算法攻击训练好的替代模型,以生成多个对抗样本;
(5)使用步骤(4)得到的多个对抗样本对待测试人工智能模型进行鲁棒性测试,以得到最终的测试结果。
优选地,步骤(2)中的上卷积网络模型结构如下:
第一层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为1,输出大小1*10*10,卷积核尺寸为1*1,卷积步长为3,激活函数采用ReLU,输出大小为4*4*1024;
第二层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为6,输出大小24*24*1024,卷积核大小为3*3,步长为6,激活函数采用ReLU,输出大小为8*8*512;
第三层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为6,输出大小48*48*512,卷积核大小为3*3,步长为3,激活函数采用ReLU,输出大小为16*16*256;
第四层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为6,输出大小96*96*256,卷积核大小为3*3,步长为3,激活函数采用ReLU,输出大小为32*32*128;
第五层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为4,输出大小128*128*128,卷积核大小为2*2,步长为2,激活函数采用ReLU,输出大小为64*64*64;
第六层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为4,输出大小256*256*64,卷积核大小为1*1,步长为1,激活函数采用ReLU,输出大小为256*256*3。
优选地,步骤(3)中的所有N路子网络具有完全相同的结构,每个子网络都包括三层,其中:
第一层是卷积模块层,其是由卷积层、池化层、正则化操作以及激活函数组成,且每个输入标签大小为1*256*256,将上卷积网络模型的第六层输出特征图和输入标签按照通道方向连接起来,即连接后特征图大小为4*256*256,其中,卷积核大小为2*2,步长为2,输出大小为128*128*96,激活函数采用ReLU。
第二层是卷积模块层,其是由卷积层、池化层、正则化操作以及激活函数按顺序前后串联形成。其中,卷积核大小为2*2,步长为2,输出大小为64*64*256,激活函数采用ReLU。
第三层是卷积模块层,其是由卷积层、池化层、卷积层按顺序前后串联形成,如图7所示。其中,第一个卷积核大小为2*2,步长为2,输出大小为32*32*512,激活函数采用ReLU。池化层核大小为3*3,步长为1,输出为32*32*512。最后一个卷积核大小为1*1,步长为1,最终输出是32*32*3。
优选地,白盒攻击算法可以是快速梯度下降法、基本迭代法、投影梯度下降法、或者C&W法。
优选地,替代网络是3层卷积神经网络,它的具体组成为:
第一层是卷积模块层,其是由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*96;
第二层是卷积模块层,其是由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*96。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*128;
第三层是卷积层,其输入特征大小为8*8*128,卷积核大小为2*2,步长为2,输出为4*4*256;
第四层是第一个全连接层,将第三层输出进行全连接操作,输出为1*1024;
第五层是第二个全连接层,将第四层输出进行全连接操作,输出为1*512;
第六层是第三个全连接层,对第五层的输出进行全连接操作,输出大小为1*256的输出样本。
优选地,替代模型是4层卷积神经网络,其网络结构为:
第一层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*256。
第二层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*256。其中,卷积核尺寸为1*1,卷积步长为1。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*128。
第三层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*128。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*512。
第四层卷积层,输入特征大小为8*8*512,卷积核大小为2*2,步长为2,输出为4*4*1024。
第五层是第一个全连接层,将第四层输出进行全连接操作,输出为1*1024。
第六层是第二个全连接层,将第五层输出进行全连接操作,输出为1*512。
第七层是第三个全连接层,对第六层的输出进行全连接操作,输出大小为1*256的输出样本。
优选地,替代模型是5层卷积神经网络,其网络结构为:
第一层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*256;
第二层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*256。其中,卷积核尺寸为1*1,卷积步长为1。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*128;
第三层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*128。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*512;
第四层是卷积层,输入特征大小为8*8*512,卷积核大小为2*2,步长为2,输出为4*4*1024;
第五层是卷积层,输入特征大小为4*4*512,卷积核大小为2*2,步长为2,输出为2*2*1024;
第六层是第一个全连接层,将第四层输出进行全连接操作,输出为1*1024;
第七层是第二个全连接层,将第六层输出进行全连接操作,输出为1*512;
第八层是第三个全连接层,对第七层的输出进行全连接操作,输出大小为1*256的输出样本。
优选地,包括上卷积模型和N个子网络的生成网络与替代模型这两个模型是彼此顺序连接的,且两者共同进行训练,其具体训练过程如下:
(4-1)从泊松分布中任选一个1*100维的向量作为输入数据,将其输入上卷积模型中,以得到256*256*3的特征图X,将该特征图复制成N个子特征图X1,X2,...,XN,将各个子特征图X1,X2,...,XN和待测试人工智能模型所预测的各个标签y1,y2,...,yN作为各个子网络的输入(即各个子网络的输入分别为(X1,y1),(X2,y2),...,(XN,yN))送入各个子网络中,从而得到输出结果,所有N个子网络的输出结果构成输出结果集合(Y1,Y2,...,YN);
(4-2)将步骤(4-1)得到的输出结果集合(Y1,Y2,...,YN)分别输入待测试人工智能模型和替代模型,以分别得到待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”)。
(4-3)根据步骤(4-2)得到的待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”),并根据替代模型的损失函数和待测试人工智能模型的损失函数,对上卷积网络和多个子网络构成的生成网络进行迭代训练,直到该生成网络收敛为止;
(4-4)重复上述步骤(4-1)至(4-3),直至迭代次数达到最大设定迭代次数(10万次)、或者待测试人工智能模型的预测误差较大(大于0.5)、或者替代模型的损失函数较大(大于0.5)为止。
优选地,步骤(4-3)首先是计算替代模型的损失函数:
其中yi’表示生成样本Xi在待测试人工智能模型中的输出结果,yi”表示生成样本Xi在替代模型的输出结果,d(.)表示两者之间的距离;
然后,计算待测试人工智能模型的损失函数:
其中,yi表示生成样本Xi对应的真实标签,yi’表示生成样本Xi在待测试人工智能模型中的输出结果。
最后,根据替代模型的损失函数和待测试人工智能模型的损失函数计算生成模型的损失函数:
其中lsub表示替代模型的预测损失,l表示待测试人工智能模型的预测损失,γ表示权重影响因子(其取值为0.2~0.8),最佳为0.65。
按照本发明的另一方面,提供了一种用于测试人工智能模型鲁棒性的系统,包括:
第一模块,用于获取随机生成的输入数据,其大小为1*100维;
第二模块,用于将第一模块获取的输入数据输入上卷积网络模型中,以得到中间特征;
第三模块,用于将第二模块得到的中间特征输入N路子网络中,以得到N个输出结果;其中N的取值范围是100到1000;
第四模块,用于基于第三模块得到的N个输出结果,并使用白盒攻击算法攻击训练好的替代模型,以生成多个对抗样本;
第五模块,用于使用第四模块得到的多个对抗样本对待测试人工智能模型进行鲁棒性测试,以得到最终的测试结果。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用上卷积网络和多个子网络去生成黑盒模型所有类别样本,通过不断查询黑盒模型,从而判断这些生成样本是否接经真实样本,并将得到损失函数用于训练生成网络,并最终得到训练好的生成模型,本发明设计简单,较易实现,因此能够解决现有方法中由于原始训练数据集不为人知,需要构建特殊算法去模仿接近黑盒系统的真实数据集,但这种算法的设计难度相当高,费时费力的技术问题。
(2)由于本发明的模型不需要原始数据集,可以很好构建一个替代模型,从而采用现在成熟的白盒攻击算法去攻击替代模型,从而生成有效的对抗样本,然后用这些对抗样本去攻击黑盒模型,从而较准确的判断黑盒模型的鲁棒性,所以本发明不需要构建复杂的黑盒攻击算法,因此能够解决现有方法采用黑盒攻击算法的攻击成功率相对较低,不能较好的判断黑盒模型的鲁棒性的技术问题;
(3)由于本发明生成模型生成样本能很好的模拟原始训练数据集,生成所有类别的样本且生成每一个类别的样本数量一样确保替代模型训练均衡,进而让替代模型很好较全面的模拟黑盒模型的功能,生成攻击样本更加有效,从而大大增加了攻击成功率,从而更好的测试黑盒模型鲁棒性能,因此能够解决现有方法由于用于训练替代模型的原始训练数据集未知、或者只部分为人所知,导致该方法构建的替代模型并不能完整地模仿黑盒模型的功能,这会影响最终的鲁棒性测试结果准确度;
(4)由于本发明采用的网络结构简单,不需要黑盒模型的原始训练数据集,因此该模型能方便部署,且运行耗时较短,较好用于现实中一些黑盒模型鲁棒性测试。
(5)由于本发明在模型训练阶段采用了端到端的训练方式,即所有模型都在集成一起训练,因此加快了生成模型和替代模型的收敛速度,进而提升了生成模型和替代模型处理效果。
附图说明
图1是本发明用于测试人工智能模型鲁棒性的方法的流程图。
图2是本发明用于测试人工智能模型鲁棒性的方法的总体架构图。
图3是本发明方法的步骤(2)中使用的上卷积网络模型的详细架构图。
图4是本发明方法的步骤(4)中使用的替代模型的详细架构图。
图5是本发明方法的步骤(2)中使用的上卷积模块层结构示意图;
图6是本发明方法的步骤(2)中子网络中第一层所用的卷积模块层结构示意图;
图7是本发明方法的步骤(2)中子网络中第三层所用的卷积模块层结构示意图;
图8是在MNIST数据集上,不同攻击算法攻击替代模型生成对抗样本实例。
图9是在CIFAR-10数据集上,不同攻击算法攻击替代模型生成对抗样本实例。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明目的在于,测试待测试人工智能模型的鲁棒性,从而提升系统防御能力。
如图1所示,本发明提供了一种用于测试人工智能模型鲁棒性的方法,包括以下步骤:
(1)获取随机生成的输入数据(其服从于泊松分布),其大小为1*100维。
具体而言,由于黑盒模型的输入数据未知,本系统随机输入一些数据即可生成相应的样本,而对随机输入数据要求是一定要符合某一分布,才能让每次随机数据分不一样,系统朝着真实数据集分布方向靠近。
(2)将步骤(1)获取的输入数据输入上卷积网络模型中,以得到中间特征;
具体而言,本步骤的目的是通过上卷积操作逐步构建样本空间,大小为3*256*256。
具体而言,步骤(2)中的上卷积网络模型结构如下:
第一层是上卷积模块层(如图5所示),由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为1,输出大小1*10*10,卷积核尺寸为1*1,卷积步长为3,激活函数采用ReLU,输出大小为4*4*1024。
第二层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为6,输出大小24*24*1024,卷积核大小为3*3,步长为6,激活函数采用ReLU,输出大小为8*8*512。
第三层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为6,输出大小48*48*512,卷积核大小为3*3,步长为3,激活函数采用ReLU,输出大小为16*16*256。
第四层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为6,输出大小96*96*256,卷积核大小为3*3,步长为3,激活函数采用ReLU,输出大小为32*32*128。
第五层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为4,输出大小128*128*128,卷积核大小为2*2,步长为2,激活函数采用ReLU,输出大小为64*64*64。
第六层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成。其中,上采样步长为4,输出大小256*256*64,卷积核大小为1*1,步长为1,激活函数采用ReLU,输出大小为256*256*3。
(3)将步骤(2)得到的中间特征输入N路子网络中,以得到N个输出结果;
在本发明中,N的取值范围是[100,1000],优选值等于200。
本步骤的所有N路子网络具有完全相同的结构,每个子网络都包括三层,其中:
如图6所示,第一层是卷积模块层,其是由卷积层、池化层、正则化操作以及激活函数组成,且每个输入标签大小为1*256*256,将上卷积网络模型的第六层输出特征图和输入标签按照通道方向连接起来,即连接后特征图大小为4*256*256,其中,卷积核大小为2*2,步长为2,输出大小为128*128*96,激活函数采用ReLU。
第二层是卷积模块层,其是由卷积层、池化层、正则化操作以及激活函数按顺序前后串联形成。其中,卷积核大小为2*2,步长为2,输出大小为64*64*256,激活函数采用ReLU。
第三层是卷积模块层,其是由卷积层、池化层、卷积层按顺序前后串联形成,如图7所示。其中,第一个卷积核大小为2*2,步长为2,输出大小为32*32*512,激活函数采用ReLU。池化层核大小为3*3,步长为1,输出为32*32*512。最后一个卷积核大小为1*1,步长为1,最终输出是32*32*3。
(4)基于步骤(3)得到的N个输出结果,并使用白盒攻击算法攻击训练好的替代模型,以生成多个对抗样本;
具体而言,本步骤中的白盒攻击算法是例如快速梯度下降法(Fast GradientSign Method,简称FGSM)、基本迭代法(Basic iterative method,简称BIM)、投影梯度下降法(Projected gradient descent,简称PGD)以及C&W法。
具体而言,本发明中的替代模型可以有六种,分别为VGG-13、3层卷积网络、4层卷积网络、5层卷积网络、ResNet-18、以及ResNet-50。其中VGG-13、ResNet-18、以及ResNet50是本领域中已知的网络结构,在此不再赘述。
当替代网络是3层卷积神经网络时,它的具体组成为:
第一层是卷积模块层,其是由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*96。
第二层是卷积模块层,其是由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*96。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*128。
第三层是卷积层,其输入特征大小为8*8*128,卷积核大小为2*2,步长为2,输出为4*4*256。
第四层是第一个全连接层,将第三层输出进行全连接操作,输出为1*1024。
第五层是第二个全连接层,将第四层输出进行全连接操作,输出为1*512。
第六层是第三个全连接层,对第五层的输出进行全连接操作,输出大小为1*256的输出样本。
当替代模型为4层卷积神经网络时,其网络结构为:
第一层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*256。
第二层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*256。其中,卷积核尺寸为1*1,卷积步长为1。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*128。
第三层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*128。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*512。
第四层卷积层,输入特征大小为8*8*512,卷积核大小为2*2,步长为2,输出为4*4*1024。
第五层是第一个全连接层,将第四层输出进行全连接操作,输出为1*1024。
第六层是第二个全连接层,将第五层输出进行全连接操作,输出为1*512。
第七层是第三个全连接层,对第六层的输出进行全连接操作,输出大小为1*256的输出样本。
当替代模型为5层卷积神经网络时,其网络结构为:
第一层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*256。
第二层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*256。其中,卷积核尺寸为1*1,卷积步长为1。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*128。
第三层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*128。其中,卷积核尺寸为2*2,卷积步长为2。池化层采用最大池化,池化核大小为2*2,步长为1。正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*512。
第四层是卷积层,输入特征大小为8*8*512,卷积核大小为2*2,步长为2,输出为4*4*1024。
第五层是卷积层,输入特征大小为4*4*512,卷积核大小为2*2,步长为2,输出为2*2*1024。
第六层是第一个全连接层,将第五层输出进行全连接操作,输出为1*1024。
第七层是第二个全连接层,将第六层输出进行全连接操作,输出为1*512。
第八层是第三个全连接层,对第七层的输出进行全连接操作,输出大小为1*256的输出样本。
本发明中的生成网络(其包括上卷积模型和N个子网络)和替代模型这两个模型是彼此顺序连接的,且两者共同进行训练,其具体训练过程如下:
(4-1)从泊松分布中任选一个1*100维的向量作为输入数据,将其输入上卷积模型中,以得到256*256*3的特征图X,将该特征图复制成N个子特征图X1,X2,...,XN,将各个子特征图X1,X2,...,XN和待测试人工智能模型所预测的各个标签y1,y2,...,yN作为各个子网络的输入(即各个子网络的输入分别为(X1,y1),(X2,y2),...,(XN,yN))送入各个子网络中,从而得到输出结果,所有N个子网络的输出结果构成输出结果集合(Y1,Y2,...,YN);
在本发明中,待测试人工智能模型就是黑盒模型。
(4-2)将步骤(4-1)得到的输出结果集合(Y1,Y2,...,YN)分别输入待测试人工智能模型和替代模型,以分别得到待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”)。
(4-3)根据步骤(4-2)得到的待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”),并根据替代模型的损失函数和待测试人工智能模型的损失函数,对上卷积网络和多个子网络构成的生成网络进行迭代训练,直到该生成网络收敛为止;
具体而言,本步骤首先是计算替代模型的损失函数:
其中yi’表示生成样本Xi在待测试人工智能模型中的输出结果,yi”表示生成样本Xi在替代模型的输出结果,d(.)表示两者之间的距离。
上述过程是比较相同输入情况下,待测试人工智能模型输出和替代模型输出结果之间的距离,训练目的确保这种距离越来越小。
替代模型根据上述损失进行学习和更新,以便更好学习待测试人工智能模型的功能。
然后,计算待测试人工智能模型的损失函数:
其中,yi表示生成样本Xi对应的真实标签,yi’表示生成样本Xi在待测试人工智能模型中的输出结果。
最后,根据替代模型的损失函数和待测试人工智能模型的损失函数计算生成模型的损失函数:
其中lsub表示替代模型的预测损失,l表示待测试人工智能模型的预测损失,γ表示权重影响因子(其取值为0.2~0.8),最佳为0.65。
生成模型既要考虑生成样本在待测试人工智能模型中的输出接近实际真实标签,也要考虑让替代模型输出尽可能接近待测试人工智能模型的输出。同时。由于替代模型的损失(即公式(1)的输出结果)比待测试人工智能模型输出损失(即公式(2)的输出结果)波动更大,为了让两种损失都能很好地反馈到生成模型中,从而对生成模型进行更新,采用负指数函数来反应替代模型损失的影响。
(4-4)重复上述步骤(4-1)至(4-3),直至迭代次数达到最大设定迭代次数(10万次)、或者待测试人工智能模型的预测误差较大(大于0.5)、或者替代模型的损失函数较大(大于0.5)为止。
(5)使用步骤(4)得到的多个对抗样本对待测试人工智能模型进行鲁棒性测试,以得到最终的测试结果。
具体而言,本步骤是针对步骤(4)得到的每一个对抗样本而言,使用该对抗样本对待测试人工智能模型进行对抗攻击,并统计所有对抗样本攻击待测试人工智能模型后的攻击成功率,并将统计得到的攻击成功率与预设阈值(其取值范围是0.1到0.4之间,优选值是0.25)进行比较,如果前者小于后者,则说明该待测试人工智能模型的鲁棒性强,反之则说明待测试人工智能模型的鲁棒性差。
优选地,步骤(1)中的输入数据来自泊松分布,此时泊松分布的的λ设为12。
优选地,步骤(3)中各个子网络结构相同,训练时候同时训练,每一个子网络根据公式(3)进行求解各自的损失,并用于更新各自子网络。当训练上采样和卷积层时候,此时损失是各个子网络的损失之和。
优选地,在实际中,对黑盒模型只知道其输入和输出,其它参数一概不知。
优选地,步骤(5)的替代模型的损失主要通过同一张图片在其和黑盒模型上预测结果进行比较,得出彼此的距离,从而去修正替代模型,让其更好更快学习黑盒模型的功能。
优选地,生成模型(其由步骤(2)的上卷积网络模型和步骤(3)的多个子网络构成)的损失由两部分组成,一个是替代模型的比较损失,另一部分是黑盒模型的预测损失。生成器根据这些损失进行更新学习,从而生成更加有效地的样本,让替代模型更加有效地学习到黑盒模型的功能。
优选地,数据集(MNIST和CIFAR-10)主要用来测试系统性能,由于系统能模拟原始输入数据集的分布,故能生成相应的训练数据集,测试数据集大小都为10000张。
优选地,本发明方法是用tensorflow框架实现的,在NVIDIA Tesla P100上进行实现的,batch大小为128,最大迭代次数为150000。训练方法采用10倍交叉验证方法,采用Adam优化器对系统进行更新。
测试结果
本文所有实验都是NVIDIA Tesla P100上用tensorflow实现的,batch大小为128,最大迭代次数为150,000,训练方法采用10-fold交叉验证方法。在手写字MNIST上,整个模型训练花费4个小时;而在CIFAR-10上,训练花费了7个小时。本实验中,本发明采用Adam优化器,初始学习率为0.0002,且β1和β2费别设为0.5和0.99。
针对测试数据集(MNIST或CIFAR-10)均输入到训练好的模型中,替代模型得到相应的对抗样本,并将此对抗样本用于测试待测试人工智能模型。如图8所示,其示出不同攻击算法在MNIST数据集上攻击替代模型(VGG-13)生成对抗样本实例。图9示出不同攻击算法在CIFAR-10数据集上攻击替代模型(VGG-13)生成对抗样本实例。
下表1和表2分别给出了在MNIST和CIFAR-10数据集上不同替代模型下,攻击成功率结果(攻击成功率=让分类器分类错误的样本数/总的攻击样本数),同时本发明给出在相同设置情况下,最新攻击算法得出结果。从表1和表2可以看到本发明提出算法在不同替代模型下的性能要远远比比较算法性能要好,这也证明本发明提出的模型的有效性。从表中还可以得出,随着替代模型层数加深,攻击成功率也不断上升。这主要是替代模型层数越深,模仿未知模型能力越强,进而白盒攻击算法就能更好生成对抗样本,从而提升攻击成功率。
表1在手写字MNIST上不同替代模型测试结果
表2在CIFAR-10上不同替代模型测试结果
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于测试人工智能模型鲁棒性的方法,其特征在于,包括以下步骤:
(1)获取随机生成的输入数据,其大小为1*100维;
(2)将步骤(1)获取的输入数据输入上卷积网络模型中,以得到中间特征;
(3)将步骤(2)得到的中间特征输入N路子网络中,以得到N个输出结果;其中N的取值范围是100到1000;
(4)基于步骤(3)得到的N个输出结果,并使用白盒攻击算法攻击训练好的替代模型,以生成多个对抗样本;
(5)使用步骤(4)得到的多个对抗样本对待测试人工智能模型进行鲁棒性测试,以得到最终的测试结果;其中包括上卷积模型和N个子网络的生成网络与替代模型这两个模型是彼此顺序连接的,且两者共同进行训练,其具体训练过程如下:
(4-1)从泊松分布中任选一个1*100维的向量作为输入数据,将其输入上卷积模型中,以得到256*256*3的特征图X,将该特征图复制成N个子特征图X1,X2,...,XN,将各个子特征图X1,X2,...,XN和待测试人工智能模型所预测的各个标签y1,y2,...,yN作为各个子网络的输入送入各个子网络中,从而得到输出结果,所有N个子网络的输出结果构成输出结果集合(Y1,Y2,...,YN);
(4-2)将步骤(4-1)得到的输出结果集合(Y1,Y2,...,YN)分别输入待测试人工智能模型和替代模型,以分别得到待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”);
(4-3)根据步骤(4-2)得到的待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”),并根据替代模型的损失函数和待测试人工智能模型的损失函数,对上卷积网络和多个子网络构成的生成网络进行迭代训练,直到该生成网络收敛为止;步骤(4-3)首先是计算替代模型的损失函数:
其中yi’表示生成样本Xi在待测试人工智能模型中的输出结果,yi”表示生成样本Xi在替代模型的输出结果,d(.)表示两者之间的距离;
然后,计算待测试人工智能模型的损失函数:
其中,yi表示生成样本Xi对应的真实标签,yi’表示生成样本Xi在待测试人工智能模型中的输出结果;
最后,根据替代模型的损失函数和待测试人工智能模型的损失函数计算生成模型的损失函数:
其中lsub表示替代模型的预测损失,l表示待测试人工智能模型的预测损失,γ表示权重影响因子,其取值为0.2~0.8;
(4-4)重复上述步骤(4-1)至(4-3),直至迭代次数达到最大设定迭代次数10万次、或者待测试人工智能模型的预测误差大于0.5、或者替代模型的损失函数大于0.5为止。
2.根据权利要求1所述的用于测试人工智能模型鲁棒性的方法,其特征在于,步骤(2)中的上卷积网络模型结构如下:
第一层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成;其中,上采样步长为1,输出大小1*10*10,卷积核尺寸为1*1,卷积步长为3,激活函数采用ReLU,输出大小为4*4*1024;
第二层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成;其中,上采样步长为6,输出大小24*24*1024,卷积核大小为3*3,步长为6,激活函数采用ReLU,输出大小为8*8*512;
第三层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成;其中,上采样步长为6,输出大小48*48*512,卷积核大小为3*3,步长为3,激活函数采用ReLU,输出大小为16*16*256;
第四层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成;其中,上采样步长为6,输出大小96*96*256,卷积核大小为3*3,步长为3,激活函数采用ReLU,输出大小为32*32*128;
第五层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成;其中,上采样步长为4,输出大小128*128*128,卷积核大小为2*2,步长为2,激活函数采用ReLU,输出大小为64*64*64;
第六层是上卷积模块层,由上采样层、卷积层、激活函数按顺序前后串联形成;其中,上采样步长为4,输出大小256*256*64,卷积核大小为1*1,步长为1,激活函数采用ReLU,输出大小为256*256*3。
3.根据权利要求1所述的用于测试人工智能模型鲁棒性的方法,其特征在于,步骤(3)中的所有N路子网络具有完全相同的结构,每个子网络都包括三层,其中:
第一层是卷积模块层,其是由卷积层、池化层、正则化操作以及激活函数组成,且每个输入标签大小为1*256*256,将上卷积网络模型的第六层输出特征图和输入标签按照通道方向连接起来,即连接后特征图大小为4*256*256,其中,卷积核大小为2*2,步长为2,输出大小为128*128*96,激活函数采用ReLU;
第二层是卷积模块层,其是由卷积层、池化层、正则化操作以及激活函数按顺序前后串联形成;其中,卷积核大小为2*2,步长为2,输出大小为64*64*256,激活函数采用ReLU;
第三层是卷积模块层,其是由卷积层、池化层、卷积层按顺序前后串联形成;其中,第一个卷积核大小为2*2,步长为2,输出大小为32*32*512,激活函数采用ReLU;池化层核大小为3*3,步长为1,输出为32*32*512;最后一个卷积核大小为1*1,步长为1,最终输出是32*32*3。
4.根据权利要求1所述的用于测试人工智能模型鲁棒性的方法,其特征在于,白盒攻击算法可以是快速梯度下降法、基本迭代法、投影梯度下降法、或者C&W法。
5.根据权利要求4所述的用于测试人工智能模型鲁棒性的方法,其特征在于,替代网络是3层卷积神经网络,它的具体组成为:
第一层是卷积模块层,其是由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3;其中,卷积核尺寸为2*2,卷积步长为2;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*96;
第二层是卷积模块层,其是由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*96;其中,卷积核尺寸为2*2,卷积步长为2;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*128;
第三层是卷积层,其输入特征大小为8*8*128,卷积核大小为2*2,步长为2,输出为4*4*256;
第四层是第一个全连接层,将第三层输出进行全连接操作,输出为1*1024;
第五层是第二个全连接层,将第四层输出进行全连接操作,输出为1*512;
第六层是第三个全连接层,对第五层的输出进行全连接操作,输出大小为1*256的输出样本。
6.根据权利要求4所述的用于测试人工智能模型鲁棒性的方法,其特征在于,替代模型是4层卷积神经网络,其网络结构为:
第一层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3;其中,卷积核尺寸为2*2,卷积步长为2;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*256;
第二层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*256;其中,卷积核尺寸为1*1,卷积步长为1;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*128;
第三层卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*128;其中,卷积核尺寸为2*2,卷积步长为2;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*512;
第四层卷积层,输入特征大小为8*8*512,卷积核大小为2*2,步长为2,输出为4*4*1024;
第五层是第一个全连接层,将第四层输出进行全连接操作,输出为1*1024;
第六层是第二个全连接层,将第五层输出进行全连接操作,输出为1*512;
第七层是第三个全连接层,对第六层的输出进行全连接操作,输出大小为1*256的输出样本。
7.根据权利要求4所述的用于测试人工智能模型鲁棒性的方法,其特征在于,替代模型是5层卷积神经网络,其网络结构为:
第一层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为32*32*3;其中,卷积核尺寸为2*2,卷积步长为2;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*256;
第二层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*256;其中,卷积核尺寸为1*1,卷积步长为1;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为16*16*128;
第三层是卷积模块层,由卷积层、池化层、正则化层按顺序前后串联形成,此时输入特征大小为16*16*128;其中,卷积核尺寸为2*2,卷积步长为2;池化层采用最大池化,池化核大小为2*2,步长为1;正则化操作的local_size是5,alpha值是0.0001,beta值是0.75,输出为8*8*512;
第四层是卷积层,输入特征大小为8*8*512,卷积核大小为2*2,步长为2,输出为4*4*1024;
第五层是卷积层,输入特征大小为4*4*512,卷积核大小为2*2,步长为2,输出为2*2*1024;
第六层是第一个全连接层,将第五层输出进行全连接操作,输出为1*1024;
第七层是第二个全连接层,将第六层输出进行全连接操作,输出为1*512;
第八层是第三个全连接层,对第七层的输出进行全连接操作,输出大小为1*256的输出样本。
8.一种用于测试人工智能模型鲁棒性的系统,其特征在于,包括:
第一模块,用于获取随机生成的输入数据,其大小为1*100维;
第二模块,用于将第一模块获取的输入数据输入上卷积网络模型中,以得到中间特征;
第三模块,用于将第二模块得到的中间特征输入N路子网络中,以得到N个输出结果;其中N的取值范围是100到1000;
第四模块,用于基于第三模块得到的N个输出结果,并使用白盒攻击算法攻击训练好的替代模型,以生成多个对抗样本;
第五模块,用于使用第四模块得到的多个对抗样本对待测试人工智能模型进行鲁棒性测试,以得到最终的测试结果;其中包括上卷积模型和N个子网络的生成网络与替代模型这两个模型是彼此顺序连接的,且两者共同进行训练,其具体训练过程如下:
(4-1)从泊松分布中任选一个1*100维的向量作为输入数据,将其输入上卷积模型中,以得到256*256*3的特征图X,将该特征图复制成N个子特征图X1,X2,...,XN,将各个子特征图X1,X2,...,XN和待测试人工智能模型所预测的各个标签y1,y2,...,yN作为各个子网络的输入送入各个子网络中,从而得到输出结果,所有N个子网络的输出结果构成输出结果集合(Y1,Y2,...,YN);
(4-2)将步骤(4-1)得到的输出结果集合(Y1,Y2,...,YN)分别输入待测试人工智能模型和替代模型,以分别得到待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”);
(4-3)根据步骤(4-2)得到的待测试人工智能模型的输出(y1’,y2’,...,yN’)、以及替代模型的输出(y1”,y2”,...,yN”),并根据替代模型的损失函数和待测试人工智能模型的损失函数,对上卷积网络和多个子网络构成的生成网络进行迭代训练,直到该生成网络收敛为止;步骤(4-3)首先是计算替代模型的损失函数:
其中yi’表示生成样本Xi在待测试人工智能模型中的输出结果,yi”表示生成样本Xi在替代模型的输出结果,d(.)表示两者之间的距离;
然后,计算待测试人工智能模型的损失函数:
其中,yi表示生成样本Xi对应的真实标签,yi’表示生成样本Xi在待测试人工智能模型中的输出结果;
最后,根据替代模型的损失函数和待测试人工智能模型的损失函数计算生成模型的损失函数:
其中lsub表示替代模型的预测损失,l表示待测试人工智能模型的预测损失,γ表示权重影响因子,其取值为0.2~0.8;
(4-4)重复上述步骤(4-1)至(4-3),直至迭代次数达到最大设定迭代次数10万次、或者待测试人工智能模型的预测误差大于0.5、或者替代模型的损失函数大于0.5为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011630126.9A CN112766315B (zh) | 2020-12-31 | 2020-12-31 | 一种用于测试人工智能模型鲁棒性的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011630126.9A CN112766315B (zh) | 2020-12-31 | 2020-12-31 | 一种用于测试人工智能模型鲁棒性的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112766315A CN112766315A (zh) | 2021-05-07 |
CN112766315B true CN112766315B (zh) | 2024-03-29 |
Family
ID=75699591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011630126.9A Active CN112766315B (zh) | 2020-12-31 | 2020-12-31 | 一种用于测试人工智能模型鲁棒性的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112766315B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113222074B (zh) * | 2021-06-15 | 2023-08-22 | 百度在线网络技术(北京)有限公司 | 评估目标检测模型的方法及装置 |
CN113407939B (zh) * | 2021-06-17 | 2022-08-05 | 电子科技大学 | 面向黑盒攻击的替代模型自动选取方法、存储介质及终端 |
CN113610141B (zh) * | 2021-08-02 | 2022-03-11 | 清华大学 | 自动驾驶多传感器融合感知模型的鲁棒性测试方法及系统 |
CN113837232A (zh) * | 2021-08-30 | 2021-12-24 | 厦门大学 | 一种基于样本选择和加权损失函数的黑盒模型蒸馏方法 |
CN114443506B (zh) * | 2022-04-07 | 2022-06-10 | 浙江大学 | 一种用于测试人工智能模型的方法及装置 |
CN114859758A (zh) * | 2022-06-22 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 一种针对网络模型的攻防对抗仿真测试方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027060A (zh) * | 2019-12-17 | 2020-04-17 | 电子科技大学 | 基于知识蒸馏的神经网络黑盒攻击型防御方法 |
CN111223062A (zh) * | 2020-01-08 | 2020-06-02 | 西安电子科技大学 | 基于生成对抗网络的图像去模糊方法 |
CN111461307A (zh) * | 2020-04-02 | 2020-07-28 | 武汉大学 | 一种基于生成对抗网络的通用扰动生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11568261B2 (en) * | 2018-10-26 | 2023-01-31 | Royal Bank Of Canada | System and method for max-margin adversarial training |
-
2020
- 2020-12-31 CN CN202011630126.9A patent/CN112766315B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027060A (zh) * | 2019-12-17 | 2020-04-17 | 电子科技大学 | 基于知识蒸馏的神经网络黑盒攻击型防御方法 |
CN111223062A (zh) * | 2020-01-08 | 2020-06-02 | 西安电子科技大学 | 基于生成对抗网络的图像去模糊方法 |
CN111461307A (zh) * | 2020-04-02 | 2020-07-28 | 武汉大学 | 一种基于生成对抗网络的通用扰动生成方法 |
Non-Patent Citations (4)
Title |
---|
基于CNN和HOG双路特征融合的人脸表情识别;丁名都;李琳;;信息与控制(第01期);全文 * |
基于生成对抗网络的对抗样本生成;郭清杨;;现代计算机(第07期);全文 * |
基于生成对抗网络的小样本数据生成技术研究;杨懿男等;电力建设;第第40卷卷(第第5期期);第71-77页 * |
多特征融合的三维模型识别与分割;党吉圣;杨军;;西安电子科技大学学报(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112766315A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112766315B (zh) | 一种用于测试人工智能模型鲁棒性的方法和系统 | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN110188685B (zh) | 一种基于双注意力多尺度级联网络的目标计数方法及系统 | |
CN110210486B (zh) | 一种基于素描标注信息的生成对抗迁移学习方法 | |
CN111626300A (zh) | 基于上下文感知的图像语义分割模型及建模方法 | |
CN113628294A (zh) | 一种面向跨模态通信系统的图像重建方法及装置 | |
CN110349185B (zh) | 一种rgbt目标跟踪模型的训练方法及装置 | |
CN109934826A (zh) | 一种基于图卷积网络的图像特征分割方法 | |
CN112884059B (zh) | 一种融合先验知识的小样本雷达工作模式分类方法 | |
CN110334589A (zh) | 一种基于空洞卷积的高时序3d神经网络的动作识别方法 | |
CN107886123A (zh) | 一种基于辅助判决更新学习的合成孔径雷达目标识别方法 | |
CN113870128B (zh) | 一种基于深度卷积对抗式网络的数字壁画图像修复方法 | |
CN111079784B (zh) | 基于卷积神经网络的烘烤过程中烤烟烘烤阶段识别方法 | |
CN110245550A (zh) | 一种基于总体余弦分布的人脸噪音数据集cnn训练方法 | |
CN107103285A (zh) | 基于卷积神经网络的人脸深度预测方法 | |
CN114511737B (zh) | 图像识别域泛化模型的训练方法 | |
CN111861906A (zh) | 一种路面裂缝图像虚拟增广模型建立及图像虚拟增广方法 | |
CN107563430A (zh) | 一种基于稀疏自动编码器和灰度关联分析法的卷积神经网络算法优化方法 | |
CN109389171A (zh) | 基于多粒度卷积降噪自动编码器技术的医疗图像分类方法 | |
CN114283320B (zh) | 基于全卷积的无分支结构目标检测方法 | |
CN113159158B (zh) | 一种基于生成对抗网络的车牌矫正与重构方法及系统 | |
CN114913379B (zh) | 基于多任务动态对比学习的遥感图像小样本场景分类方法 | |
CN108957418A (zh) | 一种基于循环神经网络模型的雷达目标识别方法 | |
Lata et al. | Data augmentation using generative adversarial network | |
CN112766143A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |