基于真实数据感知的模型功能窃取攻击

【www.zhangdahai.com--其他范文】

李延铭,李长升,余佳奇,袁野,王国仁

北京理工大学计算机学院,北京 100081

随着机器学习尤其是深度学习在计算机视觉和自然语言处理等任务中大放异彩,企业界开始尝试通过机器学习或深度学习为用户提供相关的智能服务。机器学习模型在自动驾驶、语音识别、图像分类和医疗图像分析(黎英和宋佩华,2022)等领域已得到广泛应用。众所周知,训练深度学习模型需要大量训练数据(Strubell等,2019),而收集这些训练数据需要耗费大量时间成本和经济成本,设计深度学习模型或架构需要额外的专家知识(Brown等,2020)。因此,拥有高性能的深度学习模型通常视为拥有昂贵的知识产权。基于此,商业公司通过向用户开放API(application programming interface)接口来提供服务,即用户向模型提交查询数据,获得该模型的预测结果,而公司通过收取查询费用实现收益。在整个过程中深度学习模型对用户来说是黑盒模型,但是模型的预测结果中携带了模型的部分信息,使得攻击者可以利用这些信息实现对该模型功能的窃取(Tramèr等,2016)。

当前,模型功能窃取攻击的主流框架如图1所示。以图像分类器为例,攻击者首先通过提交查询图像到目标模型(即要攻击的模型)获得预测结果;
随后利用查询图像和预测结果训练一个克隆模型。通过此方式使克隆模型获得与目标模型相似的功能。该方法与知识蒸馏技术(Hinton等,2015)十分相似,克隆模型类似于知识蒸馏中的学生模型(Fang等,2020),优化目标是在面对相同数据时使克隆模型的行为能尽量与目标模型(对应知识蒸馏中的教师网络)一致。与知识蒸馏不同的是,由于目标模型对攻击者来说是一个黑盒模型,因此训练数据、内部结构和优化器设计等信息对攻击者来说都是不可知的。对攻击者来说,假设可知的信息仅有其提交的查询数据和该查询数据经过目标模型返回的预测结果。不同查询数据集常常导致克隆模型获得的性能差异较大。目前已经提出了很多模型功能窃取方法。Knockoff(Orekondy等,2019)是模型窃取攻击方法中的一个经典工作,目的是利用一些公开数据集对目标模型发起查询请求进而构造数据对集合D={(x1,y2),…,(xn,yn)}训练克隆模型,其中xi和yi分别为图像数据及目标模型对该图像的预测结果。此外,学者相继提出了一些无数据的模型窃取方法。DFME(data-free model extraction)(Truong等,2021)在没有任何真实数据的情况下,利用零阶梯度估计(Chen等,2017)训练生成模型生成数据,且利用数据对集合D训练克隆模型。然而由于缺乏真实图像数据的介入,这类方法生成的数据在人眼看来是不可分辨的,不包含有效的语义信息,使得目标模型输出的物理意义不明确,从而造成对克隆模型的训练缺乏有效的指导。

图1 模型功能窃取攻击实例Fig.1 An example for the model stealing attack

本文从加强目标模型输出的物理意义出发,通过真实数据感知的方式,提出一种新的模型窃取攻击方法,实现对图像分类器的有效功能窃取。针对上述方法在生成数据时缺乏语义信息问题,引入真实数据,使生成器在生成图像时不仅要考虑满足模型功能窃取任务的需要,而且要考虑生成图像的真实性,进而加强目标模型输出结果对克隆模型训练指导的有效性。具体来讲,引入公开的真实数据对生成对抗网络(generative adversarial network,GAN)(Goodfellow等,2014)的学习进行约束,通过令Discriminator分类器区分数据是来自真实数据集还是生成数据,在如此博弈方式下使生成器生成的数据集与真实数据集分布相似,从而克服数据不可辨和语义信息缺失问题,加强了目标模型输出结果的物理意义。此外,提出一种新的目标函数对克隆模型进行优化学习,该目标函数除了对两个模型预测结果做一致性约束外,引入对比学习(Hadsell等,2006)思想,在考虑两个模型对同一图像数据分类结果一致性的同时,将不同图像预测结果的差异性也考虑进来。在两个公开图像数据集的分类模型上,本文方法在窃取效果和查询代价上都取得了很好效果。本文主要贡献如下:1)首次从生成数据的真实性出发,利用生成对抗网络生成图像数据,使生成图像的分布与真实图像的分布相似,提高模型输出的物理意义,加强目标模型的有效指导;
2)提出一种新的目标函数,基于一致性输出和对比学习思想,对目标模型和克隆模型的输出进行约束,达到训练有效克隆模型的目的;
3)实验结果表明,本文方法在对图像分类器模型进行功能窃取时,能够取得良好效果,并且在一定程度上降低了对目标模型的查询代价。

模型窃取攻击是人工智能安全中的核心问题之一,目的是推断目标黑盒模型的隐私信息,包括内部结构(Oh等,2019)、参数(Wang和Gong,2018)和预测功能(Correia-Silva等,2018)等。本文主要研究模型的功能窃取。由于此场景下目标模型为黑盒模型,其内部结构信息、模型参数和训练数据等对攻击者来说均是不可知的,因此攻击方法常常通过分析目标模型的输入与输出的映射关系,训练一个与目标模型功能相似的克隆模型。经典方法包括基于查询数据设计的方法(Gong等,2021)和基于损失函数设计的方法(Truong等,2021)。

1.1 模型窃取攻击

根据攻击者使用的训练数据不同,目前的模型功能窃取攻击大致分为3类(Kariyappa等,2021),分别是部分训练数据已知、有可用的替代数据集以及利用生成模型生成数据的方法。

在部分训练数据已知情况下,已知数据的数据规模较小,仅使用这些数据无法训练出令人满意的克隆模型,攻击者会利用这些已知的训练数据生成训练样本来增大数据量。JBDA(Jacobian based dataset augmentation)(Papernot等,2017)是此类工作中的经典方法,其利用雅可比矩阵来表示模型对输入数据的敏感程度,并且在雅可比矩阵的基础上指导对抗样本的生成,最后利用这些对抗样本和已知的训练数据训练克隆模型。

在攻击者有可用的替代数据集情况下,攻击者利用该数据集访问目标模型,并将目标模型对该数据集的预测结果当作对应数据的标签(或软标签),然后训练克隆模型。Knockoff(Orekondy等,2019) 就是在这一情景下提出的。当有合适的替代数据集时,该窃取方法会取得较好的效果。然而对于攻击者来说,目标模型所对应训练数据的信息是未知的,因此在实际场景中攻击者很难选择一个合适的替代数据集。

在利用生成模型生成训练数据的方法中,攻击者没有任何可用的真实数据信息,其用于对目标模型发起查询的数据均是通过生成模型生成的。由于没有真实数据,相较于前两种情况,这种情况下模型功能窃取的任务更加困难。MAZE(data-free model stealing attack using zeroth-order gradient estimation) (Kariyappa等,2021)和DFME(data-free model extraction)(Truong等,2021)是两个经典的生成模型的方法,其思想是利用零阶梯度估计的方法(Duchi等,2012)对黑盒模型的梯度进行近似,以对抗博弈的思想更新生成器的参数和克隆模型的学习。尽管这类方法取得了良好效果,但是由于生成器的训练需要与目标模型进行额外的交互,因此具有较高的查询复杂度。

1.2 生成对抗网络

生成对抗网络(GAN)(Goodfellow等,2014)是目前最受欢迎的生成模型之一。与传统生成模型不同,该方法通过一种对抗训练的策略来规避对数据概率分布的直接求解。GAN网络由生成器(generator)和判别器(discriminator)两部分组成。生成器的训练目标是生成尽量真实的数据来迷惑判别器;
而判别器的目标是能够区分哪些样本是真实的,哪些样本是生成器生成的,通过如此方式使生成器生成的数据与真实数据具有相似的分布。随着GAN网络的广泛流行,提出了越来越多的扩展性工作。例如,针对复杂图像数据生成的DCGAN(deep convolutional generative adversarial network)(Radford等,2016)和用来做风格迁移任务的StyleGAN(Karras等,2019)。也有人开始尝试利用GAN提升取证技术的效果(何沛松 等,2022)。在模型功能窃取方法中,一些工作开始尝试借鉴GAN的思想在无数据情况下通过生成模型生成数据来对目标模型进行查询。例如DFME和MAZE虽然没有显式引入类似于GAN中的判别器,但目标模型和克隆模型本身起到了判别器的作用。

1.3 对比学习

对比学习(Hadsell等,2006)是比较流行的一种自监督学习方法,核心思想是在缩小正样本对之间距离的同时拉大负样本对之间的距离,已广泛应用于各领域,例如表示学习。目前,对比学习的方法有许多。MoCo(momentum contrast for unsupervised visual representation learning)(He等,2020)通过设计动态队列和非对称更新的编码器网络在对比学习的指导下学习数据的表征,使得在ImageNet(Deng等,2009)上经过无监督预训练的模型可以很好地泛化到一些下游任务。SimCLR(simple framework for contrastive learning of visual representations)(Chen等,2020)使用较大的batch增大对比学习中负样本对的数量,同样达到了提升表示学习效果的目的。本文将对比学习的思想引入模型功能窃取攻击。

模型功能窃取的目标是训练一个与目标模型在功能上相近的克隆模型。本文研究的要窃取的目标模型为图像分类器,因此克隆模型的训练目标是近似目标模型的分类效果。

2.1 整体方法

先前基于生成模型的方法在生成数据过程中缺少真实数据介入,使生成器生成的数据在人眼看来是不可分辨的,不包含有效的语义信息,导致目标模型输出的物理意义不明确,降低了目标模型指导克隆模型的有效性。

本文从加强目标模型输出具有物理意义的角度出发,提出一种新的模型窃取攻击方法,实现对图像分类器的有效功能窃取。本文方法的核心思想是利用生成对抗网络(GAN)生成图像数据,使生成数据与真实数据集的分布相似,从而加强数据的真实性。本文方法的架构如图2所示,首先利用公开数据集对GAN网络进行预训练,使其提取真实数据的先验知识,然后通过最小化目标模型和克隆模型输出结果的差异性和GAN网络本身的损失函数微调GAN网络的参数。在GAN网络训练好之后,使用训练好的生成器生成样本数据,用该生成数据作为查询数据分别送入目标模型和克隆模型,通过对两个模型输出结果的一致性进行约束来训练克隆模型。在优化克隆模型时,与之前方法不同的是本文提出了一种新的损失函数,不仅考虑两个模型对同一幅图像分类结果的一致性,同时通过引入对比学习的思想将不同图像预测结果的差异性也考虑进来。

图2 基于真实数据感知的模型窃取攻击架构Fig.2 The framework of model stealing attacks based on real data awareness

从数据视角出发,本文方法结合了基于替代数据集和无数据两种模型窃取方法的优点,利用GAN模型与目标模型的交互,使生成图像在接近公开数据集真实图像分布的同时,又受到目标模型反馈信息的影响,从而在一定程度上能够缓解对公开数据集的过分依赖;
同时,由于公开数据集的引入,生成模型可以事先提取到真实数据的先验知识,并且在与目标模型进行交互时,公开数据集在一定程度上约束了生成模型的梯度更新方向,使生成图像更加真实,进而加强了目标模型预测结果的物理意义。

2.2 生成对抗网络的训练

GAN网络在整个方法框架中的任务是产生模型窃取攻击任务依托的数据。考虑到之前方法对生成器的更新仅依靠目标模型和克隆模型反馈的信息,并且生成器的参数均是随机初始化的,不携带任何先验信息,因此对生成器训练需要目标模型进行大量的查询交互,这导致高额的查询代价。同时由于缺少真实图像数据的监督,生成器生成的图像不携带任何语义信息,导致目标模型的预测结果对克隆模型的指导缺少有效性。

为了使生成器能够快速拟合真实数据的分布,降低其与目标模型的交互查询次数,同时为了使克隆模型能够快速学到目标模型的功能,本文利用公开数据集对GAN网络进行预训练,使生成器能够学习真实数据的先验信息,其损失函数定义为

(1)

式中,G,D,z,x分别是生成器、判别器、随机噪声和图像数据,E表示数学期望。在预训练结束后,用生成器生成模型功能窃取需要的数据,并通过零阶优化的方法,将近似的梯度信息传递给生成器,使生成器能够生成对克隆模型来说预测困难的图像,这部分的损失函数利用l1范数对两个模型预测结果的logits做约束,具体为

(2)

式中,N和P分别表示数据集的大小和预测输出的维度(即类别数),C和T分别表示克隆模型和目标模型。由于目标模型是黑盒模型,本文假设得到的预测结果为分类概率,因此这里用log函数对其目标模型的预测结果进行操作,以近似其logits。

在使生成器生成对克隆模型来说预测困难的图像的同时,本文同时使生成的图像尽量保持真实性,因此定义GAN网络在模型窃取时的损失函数为

LG=L1+λ1L2

(3)

式中,λ1为平衡两个损失函数的超参数。

2.3 克隆模型的训练

克隆模型的学习目标是复制目标模型的功能,因此在设计损失函数时,一个很直观的想法是最小化两个模型输出的差异。即

(4)

为了提升模型窃取的效果,本文还采用了对比学习的思想,将不同样本之间的差异性刻画出来,如图3所示。

图3 对比学习的目标Fig.3 The goal of the contrastive learning in our method

本文使用InfoNCE(van den Oord等,2019)作为对比学习的损失函数。即

(5)

(6)

因此,在训练克隆模型时,定义总的损失函数为

LC=L3+λ2L4

(7)

式中,λ2是为了平衡两个损失函数的超参数。

基于真实数据感知的模型功能窃取的整体算法流程为:

输入:查询代价Q,GAN迭代次数ngan,克隆模型迭代次数nc,学习率η,公开数据集X,目标模型T,字典dict。

输出:克隆模型C。

whileQ> 0 do:

fori= 1, …,ngando;

d_real=D(x);

计算Lgan并更新GAN;

fori= 1, …,ncdo;

计算Lc并更新克隆模型C;

将predict_t存入字典dict(字典用于计算对比学习损失函数);

更新查询代价Q;

end。

3.1 数据集和目标模型

为了验证本文方法的有效性,在SVHN(street view house numbers)(Netzer等,2011)和CIFAR-10(Canadian Institute for Advanced Research-10)(Krizhevsky,2009)数据集上进行验证。目标模型和克隆模型的结构设定参考DFME(Truong等,2021)的设置,分别采用ResNet-34-8x和ResNet-18-8x作为目标模型和克隆模型的网络结构(He等,2016)。对于CIFAR-10,使用DFME训练好的目标模型;
对于SVHN,使用Adam优化器对目标模型进行优化,训练次数为150个epoch,学习率为0.001。当训练完目标模型后将其视为黑盒模型,即假设模型的内部信息未知;
对于克隆模型,使用Adam优化器对其优化,学习率设置为0.1。

针对GAN网络,本文采用DCGAN(deep convolutional generative adversarial network)的构建方式。生成器由5个反卷积层构成,中间层的激活函数采用ReLU函数,最后一层采用Tanh函数。判别器的网络结构与生成器近似对称,由5个卷积层组成,中间层的激活函数为LeakyReLU,最后一层的激活函数为sigmoid。这一部分同样用Adam优化器进行优化,在预训练时,GAN网络生成器和判别器的学习率为0.000 1。在进行模型窃取时,对CIFAR-10分类模型,生成器和判别器的学习率均为5E-5;
对SVHN分类模型,生成器和判别器的学习率均为0.000 01。整个实验中,batch size大小保持在256不变。在零阶梯度估计中,仿照DFME的设置,每次随机选取一个方向近似计算梯度。在训练克隆模型时,GAN网络与克隆模型的训练次数比重为1 ∶5。本文将算法中的ngan设置为1,nc设置为5,查询的代价Q设置为20 M。

3.2 总体实验结果

为了充分说明本文方法的效果,分别从无数据的模型窃取方法和基于替代数据的模型窃取方法中选取基准方法与本文方法进行对比。无数据模型窃取的基准方法包括DFME(Truong等,2021)和MAZE(Kariyappa等,2021);
基于替代数据集的模型窃取方法包括Knockoff(Orekondy等,2019)。

在测试数据集上对本文方法和基准方法进行测试,实验结果如表1所示。针对CIFAR-10和SVHN分类模型,本文使用Caltech-101(Li等,2004)作为公开数据集。为了方便对比,本文参考Truong等人(2021)的设定,将查询的代价设置为20 MB。括号中的数字表示使用目标模型准确率对克隆模型准确率进行归一化的结果(用×表示),本文用这一指标量化模型功能窃取的效果。可以看到,在两个不同的分类器模型上,本文方法相比于之前较先进的方法在窃取效果上都取得了较大提高。并且本文方法在CIFAR-10上的窃取效果达到0.97×,相较于knockoff提升了3%。

表1 不同模型窃取算法的实验结果Table 1 The results of different model stealing algorithms

3.3 消融实验

3.3.1 不同公开数据集对窃取效果的影响

为验证不同公开数据集对窃取效果的影响,针对SVHN目标模型,分析引入不同的公开数据集对窃取效果的影响,包括Fashion-MNIST(Xiao等,2017)、CIFAR-10、MIT Indoor 67(Quattoni和 Torralba,2009)和Caltech-101。实验结果如图4所示。可以发现,在引入不同的公开数据集时,本文方法针对SVHN分类模型功能窃取的效果均超过DFME,并且在引入的公开数据集(如Fashion-MNIST)与SVHN数据集之间相似性较弱的情况下,本文方法的效果依旧良好,在一定程度上说明了本文方法的有效性。

图4 基于不同公开数据集的功能窃取效果Fig.4 The effectiveness of model functionality stealing based on different public datasets

3.3.2 GAN网络的有效性验证

在模型功能窃取领域,基于替代数据集进行模型窃取是一种经典方法,在针对不同图像分类器时表现较好,但对用作窃取依托的替代数据集有一定限制,要求用来查询的图像和目标模型的训练数据域存在一定相关性,因此这种方法的攻击效果与查询图像和目标模型训练数据间的相似程度成正比。

本文利用GAN网络一定程度上缓解了上述问题,以CIFAR-10分类器模型为例,采用3个公开数据集进行测试,在相同的设定下不使用GAN网络进行模型窃取,为了尽可能排除其他因素的干扰,实验均不采用对比学习的损失函数,实验结果如图5所示。

图5 CIFAR-10模型在不同公开数据集上有无GAN网络的实验效果Fig.5 The experimental results of our methods under using or not using GAN for CIFAR-10 target model

结果显示,增加了GAN网络的模型实验结果在不同数据集上均明显优于原模型。由于生成器的引入以及生成器与目标模型的交互,该生成器生成的样本会携带一些目标模型的先验知识,因此可以在一定程度上缓解对公开数据域与目标模型训练数据域相似程度的依赖。当使用Fashion-MNIST数据集对CIFAR-10分类器模型进行功能窃取时,克隆模型在CIFAR-10测试数据的表现为0.749。引入生成对抗网络之后,克隆模型在CIFAR-10测试集上的表现上升到0.837。可以表明,本文提出的引入GAN网络的方法,一定程度上提升了基于替代数据集模型窃取方法的效果。

3.3.3 对比学习损失函数的有效性验证

为验证基于对比学习损失函数的效果进行消融实验,结果如表2所示。可以看出,基于对比学习的损失函数不仅对本文方法有效,在DFME和Knockoff方法上同样会为克隆模型的学习带来收益。同时,在CIFAR-10的目标模型上,本文对不同负样本个数进行实验分析,结果如图6所示。可以看出,在不同量级的负样本数量下,本文方法的效果波动范围不大,验证了本文方法对负样本个数不敏感。因此在实际场景中,负样本的个数较为容易设置。

表2 对比学习损失函数测试结果Table 2 The test results of contrastive loss

图6 不同负样本数下的实验结果Fig.6 The experimental results on different numbers of negative samples

3.4 查询代价比较

无数据的模型窃取方法虽然可以规避替代数据域与目标模型训练数据域相似程度的限制,但是由于其生成器的训练需要与目标模型进行大量的交互,将会导致查询代价大幅提高。

本文引入公开数据集,可以使生成器提取到真实数据的先验知识,有真实数据监督,生成器可以快速产生有利于模型功能窃取需要的数据,图7和表3展示了本文方法和DFME在CIFAR-10的目标模型上的实验结果。本文方法的测试曲线在同一迭代次数时均高于DFME。以测试结果为85%为例,本文方法需要65个epoch达到此效果,DFME下的克隆模型则需要96个epoch。按照本文的实验设定计算,DFME算法在测试集上达到85%的准确率,相比于本文方法需要额外提交大约2.6 M次请求。以测试结果为90%为例,本文方法下的克隆模型在测试集上达到此效果需要110个epoch,所需查询次数约为9.4 M次,与DFME算法中20 M的查询代价相比,本文方法能够在很大程度上节省查询的代价。

图7 本文方法和DFME在CIFAR-10模型上的测试结果Fig.7 The test results of different methods on CIFAR-10 model

从正则项角度出发,公开数据集在本文方法中的作用可以看成是对生成器的正则项约束。如图8和图9所示,与其他无真实数据监督的模型功能窃取方法对比,DFME由于缺少真实数据监督,生成的数据在人眼看起来没有语义信息,同时仅靠零阶梯度估计方法计算得到的梯度信息更新生成器,使每次生成器的更新带有很大随机性。本文方法在公开数据集的帮助下,生成器的更新伴随着真实数据的指导,利用真实数据约束生成器的更新,对生成器的解空间做了限制,因此本文方法能够更快速地取得良好的功能窃取效果。

>表3 在CIFAR-10模型上不同查询代价下的测试准确率Table 3 The results of different budgets on CIFAR-10 model

图8 不同代价下DFME方法生成的图像Fig.8 The generated images of DFME on different budgets ((a) 1 M; (b) 5 M; (c) 10 M; (d) 20 M)

图9 不同代价下本文方法生成的图像Fig.9 The generated images of our method on different budgets ((a) 1 M; (b) 5 M; (c) 10 M; (d) 20 M)

本文针对模型功能窃取问题展开研究,从数据真实性的角度出发,引入公开数据集,利用GAN网络改进现有基于生成模型进行模型功能窃取方法的缺陷,目的是使生成器生成的数据与真实数据的分布一致。同时,为了提升克隆模型的学习效果,将对比学习的思想引入到模型功能窃取中。本文方法相比之前最先进的方法在窃取效果上有了很大提升,由于公开数据集先验知识的引入,促进了生成器的有效学习,使生成器能够快速满足模型功能窃取任务的需要,有效降低了查询代价。然而,本文方法对生成数据的真实性约束有一定局限,窃取效果一定程度上与真实数据集的选取有关。在下一步研究中,将尝试通过迁移学习提升生成模型的泛化能力,进而减弱对公开数据集的依赖。

猜你喜欢 克隆图像函数 克隆狼环球时报(2022-09-20)2022-09-20A、B两点漂流记初中生世界·九年级(2018年12期)2018-12-22关于函数的一些补充知识中学生数理化·八年级数学人教版(2016年4期)2016-08-23高中数学中二次函数应用举隅オ理科考试研究·高中(2016年9期)2016-05-14无独有偶 曲径通幽新高考·高二数学(2015年7期)2015-10-22属于“我们”小资CHIC!ELEGANCE(2015年14期)2015-09-23属于“我们”小资CHIC!ELEGANCE(2015年15期)2015-09-01Cloning Pets克隆宠物时代英语·高二(2015年2期)2015-05-18名人语录的极简图像表达读者(2015年9期)2015-05-04一次函数图像与性质的重难点讲析初中生世界·八年级(2014年2期)2014-03-15

推荐访问:窃取 感知 模型

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0430/591493.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!