掌桥专利:专业的专利平台
掌桥专利
首页

拆分学习系统以及基于拆分学习的对抗样本制作方法

文献发布时间:2024-04-18 19:52:40


拆分学习系统以及基于拆分学习的对抗样本制作方法

技术领域

本公开涉及一种深度学习领域,尤其涉及一种拆分学习系统以及基于拆分学习的对抗样本制作方法。

背景技术

近年来,人工智能迎来了新一波的发展高潮,机器学习在其中扮演了核心角色。为了训练一个表现良好的机器学习模型,需要采集大量高质量的数据。但在大量应用场景中,隐私保护使得无法从用户收集隐私数据到服务器进行集中模型训练,这对机器学习的广泛应用造成障碍。

为此,能够让参与方在不泄露数据的前提下协同训练一个模型从而克服数据隐私问题的多方联合建模被提出。多方联合建模中一个重要且普遍的场景是拆分学习(SL)。拆分学习通过将敏感的原始数据保存在客户端本地并仅与服务器交换中间计算来缓解隐私问题。然而,拆分学习虽然在保护数据隐私方面具有广泛的应用前景,却仍然存在模型安全问题。

由此,需要对拆分学习的模型安全性进行验证。

发明内容

本公开要解决的一个技术问题是提供一种拆分学习系统以及基于拆分学习的对抗样本制作方法。该系统中的服务器能够在客户端完全不知情的情况下以极低的计算和数据收集成本完成影子输入层的训练并制作足以使得经训练模型分类错误的对抗样本,从而对拆分学习的模型安全性提出了挑战。

根据本公开的第一个方面,提供了一种拆分学习系统,包括客户端和服务器,所述客户端上布置有神经网络模型的输入层,所述服务器上布置有所述神经网络模型的服务器层,其特征在于,所述服务器上还布置有影子输入层,并且在所述神经网络模型训练阶段的第i次迭代中用于:在前向传播时,获取来自客户端的输入层输出,其中,通过将训练数据输入所述输入层来生成所述输入层输出;向所述影子输入层输入伪训练数据以获取影子输入层输出;计算相似性损失,所述相似性损失用于表征所述输入层输出和所述影子输入层输出之间的相似性;在反向传播时,计算服务器层梯度信息并且根据所述相似性损失计算的相似度梯度信息,并将融合有服务器层梯度信息和相似度梯度信息的融合梯度信息返回给所述客户端,其中,所述相似度梯度信息用于更新所述影子输入层的参数,所述融合梯度信息被所述客户端用于更新所述输入层的参数。

可选地,所述客户端上还布置有所述神经网络模型的输出层,所述输入层、所述服务器层和所述输出层构一个完整的神经网络模型,并且所述服务器用于:在前向传播时,将所述输入层输出作为所述服务器层的输入以生成服务器层输出,并将所述服务器层输出提供给所述客户端;以及在反向传播时,获取输出层梯度信息,并基于所述输出层梯度信息计算所述服务器层梯度信息,其中,所述输出层梯度信息基于所述所述服务器层输出和所述训练数据的标签数据生成。

可选地,所述客户端和所述服务器在预定迭代次数后完成所述神经网络模型的训练,并且所述服务器在所述神经网络模型推理阶段用于:利用经训练的所述影子输入层和所述服务器层将自然样本制作成用于输入所述输入层的对抗样本。

可选地,利用经训练的所述影子输入层和所述服务器层将自然样本制作成用于输入所述输入层的对抗样本包括:将所述自然样本以及添加了扰动的扰动样本送入由所述影子输入层和所述服务器层连接而成的对抗样本制作网络;获取所述对抗样本制作网络输出的所述自然样本的中间计算结果和所述扰动样本的中间计算结果;以及基于所述自然样本的中间计算结果和所述扰动样本的中间计算结果生成所述对抗样本。

可选地,基于所述自然样本的中间计算结果和所述扰动样本的中间计算结果生成所述对抗样本包括:求取扰动预算范围内使得所述自然样本的中间计算结果和所述扰动样本的中间计算结果余弦距离最远的优化扰动值;以及将所述优化扰动值添加至所述自然样本,以获取所述对抗样本。

可选地,所述输入层和所述服务器层构一个完整的神经网络模型,所述服务器层输出用作所述神经网络模型的输出,并且所述服务器用于:基于所述服务器层输出与所述训练数据的标签数据计算损失函数,并基于所述损失函数生成所述输出层梯度信息。

可选地,所述伪训练数据是由所述服务器基于所述服务器层的结构收集的所述训练数据的同类数据。

根据本公开的第二个方面,提供了一种基于拆分学习的对抗样本制作方法,应用于拆分学习系统的服务器,并且所述方法包括:在神经网络模型训练阶段:在前向传播时,获取来自客户端的输入层输出,其中,通过将训练数据输入所述输入层来生成所述输入层输出;向所述影子输入层输入伪训练数据以获取影子输入层输出;计算相似性损失,所述相似性损失用于表征所述输入层输出和所述影子输入层输出之间的相似性;在反向传播时,计算服务器层梯度信息并且根据所述相似性损失计算的相似度梯度信息,并将融合有服务器层梯度信息和相似度梯度信息的融合梯度信息返回给所述客户端;以及在所述神经网络模型推理阶段:使用由所述影子输入层和所述服务器层连接而成的对抗样本制作网络制作对抗样本。

可选地,使用由所述影子输入层和所述服务器层连接而成的对抗样本制作网络制作对抗样本包括:

将所述自然样本以及添加了扰动的扰动样本送入由所述影子输入层和所述服务器层连接而成的对抗样本制作网络;

获取所述对抗样本制作网络输出的所述自然样本的中间计算结果和所述扰动样本的中间计算结果;以及

基于所述自然样本的中间计算结果和所述扰动样本的中间计算结果生成所述对抗样本。

根据本公开的第三个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。

根据本公开的第四个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。

由此,本发明通过影子模型训练解决共享模型部分缺失问题,并通过产生对抗性示例进行评估的本地对抗性攻击。影子模型训练只需要少量未标记的同类数据,并且可以通过更改自然样本的中间输出来制作对抗性样本。上述攻击过程成本低且有效,显示出现有拆分模型的脆弱性。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了常规拆分学习和常规拆分学习的模型训练示意图。

图2示出了构造对抗样本进行对抗性攻击的一个例子。

图3示出了能够实现本发明的拆分学习系统的组成示意图。

图4示出了根据本发明一个实施例的神经网络模型训练训练图。

图5示出了根据本发明一个实施例的基于拆分学习的对抗样本制作方法的示意性流程图。

图6示出了根据本发明一实施例可用于实现上述基于拆分学习的对抗样本制作方法的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

人工神经网络,尤其是具有多个隐藏层的深度神经网络(DNN)出色的性能是由不断增长的模型复杂性和大型数据集的可用性驱动的,因为大型DNN模型更有能力从海量数据中捕获和存储知识数据。

然而,训练具有数百万或数十亿参数的DNN模型的开销非常昂贵,需要足够的高性能机器;并且DNN强大泛化能力的基础需要大量高质量训练数据的支撑。在实际应用场景中,数据通常分散在不同的位置,直接访问或收集它们会产生数据隐私问题。例如,在物联网时代,边缘设备正在生成和收集大量数据,但这些数据的敏感性和边缘设备有限的计算能力使得释放所收集数据的潜力具有挑战性。因此,在多个计算节点上拆分数据和计算的分布式训练近年来引起了人们的关注。

拆分学习(SL)作为解决上述问题的一种有前途的分布式解决方案出现。拆分学习通过将整个网络拆分为由不同参与者(即客户端和服务器)计算的子网络来实现协作模型训练。它通过将敏感的原始数据保存在客户端本地并仅与服务器交换中间计算来缓解隐私问题。在训练过程中,服务器承担了大部分涉及的计算成本,使得拆分学习对于计算资源有限的客户端来说是轻量级和可扩展的。拆分学习中模型被分为两个子模型:输入层和服务器层。客户端训练服务器层。然后,输入层的输出被发送到服务器,服务器使用服务器层完成剩余的前向传播过程,而不评估来自客户端的私有原始数据。反向传播过程也以类似的方式执行。然而,普通拆分学习需要客户端向服务器公开标签,为了进一步减少隐私泄露,U形配置的拆分学习被提出。其中,完整模型末尾的几层,即输出层,被进一步拆分出来转交给客户端。这样就消除了标签共享的需要。

图1示出了常规拆分学习和常规拆分学习的模型训练示意图。如图左侧所示,在对应于(a)的常规拆分学习中,一个完整的神经网络模型被切分成了两个部分,即,输入层和服务器层。输入层对应于模型最上面的若干层,并被设置在客户端,用于接收输入的训练数据,并产生中间计算结果。服务器层则设置在服务器上,并且包括除输入层之下的全部层(即,也包括输出)。服务器层接收中间计算结果并继续进行计算,生成的输出与标签比较以计算损失函数,再根据反向传播算法基于损失函数计算梯度,更新服务器层上的参数。服务器层计算的梯度被传递给客户端,客户端再进行输入层的梯度计算并更新参数。显然,在常规拆分学习,服务器需要知晓每轮数据输入所对应的标签,从而增大了隐私泄露的风险。

而如图右侧所示,在对应于(b)的常规拆分学习中,一个完整的神经网络模型被切分成了三个部分,即,输入层、服务器层和输出层。输入层对应于模型最上面的若干层,并被设置在客户端,用于接收输入的训练数据,并产生第一中间计算结果。服务器层则设置在服务器上,并且包括除输入层之下和输出层之上的全部中间层。服务器层接收第一中间计算结果并继续计算,生成第二中间计算结果。输出层对应于模型最下面的若干层,并被设置在客户端,用于接收第二中间计算结果以产生模型输出。训练数据标签保存在客户端本地,用于与模型输出比较以计算损失函数,再根据反向传播算法基于损失函数计算输出层梯度,更新输出层的参数。输出层梯度被提供给服务器,用于计算服务器层梯度。计算服务器层梯度用于更新服务器层的参数并被传递给客户端,客户端再进行输入层的梯度计算并更新参数。显然,在U型拆分学习,服务器并不知晓每轮数据输入所对应的标签,能够更好地保护客户端上的数据隐私。

本发明的方案虽然能够适用于常规拆分学习,当更适用于验证具有U形配置的拆分学习的脆弱性。首先,这种类型的拆分学习由于允许保护数据和标签而更有利。其次,在这种设置下发起攻击更具挑战性,因为与常规拆分学习相比,服务器的可用资源非常有限。第三,在U型拆分学习中开发的攻击更加通用,可以无缝地植入到常规拆分学习中。

针对拆分学习,大量的工作集中在检验拆分学习是否可以真正保护隐私。然而,缺乏关于在拆分学习中针对模型安全性的验证。不安全的模型在实际中被广泛部署会造成大量损失,尤其是在安保或医疗等关键部门。

通常,模型安全是指不希望公开训练的模型,因为攻击者可以利用该模型对基于模型的应用程序发起对抗性攻击。通过访问模型,对抗性攻击会制造人类难以察觉的对抗性噪声,并将噪声强加到自然样本中会产生对抗性示例,从而导致模型出错。

图2示出了构造对抗样本进行对抗性攻击的一个例子。如图所示,左侧的原始熊猫图片输入某一经训练的图片分类模型之后,模型以过半的置信度推测该图片中包括熊猫。但该图片在由攻击者施加一些微小的特制噪声生成对抗样本后,可以得到右侧的图片。右侧的图片(即,原始图片加入特制微小噪声后得到的对抗样本)在人眼看来还是熊猫图片,并且左右两种图片人眼无法区分,但神经网络对该对抗样本会产生意料之外的输出,例如,以极高的置信度推测该图片中包括的是长臂猿。

深度神经网络对对抗性攻击的脆弱性成为其部署在例如自动驾驶、医疗等高安全性要求的场景的主要约束。由于对抗攻击能够暴露深度神经网络的盲点,因此开发有效的对抗攻击已成为深度学习安全领域的一项基本任务。

尽管DNN在许多复杂任务上取得了令人印象深刻的性能,但DNN的内部运行机制对人类仍然是不透明的,并且可以恶意探索此功能以对DNN发起对抗性攻击。

对抗性攻击沿模型易受攻击的方向向自然样本中施加很小的噪声以制作对抗性示例,并且许多研究经验表明DNN对对抗性示例具有显着的脆弱性。通常,如果允许DNN完全可访问,则将输入梯度方向视为模型易受攻击的方向,即采用损失函数关于数据的梯度。自然样本作为对抗性噪声。该场景也称为白盒场景。对于传统的训练范式,模型训练者通常是模型部署者,训练出来的模型不太可能泄露给不受信任的人。因此,在黑盒场景下发起攻击在实际应用中更为常见。黑盒攻击主要依赖于对抗样本的可迁移性,即在代理模型上本地制作的对抗样本有时也可以欺骗另一个未知模型。此外,基于迁移的黑盒攻击特别遵循以下两个阶段:1)收集足够量的数据及其标签并从头开始训练代理模型,2)本地制作对抗样本。对于第一阶段,在现实世界中很难获得与目标模型相似的训练数据集,还需要强大的计算能力。因此,对抗性攻击通常难以发动。

在DNN的传统训练范式中,模型训练者通常是模型部署者,训练后的模型不太可能向不受信任的模型泄露。相比之下,对于拆分学习,服务器不受信任是常见的,而模型的一部分被交付给服务器。因此,本发明给出了不受信任服务器制作对抗样本的方案,该方案可行且成本低廉,揭示了拆分学习对抗对抗性攻击的脆弱性。

在本发明中,摒弃了对抗性攻击中常见的代理模型训练方法,而是改为利用拆分学习需要服务器深度参与的特性,在训练客户端的输入层的同时,在服务器上协同训练一个影子输入层。由于服务器上布置有服务器层,服务器可以通过服务器层的结构来确定训练数据的数据类型(例如,根据服务器层的结构判定训练数据是图像还是语音),并且可以轻易收集类似的数据。收集的类似数据(其后称为“伪训练数据”)可以被提供给影子输入层,并且由于神经网络模型在上层提取训练数据中更泛化特征这一特性,使得影子输入层的输入数据即使与输入层输入的真实训练数据不同,也能够进行相当程度上的协同训练。训练得到的影子输入层能够与服务器层合并为对抗样本制作网络,用于向自然样本添加经制作的微小扰动以得到对抗样本。在优选实施例中,本发明的方案应用于U型拆分学习。由于输出层位于客户端,影子输入层与服务器层合并得到的网络输出其实对应于中间计算结果。此时,可以通过使得自然样本的中间计算结果与添加扰动后的中间计算结果距离最远(需要在扰动预算范围内)来求取优化扰动并制作对抗样本。

图3示出了能够实现本发明的拆分学习系统的组成示意图。如图所示,拆分学习系统300可以包括服务器310和多个客户端320。服务器310可以为多个客户端320提供模型训练服务以及推理阶段的中间层计算服务。在图示的例子中,客户端320上布置有神经网络模型的输入层和输出层,服务器310上则布置有对应于神经网络中间层的服务器层。在其他例子中,也可以是客户端320上布置有神经网络模型的输入层,服务器310上则布置有对应于神经网络中间层和输出层的服务器层。

在本发明中,为了实现低成本的对抗攻击,服务器310上还布置有影子输入层。在神经网络模型训练阶段,影子输入层被以客户端不知晓的方式在服务器上被协同训练,经训练的影子输入层随后可以结合经训练的服务器层用于对抗样本的制作。

图4示出了根据本发明一个实施例的神经网络模型训练训练图。如图4所示,为方便起见,拆分学习系统400仅包括一个服务器410和一个客户端420。模型训练可以包括T次迭代(如下结合表1示出),并且服务器410在神经网络模型训练阶段的第i次迭代中用于:在前向传播时,获取来自客户端的输入层输出,其中,通过将训练数据输入所述输入层来生成所述输入层输出。在服务器层进行反向传播之前,服务器410可以向影子输入层输入伪训练数据以获取影子输入层输出,并且计算相似性损失。伪训练数据是由所述服务器基于所述服务器层的结构收集的所述训练数据的同类数据,例如,都为图像数据,都为语音数据。相似性损失用于表征所述输入层输出和所述影子输入层输出之间的相似性。在一个实施例中,相似性损失可以是输入层输出和影子输入层输出之间的距离(例如,L2范数)。

在反向传播时,服务器410可以计算服务器层梯度信息并且根据所述相似性损失计算的相似度梯度信息,并将融合有服务器层梯度信息和相似度梯度信息的融合梯度信息返回给所述客户端。在此,相似度梯度信息用于更新所述影子输入层的参数,所述融合梯度信息被所述客户端用于更新所述输入层的参数。

图4的例子中示出了客户端包括输出层的U型配置。即,客户端420上还布置有所述神经网络模型的输出层,所述输入层、所述服务器层和所述输出层构一个完整的神经网络模型。

此时,在前向传播时,服务器410将从客户端420获取的输入层输出作为所述服务器层的输入以生成服务器层输出,并将所述服务器层输出提供给所述客户端420。而在反向传播时,服务器410获取由客户端420传递的输出层梯度信息,并基于所述输出层梯度信息计算所述服务器层梯度信息。该输出层梯度信息可以基于所述所述服务器层输出和所述训练数据的标签数据生成。

具体地,在对U型配置的拆分学习模型进行训练时,在前向传播阶段,客户端420使用本地的训练数据输入模型的输入层(例如,从客户端拥有数据集D

服务器计算服务器层输出

与常规的拆分学习操作不同的是,在获取到输入层的输出o

同样在前向传播中,客户端的输出层接收到来自服务器的服务器层输出

服务器在接收到输出层梯度

在此,与现有技术不同的是,客户端接收到的梯度并不是服务器梯度,而是融合了相似性梯度后的融合梯度,并使用融合梯度计算自身的输入层梯度用于参数更新。这就使得客户端针对输入层的梯度求取实际上包含了相似性梯度的影响(即,使得客户端的输入层向影子输入层靠近),同理使用相似性梯度更新参数的影子输入层参数也会向输入层靠近。(具体可以参见应用例,尤其是表1的描述)。

另外,虽然未在图4中示出,但是在一个实施例中,也可由输入层和服务器层构一个完整的神经网络模型。即,服务器层用作所述神经网络模型的输出(对应于图1中的(a)部分)。此时,服务器410用于:基于所述服务器层输出与所述训练数据的标签数据计算损失函数,并基于所述损失函数生成所述输出层梯度信息。

此时,待训练的神经网络仅包括对应于

服务器计算服务器层输出

同样地,在获取到输入层的输出o

客户端420和服务器410在预定迭代次数(例如,T次)后完成所述神经网络模型的训练,并且所述服务器在所述神经网络模型推理阶段用于:利用经训练的所述影子输入层和所述服务器层将自然样本制作成用于输入所述输入层的对抗样本。在图4的例子中,服务器层并不包括输出层,因此服务器无法根据标签来制作对抗样本。此时,可以直接基于服务器层生成的中间结果来求取优化的扰动值。于是,利用经训练的所述影子输入层和所述服务器层将自然样本制作成用于输入所述输入层的对抗样本包括:将所述自然样本以及添加了扰动的扰动样本送入由所述影子输入层和所述服务器层连接而成的对抗样本制作网络;获取所述对抗样本制作网络输出的所述自然样本的中间计算结果和所述扰动样本的中间计算结果;以及基于所述自然样本的中间计算结果和所述扰动样本的中间计算结果生成所述对抗样本。

进一步地,基于所述自然样本的中间计算结果和所述扰动样本的中间计算结果生成所述对抗样本包括:求取扰动预算范围内使得所述自然样本的中间计算结果和所述扰动样本的中间计算结果余弦距离最远的优化扰动值;以及将所述优化扰动值添加至所述自然样本,以获取所述对抗样本。

服务器在制作本地对抗样本时,可以具体采取如下迭代操作(例如,总迭代次数为K)来确定优化的扰动值δ:

首先,初始化用于自然样本x(此时的x表示自然样本,而非训练样本)的对抗噪声δ,例如,0向量。随后,将自然样本x和添加了扰动后的样本x+δ都送入经训练的影子输入层和服务器层组成得到的代理模型,分别得到服务器层输出

于是,可以在干扰预算∈内对δ进行优化,使得L

由此,本发明使用影子输入层代替输入层,将影子输入层和服务器层的组合作为代理模型。还添加了相似性损失来提升输入层和阴影输入层之间的相似性,以获得更好的攻击效果。

本发明还可以实现为一种基于拆分学习的对抗样本制作方法。图5示出了根据本发明一个实施例的基于拆分学习的对抗样本制作方法的示意性流程图。该方法应用于拆分学习系统的服务器,例如服务器410。

在前向传播时,在步骤S510,获取来自客户端的输入层输出。所述输入层输出通过将训练数据输入所述输入层来生成。

在步骤S520,向所述影子输入层输入伪训练数据以获取影子输入层输出。

在步骤S530,计算相似性损失。该相似性损失用于表征所述输入层输出和所述影子输入层输出之间的相似性。

随后,在反向传播时,在步骤S540,计算服务器层梯度信息并且根据所述相似性损失计算的相似度梯度信息,并将融合有服务器层梯度信息和相似度梯度信息的融合梯度信息返回给所述客户端。

如上步骤S510-S540在神经网络模型训练阶段实施,由此通过T次迭代训练得到输入层、服务器层和协同训练的输入层和影子输入层。

于是,在随后的神经网络模型推理阶段,在步骤S550,可以使用由所述影子输入层和所述服务器层连接而成的对抗样本制作网络制作对抗样本。

在U型配置中,由所述影子输入层和所述服务器层连接而成的对抗样本制作网络并非是一个完整的能够输出分类结果的网络(因为不包括输出层),此时使用由所述影子输入层和所述服务器层连接而成的对抗样本制作网络制作对抗样本包括:将所述自然样本以及添加了扰动的扰动样本送入由所述影子输入层和所述服务器层连接而成的对抗样本制作网络;获取所述对抗样本制作网络输出的所述自然样本的中间计算结果和所述扰动样本的中间计算结果;以及基于所述自然样本的中间计算结果和所述扰动样本的中间计算结果生成所述对抗样本。

具体地,在对U型配置的拆分学习模型进行训练时,在前向传播阶段,客户端使用本地的训练数据输入模型的输入层,计算输入层的输出

服务器计算服务器层输出

与常规的拆分学习操作不同的是,在获取到输入层的输出o

同样在前向传播中,客户端的输出层接收到来自服务器的服务器层输出

服务器在接收到输出层梯度

图6示出了根据本发明一实施例可用于实现上述基于拆分学习的对抗样本制作方法的计算设备的结构示意图。计算设备600尤其可以实现为具备相当处理能力的服务器。

参见图6,计算设备600包括存储器610和处理器620。

处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。

存储器610可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的基于拆分学习的对抗样本制作方法。

应用例

本发明提出了一种能够有效利用拆分学习特性的攻击方法SLADV。SLADV包括两个阶段,即影子模型训练和本地对抗攻击。影子模型训练和本地对抗分别对应模型训练阶段和模型部署阶段。如下的表1和表2分别概述了这两个阶段。

1.影子模型训练

此阶段的首要目标是训练代理模型,随后利用代理模型产生对抗性示例来攻击目标模型。常见的基于迁移的攻击假设目标模型的整个标签域都是可访问的,并收集大量与目标模型的训练集相同分布的数据。然后,攻击者构建一个与目标模型具有相似架构的代理模型,并在收集到的数据上训练代理模型。在攻击阶段,通过将噪声降低代理模型对真实标签到原始样本中的置信度,由此产生的对抗样本可以欺骗目标模型。

类似地,SLADV也训练了一个代理模型来发起攻击。在拆分学习中,服务器持有服务器层,服务器层可以被恶意探索以降低发起攻击的代价。显见的方法是创建并训练影子输入层和影子输出层(与服务器层兼容),然后连接影子输入层、服务器层和影子输出层作为代理模型。然而,本发明并未使用这一显见的结构,这是因为为了进行廉价攻击,攻击者并不查询所收集数据的真实标签。没有标签则无法计算损失,因此影子输入层和影子输出层在没有监督信号的情况下不可训练。此外,即使收集数据的标签可用,仍然存在攻击问题。具体由于目标模型的标签域不可访问,因此收集数据的标签域与目标模型的标签域之间可能存在显着差距,表明代理模型与目标模型之间的相似性较差,这导致攻击成功率低。

由此,本发明完全避免了使用影子输出层,并且只能依赖影子输入层和服务器层。由于SLADV不能常规地使用降低代理模型中相应标签的预测概率来产生对抗性示例,因此优选使用中间结算结果来作为替代(参见如下2.部分)。

在拆分学习中,客户端将输入层的输出发送到服务器,因此本发明采用输入层的输出作为影子输入层的监督信号。详细地说,在每次迭代中,引入了一个额外的差异损失项L

其中

·客户端通过

·服务器分别通过

·客户端通过

整个过程在表1中进行了概述。

表1

除了利用输入层和影子输入层的输出之间的差异作为监督信号外,在另一个实施例中还可以利用服务器层的输出差异。然而,由于模型趋向于在浅层提取一般性特征而在深层提取更特定的特征,因此利用服务器层输出差异的实现表现更差。根据观察,由于客户端和服务器之间不可忽略的数据分布差异,强行对齐服务器层的输出可能会导致模型性能崩溃。相比之下,对齐输入层的输出更有意义,因为输入层通常提取不同类型数据共享的特征。

2.本地对抗攻击

影子模型训练完成后,训练好的影子输入层作为输入层的替代。在此通过将影子输入层和服务器层结合起来作为代理模型。由于由此得到的代理模型缺少输出层,这表明在基于迁移的攻击中制作对抗性示例的常用技术不能用于本发明,因为这些方法需要预测概率。因此,SLADV不是通过降低预测概率来制作对抗样本,而是通过扰动中间输出来制作对抗样本。直观地说,由于输出层需要根据服务器层的输出进行预测,因此可以通过更改服务器层的输出来欺骗目标模型。此外,如果影子输入层和输入层足够相似,这种引起影子输入层和服务器层组合的输出发生相当大变化的噪声也可能对输入层和服务器层组合的输出产生一致的影响。发明人业已证明上述想法在常规条件(温和正则化条件)下的有效性。在实践中,SLADV通过优化噪声来实现这一想法,这些噪声会降低扰动样本和未扰动样本的中间输出之间的余弦相似度。在数学上,可以通过将δ初始化为零向量,SLADV根据以下更新方程对δ进行K次迭代优化:

其中β是更新步长,∈是给定的扰动预算,如果输入超出扰动预算,Clip∈{·}将输入绘制到∈-ball(通常是∞-范数)。

表2

上文中已经参考附图详细描述了根据本发明的拆分学习模型安全性验证方案。本发明使用了一个最具挑战性的拆分学习设置(其中不受信任的服务器仅保存整个模型的中间层,即攻击者的可用资源最少),评估了拆分学习对抗对抗性攻击的鲁棒性。现有的对抗性攻击通常侧重于集中训练设置而不是协作设置,这表明无法有效利用拆分学习的特征并导致高估鲁棒性。为了解决这个问题,深入到拆分学习的底层,本发明提出了一种充分利用了拆分学习特性的称为SLADV的攻击方法,SLADV包括两个阶段:解决共享模型部分缺失问题的影子模型训练,以及产生对抗性示例进行评估的本地对抗性攻击。影子模型训练只需要一些未标记的同类数据,并且在第二阶段,SLADV将自然样本的中间输出更改为制作对抗性样本。上述攻击过程成本低且有效。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 一种基于机器学习算法的试卷试题拆分工具及其拆分提取方法
  • 一种基于深度强化学习的深度学习漏洞检测模型对抗样本生成方法和系统
技术分类

06120116331537