CN115470526A - 基于黑盒模型的对抗攻击数据的处理方法和装置 - Google Patents
基于黑盒模型的对抗攻击数据的处理方法和装置 Download PDFInfo
- Publication number
- CN115470526A CN115470526A CN202211119922.5A CN202211119922A CN115470526A CN 115470526 A CN115470526 A CN 115470526A CN 202211119922 A CN202211119922 A CN 202211119922A CN 115470526 A CN115470526 A CN 115470526A
- Authority
- CN
- China
- Prior art keywords
- sample
- data sample
- attacked
- disturbance
- candidate 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
Images
Classifications
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于黑盒模型的对抗攻击数据的处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:确定第一被攻击数据样本和被攻击样本数据的至少一个第一候选数据样本;对第一被攻击数据样本进行扰动处理,得到对应的伪样本;将伪样本与至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;根据特征相似度最高的候选数据样本对伪样本的扰动特征进行更新,得到构造的伪样本。采用本方法能够提高了构造的伪样本的真实性。
Description
技术领域
本申请涉及神经网络的防御技术领域,特别是涉及一种基于黑盒模型的对抗攻击数据的处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着深度学习算法成功应用于推荐系统中,推荐系统的性能和效率得到进一步提升。然而当前研究已证明深度学习模型极易受到攻击,因此设计高效地攻击算法去测试基于深度学习的推荐系统的脆弱性至关重要。因为推荐系统处理的数据是离散型的,因此基于深度学习的攻击算法不能直接用于推荐系统中。当前投毒攻击被广泛用于推荐系统的最主要攻击算法,该算法主要在输入数据中加入假的数据从而降低模型的性能。因此如何设计高效的黑盒攻击算法具有重要意义。
常见的黑盒攻击包括:复制攻击、查询攻击和替代攻击。其中,替代攻击,即白盒模型采用蒸馏方法学习到黑盒模型的输出分布,之后对训练好的白盒模型展开攻击并得到相应的扰动样本,最后将这些扰动样本去攻击黑盒模型。然而,基于训练好的白盒模型展开攻击得到的扰动样本真实性低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高构造的伪样本的真实性的基于黑盒模型的对抗攻击数据的处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种基于黑盒模型的对抗攻击数据的处理方法。
所述方法包括:
确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
在其中一个实施例中,所述将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本,包括:
获取所述伪样本的特征属性;
若所述特征属性为离散特征,且所述伪样本所有扰动特征不存在于所述至少一个候选数据样本中,则确定不存在于所述至少一个第一候选数据样本中的待更新扰动特征;
确定所述至少一个第一候选数据样本的样本特征与所述待更新扰动特征的相似度,根据所述相似度得到特征相似度最高的候选数据样本。
在其中一个实施例中,所述方法还包括:
根据所述构造的伪样本攻击目标黑盒模型,得到攻击结果;
根据所述攻击结果确定所述构造的伪样本的可靠度。
在其中一个实施例中,所述对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本,包括:将所述第一攻击数据样本输入至训练好的扰动生成网络中,输出对应的伪样本。
在其中一个实施例中,所述扰动生成网络的训练,包括:
获取用于训练所述扰动生成网络的第二被攻击数据样本和所述被攻击数据样本的至少一个第二候选数据样本;
将所述第二被攻击数据样本输入至所述扰动生成网络,经过所述扰动生成网络的嵌入层、编码器和解码器,输出所述第二被攻击数据样本的扰动向量;
将所述扰动向量输入至替代模型的网络层,得到预测结果;
将所述预测结果与对应的候选子数据样本进行比对,得到对比损失;
基于所述对比损失对所述编码器和解码器进行训练,得到训练好的扰动生成网络。
在其中一个实施例中,所述基于所述对比损失对所述编码器和解码器进行训练,得到训练好的扰动生成网络,包括:
基于所述对比损失,将所述至少一个第二候选数据样本输入至替代模型,输出中间向量特征;
对所述扰动向量和所述中间向量特征进行相似性求解,得到平均损失;
基于所述平均损失对所述编码器和解码器进行训练,直到所述平均损失收敛到预设值,得到训练好的扰动生成网络。
在其中一个实施例中,所述替代模型是根据所述目标黑盒模型确定的,所述替代模型的确定方式,包括:
获取原始数据集和构建的替代模型;
分别将所述原始数据集输入至替代模型和目标黑盒模型中,得到所述替代模型的第一输出特征,和所述目标黑盒模型的第二输出特征;
根据所述第一输出特征和所述第二输出特征,确定所述替代模型和所述目标黑盒模型之间的输出损失;
根据所述第一输出特征确定所述替代模型的分类损失;
根据所述分类损失和所述输出损失,确定所述替代模型的总损失函数,得到与所述目标黑盒模型功能相同的替代模型。
在其中一个实施例中,所述获取用于训练所述扰动生成网络的第二被攻击数据样本和所述被攻击数据样本的至少一个第二候选数据样本,包括:
获取训练样本集;
根据所述训练样本集中各样本的属性,对所述训练样本集进行划分,得到被攻击数据样本集和候选数据样本集;
基于推荐算法,从所述候选数据样本集中确定与所述被攻击数据样本集中每个第二被攻击数据样本集相似的至少一个第二候选数据样本。
第二方面,本申请还提供了一种基于黑盒模型的对抗攻击数据的处理装置。所述装置包括:
数据确定模块,用于确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
扰动处理模块,用于对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
特征比对模块,用于将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
构造模块,用于根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
上述基于黑盒攻击的对抗攻击数据的处理方法、装置、计算机设备、存储介质和计算机程序产品,通过确定第一被攻击数据样本对应的至少一个第一候选数据样本,对第一被攻击数据样本进行扰动处理,得到对应的伪样本;通过从至少一个第一候选数据样本选取与伪样本相似度最高的候选数据样本,对伪样本的扰动特征进行更新,提高了生成的伪样本的真实性。
附图说明
图1为一个实施例中基于黑盒模型的对抗攻击数据的处理方法的应用环境图;
图2为一个实施例中基于黑盒模型的对抗攻击数据的处理方法的流程示意图;
图3为一个实施例中候选数据样本步骤的流程示意图;
图4为一个实施例中扰动生成网络的训练方法的流程示意图;
图5为一个实施例中替代模型的确定方法的流程示意图;
图6为另一个实施例中基于黑盒模型的对抗攻击数据的处理方法的流程示意图;
图7为一个实施例中基于黑盒模型的对抗攻击数据的处理结构框图;
图8为一个实施例中确定构造的伪样本的架构图;
图9为一个实施例中基于黑盒模型的对抗攻击数据的处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供基于黑盒模型的对抗攻击数据的处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端确定第一被攻击数据样本和被攻击样本数据的至少一个第一候选数据样本;对第一被攻击数据样本进行扰动处理,得到对应的伪样本;将伪样本与至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;根据特征相似度最高的候选数据样本对伪样本的扰动特征进行更新,得到构造的伪样本。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可以理解的是,本申请中的“第一”和“第二”用于区别不同的对象,例如,“第一被攻击数据样本”和“第二被攻击数据样本”中的“第一”和“第二”用于区分的不同的被攻击数据样本,“第二被攻击数据样本”也可以为“第一被攻击数据样本”,“第一被攻击数据样本”也可以是“第二被攻击数据样本”。
在一个实施例中,如图2所示,提供了一种基于黑盒模型的对抗攻击数据的处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,确定第一被攻击数据样本和被攻击样本数据的至少一个第一候选数据样本。
其中,被攻击数据样本和候选数据样本可以根据数据的点击率来确定,例如,将点击率为0的历史数据确定为被攻击数据样本,将点击率为1的历史数据确定为被攻击数据样本。在不同的应用场景中,被攻击数据样本和候选数据样本的数据种类不同,例如,被攻击数据样本和候选数据样本可以但不仅限于是图像数据。在确定每一个被攻击数据样本对应的候选数据样本时,可以但不仅限于通过KNN算法来确定。被攻击数据样本中包括同一个对象的多个特征,被攻击数据样本可以理解为异常数据,候选数据样本可以理解为正常数据。
具体地,获取在相关的应用场景下,人机交互产生的历史数据,确定历史数据的数据属性,根据各历史数据的数据属性得到各历史数据的点击率,根据历史数据的点击率进行数据划分,得到被攻击数据样本和候选数据样本。对于每个一个第一被攻击数据样本(click=0)找出与它接近的Top-K个样本(click=1),从而得到每一个第一被攻击数据样本对应的至少一个第一候选数据样本。
步骤204,对第一被攻击数据样本进行扰动处理,得到对应的伪样本。
其中,扰动处理是指对被攻击数据样本中加入干扰特征进行特征处理,产生新的特征,得到伪样本,伪样本也理解为是扰动向量。扰动处理可以是通过构造扰动生成网络进行扰动处理实现的,扰动生成网络中包括ModuleDict嵌入层、编码器、解码器、重构网络(Reonstruction Network)等。
步骤206,将伪样本与至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本。
其中,伪样本的特征可以是离散特征,也可以是连续特征。可以理解的是,连续特征存在连续性,对于连续特征不需要进行逼真性处理。
步骤208,根据特征相似度最高的候选数据样本对伪样本的扰动特征进行更新,得到构造的伪样本。
其中,构造的伪样本用于攻击黑盒系统,以提高黑盒系统的防御能力和容错率。黑盒系统可以但不仅限于是黑盒推荐系统。
具体地,为了确保伪样本的真实性,对伪样本的特征进行检测,若伪样本的特征为离散特征,则采用KNN算法,将伪样本中的所有特征与至少一个第一候选数据样本进行特征比对进行比对,得到特征相似度最高的候选数据样本。
上述基于黑盒模型的对抗攻击数据的处理方法中,通过确定第一被攻击数据样本对应的至少一个第一候选数据样本,对第一被攻击数据样本进行扰动处理,得到对应的伪样本;通过从至少一个第一候选数据样本选取与伪样本相似度最高的候选数据样本,对伪样本的扰动特征进行更新,提高了生成的伪样本的真实性。
其中,在确定特征相似度最高的候选数据样本时,判断伪样本中的离散特征是否都存在候选数据样本,若有不存在于候选数据样本的离散特征,则可以从候选数据样本中为每一个不存在的离散特征确定相似度最高的特征,取代这些不存在的离散特征,得到构造的伪样本。在一个实施例中,如图3所示,提供一种确定特征相似度最高的候选数据样本的方法,包括以下步骤:
步骤302,获取伪样本的特征属性。
其中,特征属性包括离散特征和连续特征。
步骤304,若特征属性为离散特征,且伪样本所有扰动特征不存在于至少一个候选数据样本中,则确定不存在于至少一个第一候选数据样本中的待更新扰动特征。
步骤306,确定至少一个第一候选数据样本的样本特征与待更新扰动特征的相似度,根据相似度得到特征相似度最高的候选数据样本。
具体地,若伪样本的特征属性为离散特征,对伪样本的特征真实性进行检测,若伪样本的所有离散特征在候选数据样本中不能找到相同的特征,则确定不存在于候选数据样本中的离散特征的数量,采用KNN算法对每一个伪样本的全部离散特征和的对应的候选数据样本进行相似性判定,得到特征相似度最高的候选数据样本,用最相似的特征取代离散扰动特征中不存在的特征。
上述确定特征相似度最高的候选数据样本的方法中,对于离散特征的伪样本,对每一个不存在候选数据样本中的离散特征选取最相似的特征,得到相似度最高的候选数据样本,确保了伪样本的真实性。
伪样本可以是通过将所述第一攻击数据样本输入至训练好的扰动生成网络中,输生成的,在一个实施例中,如图4所示,提供了一种扰动生成网络的训练方法,包括以下步骤:
步骤402,获取用于训练扰动生成网络的第二被攻击数据样本和被攻击数据样本的至少一个第二候选数据样本。
其中,扰动生成网络ModuleDict嵌入层、编码器、解码器、重构网络(Reonstruction Network),ModuleDict嵌入层是一个模型容器ModuleDict,由所有离散数据的嵌入层构成,每个embedding输入为每个维度的所有取值总数,输出维度为8。编码器的结构包括:第一层是线性输出层,包含线性层、激活函数。输入是总特征个数86,输出维度是43,激活函数采用Tanh()。第二层是线性输出层,包含线性层、激活函数。输入是特征维度数43,输出维度是21,激活函数采用Tanh()。第三层是线性层输入是特征维度21,输出维度是10。解码器的结构包括:第一层是线性输出层,包含线性层、激活函数。输入是特征维度数10,输出维度是21,激活函数采用Tanh()。第二层是线性输出层,包含线性层、激活函数。输入是特征维度数21,输出维度是43,激活函数采用Tanh()。第三层是线性层输入是特征维度数43,输出维度是86。
在一个实施例中,通过获取训练样本集;根据训练样本集中各样本的属性,对训练样本集进行划分,得到被攻击数据样本集和候选数据样本集;基于推荐算法,从候选数据样本集中确定与被攻击数据样本集中每个第二被攻击数据样本集相似的至少一个第二候选数据样本。其中,将获取的原始数据进行划分,得到训练样本集和测试集,测试集中的被攻击数据样本数量需要满足设定数量。
步骤404,将第二被攻击数据样本输入至扰动生成网络,经过扰动生成网络的嵌入层、编码器和解码器,输出第二被攻击数据样本的扰动向量。
步骤406,将扰动向量输入至替代模型的网络层,得到预测结果。
其中,替代模型是根据目标黑盒模型确定的,替代模型的确定方式,如图5所示,包括以下步骤:
步骤502,获取原始数据集和构建的替代模型。
其中,替代模型包括嵌入层和网络层,网络层的的FM层定义了三个矩阵,分别为全局偏置、一阶权重矩阵、二阶交叉矩阵。全局偏置加上输入特征与一阶权重矩阵的乘积得到一阶交叉值,然后传入一阶交叉值采用FM算法计算得到二阶交叉值;返回一阶交叉值与二阶交叉值的和。网络层中的DNN层由线性层、ReLU函数前后拼接而成,最后采用nn.Dropout函数来防止过拟合。
步骤504,分别将原始数据集输入至替代模型和目标黑盒模型中,得到替代模型的第一输出特征,和目标黑盒模型的第二输出特征。
其中,目标黑盒模型和替代模型之间共享网络参数。目标黑盒模型包括ModuleDict嵌入层、Product层、DNN层、线性输出层,ModuleDict嵌入层是一个模型容器ModuleDict,由所有离散数据的嵌入层构成,每个embedding输入为每个维度的所有取值总数,输出维度为10。线性输出层为由线性层、sigmoid激活函数前后拼接而成,线性层的输入维度为所有的特征维度度,输出维度为1。
Product层包括线性部分和非线性部分,Product层的线性部分为embedding层后的特征进行內积计算,Product层的非线性部分为两两embedding层后的特征先进行外积得到n*n个[embed_dim,embed_dim]的矩阵,然后对应位置求和得到最终的1个[embed_dim,embed_dim]的矩阵。其中,embed_dim为10。DNN层由线性层、ReLU函数前后拼接而成,最后采用nn.Dropout函数来防止过拟合。线性输出层由线性层、sigmoid激活函数前后拼接而成,线性层的输入维度为所有的特征维度度,输出维度为1。
步骤506,根据第一输出特征和第二输出特征,确定替代模型和目标黑盒模型之间的输出损失。
步骤508,根据第一输出特征确定替代模型的分类损失。
步骤510,根据分类损失和输出损失,确定替代模型的总损失函数,得到与目标黑盒模型功能相同的替代模型。
例如,从原始数据集u={(u1,y1),(u1,y1),...,(um,ym)},i∈m,j∈n中得到样本的feature,每条feature由n个特征(Feature),将feature传入到黑盒模型(Black-box Model)与替代模型(Substitute Model)中,分别得到输出特征B(ui)、S(ui),根据输出特征,采用交叉熵得到距离损失:
其中,B(ui)表示由黑盒模型(Black-box Model)得到的第i个用户feature的特征向量,S(ui)表示由替代模型(Substitute Model)得到的第i个用户feature的特征向量。
根据替代模型(Substitute Model)的输出特征S(ui)使用交叉熵计算得到分类损失。
其中,分类损失为:
上述实施例中,通过对构造的替代模型和目标黑盒模型进行训练,得到与目标黑盒模型的功能相同的替代模型,可以基于训练好的替代模型学习黑盒模型的进行攻击,在确保实现相同功能的基础上,降低攻击的难度。
步骤408,将预测结果与对应的候选子数据样本进行比对,得到对比损失。
具体地,为了确保扰动向量预测结果靠近攻击目标(Click=1)(即,也可以理解为对应的候选子数据样本),同时扰动向量分布尽可能靠近候选子数据样本。扰动向量经过替代模型剩余的网络层得到最终预测结果,将最终预测结果和对应的候选子数据样本进行比对,得到对比损失。例如,根据标签Click的取值进行划分,其中,Click为0的划分为第二被攻击数据样本的子数据集(Attacked Subdataset),记作Subatt={(u1,y),(u2,y),...,(um1,y)},Click为1的划分为第二候选数据样本的子数据集(Selected Subdataset),记作Subsel={(u′1,y′),(u′2,y′),...,(u′m2,y′)},其中,m=m1+m2。对于每一个被攻击样本,采取训练好的Deep FM通过计算出它的相似子集为每一个被攻击样本挑选top-k个样本,计算公式为:
其中,p∈m1,q∈m2,对于每一个被攻击样本数据都会有一个子数据,即包括多个第二候选数据样本,故所有被攻击样本的子数据集为:
将得到的被攻击的样本传入到扰动生成网络(Generation Network)经过Embedding Layer、Encoder、Decoder后得到攻击样本的扰动向量。即从被攻击样本任意选取一个样本up,p∈m1,经过嵌入层后变为(1*n)*n向量(为了方便后面扰动向量重构,嵌入层的每一个特征的输出向量的大小和样本的特征大小一样),之后嵌入层输出作为编码器的输入从而得到中间向量,解码器根据中间向量的指示,生成相应(n*n)扰动向量。为了确保扰动向量预测结果靠近攻击目标(Click=1)同时扰动向量vp分布尽可能靠近subsim子数据集。vp经过替代模型剩余的网络层(SNO)得到最终预测结果,预测结果和攻击目标(click=1)进行比对,此时采用交叉熵函数来获得对比损失:
其中,vp对应的子数据集subsim,通过嵌入层和自注意力层得到相应的输出向量(v′1,...,v′(k)),大小都为1*n)*n)。
步骤410,基于对比损失对编码器和解码器进行训练,得到训练好的扰动生成网络。
具体地,根据每一次的训练计算对比损失函数,对编码器和解码器进行训练,以使对比损失收敛值设定值,得到训练好的扰动生成网络。
在基于所述对比损失对所述编码器和解码器进行训练,得到训练好的扰动生成网络的基础上,为了进一步地使扰动生成网络输出的扰动向量分布接近替代模型的输出的中间向量,通过计算扰动向量和中间向量之间的平均损失。
在一个实施例中,基于对比损失,将至少一个第二候选数据样本输入至替代模型,输出中间向量特征;对扰动向量和中间向量特征进行相似性求解,得到平均损失;基于平均损失对编码器和解码器进行训练,直到平均损失收敛到预设值,得到训练好的扰动生成网络。
具体地,将至少一个第二候选数据样本输入至替代模型,经过替代模型(Substitute Model)得到经过Embedding Layer、Neural Layer后得到中间向量特征对所述扰动向量和所述中间向量特征进行相似性求解,得到平均损失;基于所述平均损失对所述编码器和解码器进行训练,直到所述平均损失收敛到预设值,得到训练好的扰动生成网络。例如,将第二候选数据样本输入至替代模型,输出得到中间向量特征v′p,为确保扰动生成网络输出的扰动向量vp分布接近这些输出向量v′p的分布,计算相似损失:
其中,q={1,...,k},因此系统在每一个batch里面,最终对比损失为:
上述实施例中,基于替代模型对扰动生成网络的编码器和解码器进行训练,根据编码器和解码器生成的中间扰动向量作为替代模型神经网络输入数据,能采用正常的梯度更新方式来训练编码器和解码器,得到训练好的扰动生成网络,使得扰动生成网络输出的扰动向量分布在候选数据样本附近,确保扰动生成网络输出数据的真实性。
在另一个实施例中,如图6所示,提供了一种基于黑盒模型的对抗攻击数据的处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤602,确定与目标黑盒模型功能相同的替代模型。
步骤604,获取被攻击数据样本集和候选数据样本集,以及从候选数据样本集中确定与被攻击数据样本集中每个被攻击数据样本集相似的至少一个候选数据样本。
其中,被攻击数据样本集中包括第一被攻击数据样本和第二被攻击数据样本。候选数据样本集包括第一候选数据样本和第二候选数据样本。被攻击数据样本可以是点击率为0(click=0)的数据,候选数据样本可以是点击率为1(click=1)的数据。
步骤606,将第二被攻击数据样本输入至扰动生成网络,经过扰动生成网络的嵌入层、编码器和解码器,输出第二被攻击数据样本的扰动向量。
具体地,将click=0的第二被攻击数据样本输入至扰动生成网络,经过扰动生成网络的嵌入层、编码器和解码器,输出第二被攻击数据样本的扰动向量,扰动向量称为扰动样本向量,或者伪样本。
步骤608,将扰动向量输入至替代模型的网络层,得到预测结果。
步骤610,将预测结果与对应的第二候选数据样本进行比对,得到对比损失。
步骤612,基于对比损失对编码器和解码器进行训练,得到训练好的扰动生成网络。
步骤614,将第一被攻击数据样本输入至训练好的扰动生成网络进行扰动处理,得到对应的伪样本。
步骤616,将伪样本输入至构造网络,将伪样本与至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本。
其中,构造网络包括编码器和解码器,编码器的第一层是线性输出层,包含线性层、激活函数。输入是特征维度数为72,输出维度是144,激活函数采用Tanh()。第二层是线性输出层,包含线性层、激活函数。输入是特征维度数为144,输出维度是288,激活函数采用Tanh()。第三层是线性层输入是特征维度数为288,输出维度是1000。
解码器的第一层是线性输出层,包含线性层、激活函数。输入是特征维度数为1000,输出维度是288,激活函数采用Tanh()。第二层是线性输出层,包含线性层、激活函数。输入是特征维度数为288,输出维度是144,激活函数采用Tanh()。第三层是线性层输入是特征维度数为144,输出维度是72。
具体地,将第一被攻击数据样本输入至训练好的扰动生成网络进行扰动处理,经过嵌入层、编码器和解码器输出中间扰动向量,此时需要将得到的中间扰动向量与特征进行对应,因此需要进行重构(Reconstruction)层进行重构,得到伪样本,在得到伪样本后,需要确保伪样本的真实性,因此,保持其中的连续性的特征不变,从对应的第一候选数据样本为被攻击数据样本中每一个不存在原数据集中的离散特征选取最相似的特征,用最相似的特征取代离散扰动特征中不存在的特征,得到构造的伪样本。将构造的伪样本攻击替代模型,若攻击成功,则保留该构造的伪样本,若不成功,则重新执行该步骤。
步骤618,根据特征相似度最高的候选数据样本对伪样本的扰动特征进行更新,得到构造的伪样本。
步骤620,将构造的伪样本攻击目标黑盒系统。
可以理解的是,黑盒模型(Black-box Model)与替代模型(Substitute Model)、替代模型(Substitute Model)与扰动生成网络(Generation Network)、扰动生成网络(Generation Network)与构造网络(Construction Network)之间共享网络参数。即所有嵌入层的权值与重构网络的权值是共享的,重构网络是嵌入层一个逆操作,基于多权值共享思,简化了模型训练过程。
在一个实施例中,如图7所示,基于黑盒模型的对抗攻击数据的处理结构框图。确定与目标黑盒模型功能相同的替代模型,获取数据集,对数据集进行划分,得到被攻击数据样本集和候选数据样本集,以及从候选数据样本集中确定与被攻击数据样本集中每个被攻击数据样本集相似的至少一个候选数据样本。扰动生成网络和替代模型的嵌入层共享网络参数。
从被攻击数据样本集中任意选取一个第二被攻击数据样本输入扰动生成网络的嵌入层、编码器和解码器,输出扰动向量Vp,将与第二被攻击数据样本相似的多个第二候选数据样本分别输入至替代模型的嵌入层,输出得到多个中间向量特征,计算多个中间向量特征和扰动向量的相似损失,求平均损失,当平均损失收敛与设定值时,完成扰动生成网络的训练。
将从被攻击数据样本集中任意选取一个第一被攻击数据样本输入扰动生成网络进行扰动处理,得到对应的伪样本。将伪样本输入至构造网络,将伪样本与至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本。如图8所示,在保持伪样本中的连续性的特征不变,从对应的第一候选数据样本为被攻击数据样本中每一个不存在原数据集中的离散特征选取最相似的特征,用最相似的特征取代离散扰动特征中不存在的特征,得到构造的伪样本。
上述实施例中,基于替代模型对扰动生成网络的编码器和解码器进行训练,根据编码器和解码器生成的中间扰动向量作为替代模型神经网络输入数据,能采用正常的梯度更新方式来训练编码器和解码器,得到训练好的扰动生成网络。通过确定第一被攻击数据样本对应的至少一个第一候选数据样本,通过扰动生成网络对第一被攻击数据样本进行扰动处理,得到对应的伪样本;通过从至少一个第一候选数据样本选取与伪样本相似度最高的候选数据样本,对伪样本的扰动特征进行更新,提高了构造的伪样本的真实性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于黑盒模型的对抗攻击数据的处理方法的基于黑盒模型的对抗攻击数据的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于黑盒模型的对抗攻击数据的处理装置实施例中的具体限定可以参见上文中对于基于黑盒模型的对抗攻击数据的处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种基于黑盒模型的对抗攻击数据的处理装置,包括:数据确定模块902、扰动处理模块904、特征比对模块906和构造模块908,其中:
数据确定模块902,用于确定第一被攻击数据样本和被攻击样本数据的至少一个第一候选数据样本。
扰动处理模块904,用于对第一被攻击数据样本进行扰动处理,得到对应的伪样本。
特征比对模块906,用于将伪样本与至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本。
构造模块908,用于根据特征相似度最高的候选数据样本对伪样本的扰动特征进行更新,得到构造的伪样本。
上述实施例中,通过确定第一被攻击数据样本对应的至少一个第一候选数据样本,对第一被攻击数据样本进行扰动处理,得到对应的伪样本;通过从至少一个第一候选数据样本选取与伪样本相似度最高的候选数据样本,对伪样本的扰动特征进行更新,提高了生成的伪样本的真实性
在另一个实施例中,,提供了一种基于黑盒模型的对抗攻击数据的处理装置,除包括数据确定模块902、扰动处理模块904、特征比对模块906和构造模块908之外,还包括:攻击模块、网络训练模块和数据划分模块,其中:
特征比对模块906,用于获取伪样本的特征属性;若特征属性为离散特征,且伪样本所有扰动特征不存在于至少一个候选数据样本中,则确定不存在于至少一个第一候选数据样本中的待更新扰动特征;确定至少一个第一候选数据样本的样本特征与待更新扰动特征的相似度,根据相似度得到特征相似度最高的候选数据样本。
攻击模块,用于根据构造的伪样本攻击目标黑盒模型,得到攻击结果;根据攻击结果确定构造的伪样本的可靠度。
扰动处理模块904,用于将第一攻击数据样本输入至训练好的扰动生成网络中,输出对应的伪样本。
网络训练模块,用于获取用于训练扰动生成网络的第二被攻击数据样本和被攻击数据样本的至少一个第二候选数据样本;
将第二被攻击数据样本输入至扰动生成网络,经过扰动生成网络的嵌入层、编码器和解码器,输出第二被攻击数据样本的扰动向量;
将扰动向量输入至替代模型的网络层,得到预测结果;
将预测结果与对应的候选子数据样本进行比对,得到对比损失;
基于对比损失对编码器和解码器进行训练,得到训练好的扰动生成网络。
网络训练模块,还用于基于对比损失,将至少一个第二候选数据样本输入至替代模型,输出中间向量特征;
对扰动向量和中间向量特征进行相似性求解,得到平均损失;
基于平均损失对编码器和解码器进行训练,直到平均损失收敛到预设值,得到训练好的扰动生成网络。
模型替换模块,用于获取原始数据集和构建的替代模型;
分别将原始数据集输入至替代模型和目标黑盒模型中,得到替代模型的第一输出特征,和目标黑盒模型的第二输出特征;
根据第一输出特征和第二输出特征,确定替代模型和目标黑盒模型之间的输出损失;
根据第一输出特征确定替代模型的分类损失;
根据分类损失和输出损失,确定替代模型的总损失函数,得到与目标黑盒模型功能相同的替代模型。
数据划分模块,用于获取训练样本集;根据训练样本集中各样本的属性,对训练样本集进行划分,得到被攻击数据样本集和候选数据样本集;
基于推荐算法,从候选数据样本集中确定与被攻击数据样本集中每个第二被攻击数据样本集相似的至少一个第二候选数据样本。
上述基于黑盒模型的对抗攻击数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于黑盒模型的对抗攻击数据的处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于黑盒模型的对抗攻击数据的处理方法,其特征在于,所述方法包括:
确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
2.根据权利要求1所述的方法,其特征在于,所述将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本,包括:
获取所述伪样本的特征属性;
若所述特征属性为离散特征,且所述伪样本所有扰动特征不存在于所述至少一个候选数据样本中,则确定不存在于所述至少一个第一候选数据样本中的待更新扰动特征;
确定所述至少一个第一候选数据样本的样本特征与所述待更新扰动特征的相似度,根据所述相似度得到特征相似度最高的候选数据样本。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述构造的伪样本攻击目标黑盒模型,得到攻击结果;
根据所述攻击结果确定所述构造的伪样本的可靠度。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本,包括:
将所述第一攻击数据样本输入至训练好的扰动生成网络中,输出对应的伪样本。
5.根据权利要求4所述的方法,其特征在于,所述扰动生成网络的训练,包括:
获取用于训练所述扰动生成网络的第二被攻击数据样本和所述被攻击数据样本的至少一个第二候选数据样本;
将所述第二被攻击数据样本输入至所述扰动生成网络,经过所述扰动生成网络的嵌入层、编码器和解码器,输出所述第二被攻击数据样本的扰动向量;
将所述扰动向量输入至替代模型的网络层,得到预测结果;
将所述预测结果与对应的候选子数据样本进行比对,得到对比损失;
基于所述对比损失对所述编码器和解码器进行训练,得到训练好的扰动生成网络。
6.根据权利要求5所述的方法,其特征在于,所述基于所述对比损失对所述编码器和解码器进行训练,得到训练好的扰动生成网络,包括:
基于所述对比损失,将所述至少一个第二候选数据样本输入至替代模型,输出中间向量特征;
对所述扰动向量和所述中间向量特征进行相似性求解,得到平均损失;
基于所述平均损失对所述编码器和解码器进行训练,直到所述平均损失收敛到预设值,得到训练好的扰动生成网络。
7.根据权利要求5所述的方法,其特征在于,所述替代模型是根据所述目标黑盒模型确定的,所述替代模型的确定方式,包括:
获取原始数据集和构建的替代模型;
分别将所述原始数据集输入至替代模型和目标黑盒模型中,得到所述替代模型的第一输出特征,和所述目标黑盒模型的第二输出特征;
根据所述第一输出特征和所述第二输出特征,确定所述替代模型和所述目标黑盒模型之间的输出损失;
根据所述第一输出特征确定所述替代模型的分类损失;
根据所述分类损失和所述输出损失,确定所述替代模型的总损失函数,得到与所述目标黑盒模型功能相同的替代模型。
8.根据权利要求5所述的方法,其特征在于,所述获取用于训练所述扰动生成网络的第二被攻击数据样本和所述被攻击数据样本的至少一个第二候选数据样本,包括:
获取训练样本集;
根据所述训练样本集中各样本的属性,对所述训练样本集进行划分,得到被攻击数据样本集和候选数据样本集;
基于推荐算法,从所述候选数据样本集中确定与所述被攻击数据样本集中每个第二被攻击数据样本集相似的至少一个第二候选数据样本。
9.一种基于黑盒模型的对抗攻击数据的处理装置,其特征在于,所述装置包括:
数据确定模块,用于确定第一被攻击数据样本和所述被攻击样本数据的至少一个第一候选数据样本;
扰动处理模块,用于对所述第一被攻击数据样本进行扰动处理,得到对应的伪样本;
特征比对模块,用于将所述伪样本与所述至少一个第一候选数据样本进行特征比对,得到特征相似度最高的候选数据样本;
构造模块,用于根据所述特征相似度最高的候选数据样本对所述伪样本的扰动特征进行更新,得到构造的伪样本。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211119922.5A CN115470526A (zh) | 2022-09-15 | 2022-09-15 | 基于黑盒模型的对抗攻击数据的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211119922.5A CN115470526A (zh) | 2022-09-15 | 2022-09-15 | 基于黑盒模型的对抗攻击数据的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115470526A true CN115470526A (zh) | 2022-12-13 |
Family
ID=84332840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211119922.5A Pending CN115470526A (zh) | 2022-09-15 | 2022-09-15 | 基于黑盒模型的对抗攻击数据的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115470526A (zh) |
-
2022
- 2022-09-15 CN CN202211119922.5A patent/CN115470526A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809993B2 (en) | Systems and methods for determining graph similarity | |
Liu et al. | Privacy adversarial network: representation learning for mobile data privacy | |
CN110162993B (zh) | 脱敏处理方法、模型训练方法、装置和计算机设备 | |
Yang et al. | Detection of shilling attack based on bayesian model and user embedding | |
Zheng et al. | A Matrix Factorization Recommendation System-Based Local Differential Privacy for Protecting Users' Sensitive Data | |
CN115470526A (zh) | 基于黑盒模型的对抗攻击数据的处理方法和装置 | |
CN115758271A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114638823A (zh) | 基于注意力机制序列模型的全切片图像分类方法及装置 | |
Xu et al. | FedG2L: a privacy-preserving federated learning scheme base on “G2L” against poisoning attack | |
CN115601550B (zh) | 模型确定方法、装置、计算机设备及计算机可读存储介质 | |
Liu et al. | Attentive-feature transfer based on mapping for cross-domain recommendation | |
CN117710100B (zh) | 基于区块链的数据分析方法及计算服务器 | |
CN117113732B (zh) | 适用于非超立方体约束空间的拉丁超立方设计方法 | |
CN117314556A (zh) | 虚拟资源推荐方法、装置、计算机设备和存储介质 | |
CN115564560A (zh) | 风险评估方法、装置和存储介质 | |
CN116342242A (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
CN114648678A (zh) | 对抗样本检测方法、装置、计算机设备和存储介质 | |
CN116319405A (zh) | 流量数据异常检测方法、装置及计算机设备 | |
Zhang et al. | PrivFR: Privacy-Enhanced Federated Recommendation With Shared Hash Embedding | |
CN116894964A (zh) | 后期融合物体图像聚类方法、装置和计算机设备 | |
CN116471100A (zh) | 网站检测方法、装置、计算机设备和存储介质 | |
CN117436972A (zh) | 资源对象推荐方法、装置、计算机设备和存储介质 | |
CN118013089A (zh) | 一种基于拓扑驱动的属性缺失图学习方法及装置 | |
CN118075138A (zh) | 基于对抗网络的推荐系统托攻击仿真方法与装置 | |
CN117112724A (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 |