基于自优化深度网络的模型攻击方法

来源:期刊VIP网所属分类:软件开发发布时间:2021-11-12浏览:

  摘 要:机器学习方法常使用私有数据来训练模型以期获得更好的效果。然而,非授权用户可以通过模型输出来判断数据是否参与训练,破坏了数据隐私安全。对此,提出了基于深度优化网络的模型攻击方法,从攻击者的角度出发,分析攻击方法原理,有针对性地防御对模型的攻击,增强模型的隐秘性。所提方法自动对模型进行攻击,获得自优化的参数,提高攻击的准确度,充分挖掘模型中的安全缺陷,揭示模型的可改进之处,改善模型的安全性。在CIFAR-100数据集上进行了实验,得到AUC值为0.83,优于base方法。实验结果验证该方法能有效地提升攻击效果。

  关键词:机器学习;优化;隐私保护;模型攻击

  1 引言(Introduction)

  随着深度学习研究的不断深入,深度学习模型的安全问题引起了研究者的广泛关注,隐私泄露问题越来越受到重视[1-4]。一方面,模型固有的特性使攻擊者有机会获取其中的隐私信息;另一方面,模型中的隐藏层会形成较大的有效容量,将一些训练数据细节化为参数[5],记录在模型中。

  通过对测试数据的输出分析,可以对模型有一个明确的衡量,同时也急需一个有效的攻击方法来模拟对目标的攻击,发现模型中存在的问题。虽然已有一些方法,但是这些方法在模型的攻击精度上还有待提高。因此,需要设计研发一种有效的方法来提高攻击的效果,从而更好地改进模型的安全性。

  针对这一问题,本文提出了基于自优化的深度网络模型攻击方法,通过已知模型的层数,对其进行计算,得出一组攻击参数,使用这些指定参数对模型相应的层进行攻击,获得较好的攻击效果。

  2 相关工作(Related work)

  2.1 推理攻击

  针对机器学习算法的推理攻击分为成员推理和重构攻击。在重构攻击中,攻击者的目标是推断训练集中记录的属性[6]。成员推理攻击利用了一种观察,即机器学习模型在它们所训练的数据上的行为常常与它们第一次“看到”的数据不同。攻击者会构建一个攻击模型,该模型可以识别目标模型行为中的这些差异,并利用它们来区分目标模型的成员和非成员。

  深度学习的数据以不同方式被用于训练模型。基于成员推理攻击方法的攻击者可以观察深度学习过程,通过深度学习模型测量训练数据的泄露情况。本文提出的方法利用深度学习算法。

  2.2 差分隐私

  差分隐私技术使攻击者很难通过模型的输出来分辨某条数据是否被用于训练机器学习模型,从而达到保护数据隐私的效果[7]。按照差分隐私的要求,在数据集中添加或删除一条数据后,都不会显著影响作用在该数据集上的算法的输出结果[8]。差分隐私已经被用于对推理攻击的强防御机制[9-10]。研究人员将差分隐私引入模型算法中,对模型的梯度进行扰动,提高了隐私性[11]。

  本文对差分隐私方法进行改进,重点分析哪些数据被用来训练模型的个人隐私。为了达到保护隐私的目的,进一步分析攻擊方式来评估模型的优劣。对绝大多数机器学习任务而言,在算法求解过程中满足差分隐私,即可以认为实现了对模型的隐私保护。

  2.3 ML Privacy Meter

  ML Privacy Meter是Python基于Tensorflow 2.1开发的一个应用程序接口,可以针对目标模型训练攻击模型,并可以使用指定的攻击方式训练出攻击模型。ML Privacy Meter使用成员推理攻击来测量深度学习模型训练数据的信息泄露,数据被用于训练模型,攻击者也可以观察深度学习过程。

  对于一个目标数据记录,攻击模型计算损失,并可以使用一个简单的反向传播算法计算有关所有参数的损失梯度。由于深度神经网络中使用了数以百万计的参数,具有如此大维数的向量不能正确地对训练数据进行泛化。与非成员相比,模型的梯度在训练数据成员上的分布是可区分的,可以帮助对手运行精确的成员关系推理攻击,使分类模型得到很好的概括。

  3 方法(Method)

  3.1 攻击参数自优化

  虽然ML Privacy Meter提供了比较方便的测量,但是没有提供优化参数的方法。为了能获得较好的白盒攻击策略效果,本文使用整体参数优化选择的方法。这个方法充分考虑目标模型层数,进行平均细分后再决定攻击的层数N。

  在进行白盒攻击时,需要确定对哪些层进行攻击。整体参数优化法可以尽可能地对模型参数进行探索,同时又能避免逐层对模型进行穷究式探索,获取模型中最关键的中间层。可见,整体参数优化法具有明显的优势。据此,本文设计了一种攻击参数自优化方法,采用均方误差作为Loss函数,其计算方式为:

  其中,n为样例个数,是各个样例权重,为真实数据,为预测值。

  自优化网络攻击方法如算法1所示。

  算法 1:自优化网络攻击方法(Self-Optimizing Net Attack, SONA)

  1: 训练目标模型M

  2: 获得模型的网络层数参数Layer_Num

  3: 初始化攻击attack_hander

  4: 初始化攻击模型 θa

  5: 通过Split方法从Layer_Num中获得目标层列表targetLayersList

  6: for i∈[0,epochs] do

  7: mtrain_data, ntrain_data = attack_hander()

  8: moutputs = forward_pass(M,mtrain_data,N)

  9: noutpus = forward_pass(M,ntrain_data,N)

  10: 利用式(1)计算损失函数 Loss(ntrain_data,

  mtrain_data)

  11: 使用梯度下降更新参数θa

  12: end for

  3.2 目标模型

  Alexnet的网络结构模型引爆了神经网络的应用热潮,并赢得了2012届图像识别大赛的冠军,使得CNN成为在图像分类上的核心算法模型,很适合作为验证模型。Alexnet的网络结构如图1所示,包含8 层权重,前5 个是卷积的,其余3 个是完全连接的,最后一个完全连接层的输出被馈送到1000路Softmax激活函数。本文设计的网络最大化了多项逻辑回归目标,相当于最大化了在预测分布下正确标签的对数概率在训练案例中的平均值。

  AlexNet与LeNet相比,网络结构更丰富,有明显的优势。AlexNet通过使用Dropout实现数据增强,从而抑制数据过拟合,适合用来作为神经网络攻击的对象。攻击的训练流程如图2所示。

期刊VIP网,您身边的高端学术顾问

文章名称: 基于自优化深度网络的模型攻击方法

文章地址: http://www.qikanvip.com/ruanjiankaifa/60291.html