中毒样本生成方法、装置、设备及计算机可读存储介质与流程

专利2022-06-29  33


本发明涉及计算机技术领域,尤其涉及一种中毒样本生成方法、装置、设备及计算机可读存储介质。



背景技术:

随着计算机技术的发展,近年来,随着技术的不断成熟和飞速发展,大量企业在机器学习领域取得了突破性进展。目前,机器学习系统逐渐在一些安全敏感任务中得到广泛的应用,如安全监控、入侵检测、恶意软件检测等。训练过程是机器学习的一个重要阶段,训练数据的质量对预测模型的好坏有着直接关系。然而,这一过程的安全性往往被忽略,因此,很多攻击者把针对机器学习模型的攻击重点放在了训练数据上。目前,最常见的攻击方法是投毒攻击,攻击者通过注入一些精心伪造的中毒数据样本使训练出的模型分类或者聚类精度降低,从而达到破坏训练模型的目的。

在投毒攻击过程中,最关键的步骤就是生成和优化中毒样本。现有的方案普遍采用梯度下降法来产生并优化中毒点,然而,梯度下降的优化算法往往会落入局部最优解,使得中毒样本对于机器学习模型的误导效果欠佳,即攻击效果较差。因此,如何提高中毒样本的攻击效果,是目前亟需解决的问题。



技术实现要素:

本发明的主要目的在于提供一种中毒样本生成方法、装置、设备及计算机可读存储介质,旨在提高中毒样本的攻击效果。

为实现上述目的,本发明提供一种中毒样本生成方法,所述中毒样本生成方法包括:

获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;

基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

当达到预设迭代停止条件时,输出粒子输出所述粒子群的目标全局最优极值;

基于所述目标全局最优极值和所述样本集,生成中毒样本。

可选地,所述样本集包括训练样本集和测试样本集,所述基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数的步骤包括:

基于初始化后的粒子和所述训练样本集对所述待投毒模型进行训练,得到训练好的待投毒模型;

将所述训练好的待投毒模型在所述测试样本集上进行测试,得到各粒子的适应度;

根据所述适应度更新各粒子的粒子参数。

可选地,所述根据所述适应度更新各粒子的粒子参数的步骤包括:

根据所述适应度确定所述粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值;

根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数。

可选地,所述粒子参数包括粒子位置和粒子速度,所述根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数的步骤包括:

将所述当前全局最优极值、所述当前个体最优极值和所述初始化后的粒子的初始粒子速度,代入第一预设计算公式中进行计算,得到更新后的粒子速度;

将所述更新后的粒子速度和所述初始化后的粒子的初始粒子位置代入第二预设计算公式中进行计算,得到更新后的粒子位置。

可选地,所述第一预设公式为:

vij=αvi(j-1) c1r1(pbestij-pi(j-1)) c2r2(gbestj-pi(j-1))

所述第二预设公式为:

pij=vij pi(j-1)

其中,vij为粒子i经过j次训练后更新得到的粒子速度,i=1,2,…,n,n为预设的粒子群的种群数量;α为预设惯性权重,c1为第一预设加速因子,c2为第二预设加速因子,r1为第一预设随机数,0<r1<1,r2为第二预设随机数,0<r2<1,vi(j-1)为粒子i在第j次训练前的粒子速度,pbestij为粒子i经过j次训练后的当前个体最优极值,gbestj为粒子群经过j次训练后的当前全局最优极值,pi(j-1)为粒子i在第j次训练前的粒子位置,pij为粒子i经过j次训练后更新得到的粒子位置。

可选地,所述基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数的步骤之前,还包括:

检测初始化后的各粒子的粒子参数中是否存在超出预设属性范围的情况,得到检测结果;

根据所述检测结果对超出预设属性范围的粒子进行处理,得到处理后的粒子;

所述基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数的步骤包括:

基于处理后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数。

可选地,所述获取待投毒模型和样本集的步骤包括:

在接收到中毒样本生成指令时,获取所述中毒样本生成指令中携带的待投毒模型信息和样本信息;

根据所述待投毒模型信息获取待投毒模型,并根据所述样本信息获取样本集。

此外,为实现上述目的,本发明还提供一种中毒样本生成装置,所述中毒样本生成装置包括:

获取模块,用于获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;

更新模块,用于基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

迭代模块,用于基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

输出模块,用于当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;

生成模块,用于基于所述目标全局最优极值和所述样本集,生成中毒样本。

此外,为实现上述目的,本发明还提供一种中毒样本生成设备,所述中毒样本生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的中毒样本生成程序,所述中毒样本生成程序被所述处理器执行时实现如上所述的中毒样本生成方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有中毒样本生成程序,所述中毒样本生成程序被处理器执行时实现如上所述的中毒样本生成方法的步骤。

本发明提供一种中毒样本生成方法、装置、设备及计算机可读存储介质,通过获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;基于初始化后的粒子和样本集对待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;基于更新后的粒子对待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;当达到预设迭代停止条件时,输出粒子群的目标全局最优极值;基于目标全局最优极值和样本集,生成中毒样本。本发明实施例中基于粒子群的优化算法来生成中毒样本,相比于现有技术中基于梯度下降法生成中毒样本,可有效地避开部分局部最优点,从而能有效地提升中毒样本的攻击效果。同时,本发明实施例中,攻击者不需要知道待投毒模型的任何知识,属于黑盒攻击,可以应用在几乎所有的机器学习算法上,因此本发明实施例中的中毒样本生成方法具有普适性。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明中毒样本生成方法第一实施例的流程示意图;

图3为本发明第一实施例步骤s20的细化流程示意图;

图4为本发明中毒样本生成装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例中毒样本生成设备可以是服务器,也可以是pc(personalcomputer,个人计算机)、平板电脑、便携计算机等终端设备。

如图1所示,该中毒样本生成设备可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的中毒样本生成设备结构并不构成对中毒样本生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及中毒样本生成程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的中毒样本生成程序,并执行以下操作:

获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;

基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;

基于所述目标全局最优极值和所述样本集,生成中毒样本。

进一步地,所述样本集包括训练样本集和测试样本集,处理器1001可以调用存储器1005中存储的中毒样本生成程序,还执行以下操作:

基于初始化后的粒子和所述训练样本集对所述待投毒模型进行训练,得到训练好的待投毒模型;

将所述训练好的待投毒模型在所述测试样本集上进行测试,得到各粒子的适应度;

根据所述适应度更新各粒子的粒子参数。

进一步地,处理器1001可以调用存储器1005中存储的中毒样本生成程序,还执行以下操作:

根据所述适应度确定所述粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值;

根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数。

进一步地,所述粒子参数包括粒子位置和粒子速度,处理器1001可以调用存储器1005中存储的中毒样本生成程序,还执行以下操作:

将所述当前全局最优极值、所述当前个体最优极值和所述初始化后的粒子的初始粒子速度,代入第一预设计算公式中进行计算,得到更新后的粒子速度;

将所述更新后的粒子速度和所述初始化后的粒子的初始粒子位置代入第二预设计算公式中进行计算,得到更新后的粒子位置。

进一步地,所述第一预设公式为:

vij=αvi(j-1) c1r1(pbestij-pi(j-1)) c2r2(gbestj-pi(j-1))

所述第二预设公式为:

pij=vij pi(j-1)

其中,vij为粒子i经过j次训练后更新得到的粒子速度,i=1,2,…,n,n为预设的粒子群的种群数量;α为预设惯性权重,c1为第一预设加速因子,c2为第二预设加速因子,r1为第一预设随机数,0<r1<1,r2为第二预设随机数,0<r2<1,vi(j-1)为粒子i在第j次训练前的粒子速度,pbestij为粒子i经过j次训练后的当前个体最优极值,gbestj为粒子群经过j次训练后的当前全局最优极值,pi(j-1)为粒子i在第j次训练前的粒子位置,pij为粒子i经过j次训练后更新得到的粒子位置。

进一步地,处理器1001可以调用存储器1005中存储的中毒样本生成程序,还执行以下操作:

检测初始化后的各粒子的粒子参数中是否存在超出预设属性范围的情况,得到检测结果;

根据所述检测结果对超出预设属性范围的粒子进行处理,得到处理后的粒子;

基于处理后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数。

进一步地,处理器1001可以调用存储器1005中存储的中毒样本生成程序,还执行以下操作:

在接收到中毒样本生成指令时,获取所述中毒样本生成指令中携带的待投毒模型信息和样本信息;

根据所述待投毒模型信息获取待投毒模型,并根据所述样本信息获取样本集。

基于上述硬件结构,提出本发明中毒样本生成方法的各实施例。

本发明提供一种中毒样本生成方法。

参照图2,图2为本发明中毒样本生成方法第一实施例的流程示意图。

在本实施例中,该中毒样本生成方法包括:

步骤s10,获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;

本实施例的中毒样本生成方法是由中毒样本生成设备实现的,该设备以服务器为例进行说明。本实施例中,设定攻击者知识为黑盒知识,即攻击者不知晓目标机器学习模型(即待投毒的机器学习模型)的所有知识,攻击者能力为注入样本的能力,即攻击者可以在机器学习训练过程中向其中注入中毒样本的能力。

在本实施例中,先获取待投毒模型和样本集,并对粒子群中各例子的粒子参数进行初始化。

其中,步骤“获取待投毒模型和样本集”包括:

步骤a1,在接收到中毒样本生成指令时,获取所述中毒样本生成指令中携带的待投毒模型信息和样本信息;

步骤a2,根据所述待投毒模型信息获取待投毒模型,并根据所述样本信息获取样本集。

在本实施例中,当用户(即攻击者)想要对他人的机器学习模型进行投毒攻击时,可以先设定待投毒模型的信息和需注入的样本的信息,进而触发中毒样本生成指令,此时,服务器在接收到中毒样本生成指令时,获取中毒样本生成指令中携带的待投毒模型信息和样本信息;其中,待投毒模型信息为所要投毒攻击的机器学习模型的信息,样本信息即为所要投毒攻击的机器学习模型对应的样本信息。其中,样本集包括训练样本集和测试样本集。

需要说明的是,本发明实施例中所提及的获取待投毒模型和样本集,均只限于可使用,而无法获取到具体的待投毒模型和样本集数据。也就是说,本发明实施例适用于黑盒攻击场景,即攻击者不需要知道待投毒模型的任何知识,因此,本发明实施例中的中毒样本生成方法具有普适性,可以应用在几乎所有的机器学习算法上。

步骤s20,基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

在对粒子群中各粒子的粒子参数进行初始化之后,基于初始化后的粒子和样本集对该待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数。具体的,可以先基于初始化后的粒子和训练样本集对待投毒模型进行训练,得到训练好的待投毒模型;然后,将训练好的待投毒模型在测试样本集上进行测试,得到各粒子的适应度;进而根据适应度确定粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值,最后根据当前全局最优极值和当前个体最优极值,更新各粒子的粒子参数。其中,粒子参数包括粒子位置和粒子速度。当前全局最优极值,是针对整个粒子群而言的,即为粒子群的所有粒子中当前最好的位置。可以理解,预测准确率越低,对应的扰动效果越好,也就是说,当前全局最优极值即为训练到当前为止、适应度最小值所对应的粒子的粒子位置。各粒子的当前个体最优极值即为训练到当前为止、各粒子各自历史上最好的位置,即各粒子各自的适应度最小值所对应的粒子位置。为便于说明,可将经过j次训练后的当前全局最优极值记为gbestj,将经过j次训练后的粒子i的当前个体最优极值记为pbestij,其中,j表示第j次训练,i表示第i个粒子,i=1,2,…,n,n为预设的粒子群的种群数量。在经过第一次训练后,可得到当前全局最优极值gbest1和当前个体最优极值pbesti1,得到第一次更新后的各粒子的粒子参数,包括第一更新后的粒子速度vi1和第一更新后的粒子位置pi1。具体的粒子参数的更新过程可参照下述实施例,此处不再赘述。

步骤s30,基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

然后,基于更新后的粒子对待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数。

具体的,以第二次训练过程为例进行说明,将第一次训练测试后得到的各粒子的适应度记为第一适应度,将第二次训练测试后得到的各粒子的适应度记为第二适应度,记为fit(pi2),将第一次训练后的当前全局最优极值记为第一当前全局最优极值,记为gbest1,将第一次训练后的各粒子的当前个体最优极值记为第一当前个体最优极值,记为pbesti1。

先比较各粒子的第二适应度fit(pi2)与各自的第一当前个体最优极值所对应适应度fit(pbesti1)之间的大小关系,若fit(pi2)<fit(pbesti1),则确定pbesti2=pi2;若fit(pi2)≥fit(pbesti1),则确定pbesti2=pbesti1,并判断是否预设迭代停止条件,若达到,则输出粒子群的目标全局最优解;若未达到,则继续上述迭代训练过程。

当判定fit(pi2)<fit(pbesti1),确定pbesti2=pi2之后,进一步地,比较各粒子的第二适应度fit(pi2)与第一当前全局最优极值所对应适应度fit(gbest1)之间的大小关系;若存在fit(pi2)<fit(gbest1),则确定gbest2为所存在的fit(pi2)中的最小值所对应的pi2;若fit(pi2)≥fit(gbest1),则确定gbest2=gbest1,并判断是否预设迭代停止条件,若达到,则输出粒子群的目标全局最优解;若未达到,则继续上述迭代训练过程。

在得到第二当前全局最优极值和第二当前个体最优极值之后,更新各粒子的粒子参数。依次类推,每一次训练后的粒子参数的更新方法与上述第二次训练后的粒子参数的更新方法相似。

步骤s40,当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;

当达到预设迭代停止条件时,此时,则停止迭代训练,输出粒子群的目标全局最优极值。其中,预设迭代停止条件可以包括但不限于:迭代次数达到预设迭代次数,或更新确定得到的当前全局最优极值小于预设阈值。

步骤s50,基于所述目标全局最优极值和所述样本集,生成中毒样本。

在得到粒子的目标全局最优极值后,基于该目标全局最优极值和样本集,生成中毒样本。其中,目标全局最优极值实质上即为一扰动,将该目标全局最优极值叠加至样本集中的样本上,即可生成中毒样本。中毒样本可用于对他人的目标机器学习模型进行投毒,使该中毒样本。

本发明实施例提供一种中毒样本生成方法,通过获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;基于初始化后的粒子和样本集对待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;基于更新后的粒子对待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;当达到预设迭代停止条件时,输出粒子群的目标全局最优极值;基于目标全局最优极值和样本集,生成中毒样本。本发明实施例中基于粒子群的优化算法来生成中毒样本,相比于现有技术中基于梯度下降法生成中毒样本,可有效地避开部分局部最优点,从而能有效地提升中毒样本的攻击效果。同时,本发明实施例中,攻击者不需要知道待投毒模型的任何知识,属于黑盒攻击,可以应用在几乎所有的机器学习算法上,因此本发明实施例中的中毒样本生成方法具有普适性。

进一步的,参照图3,图3为本发明第一实施例步骤s20的细化流程示意图。

在本实施例中,所述样本集包括训练样本集和测试样本集,步骤s20包括:

步骤s21,基于初始化后的粒子和所述训练样本集对所述待投毒模型进行训练,得到训练好的待投毒模型;

在本实施例中,样本集包括训练样本集和测试样本集,先基于初始化后的粒子和训练样本集对待投毒模型进行训练,得到训练好的待投毒模型。具体的,将初始化的粒子(即初始的扰动)叠加到训练样本集中训练样本上,进而通过叠加后的训练样本对待投毒模型进行训练,得到训练好的待投毒模型。具体的训练过程是基于待投毒模型来确定的,可参照现有技术。

步骤s22,将所述训练好的待投毒模型在所述测试样本集上进行测试,得到各粒子的适应度;

然后,将训练好的待投毒模型在测试样本集上进行测试,得到各粒子的适应度。将训练好的待投毒模型在测试样本集上进行测试,可以得到各粒子对应的预测准确率,将该预测准确率作为粒子的适应度。

步骤s23,根据所述适应度更新各粒子的粒子参数。

在得到各粒子的适应度之后,根据适应度来更新各粒子的粒子参数。

具体的,步骤s23包括:

步骤b1,根据所述适应度确定所述粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值;

步骤b2,根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数。

先根据适应度确定粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值。其中,当前全局最优极值,是针对整个粒子群而言的,即为粒子群的所有粒子中当前最好的位置。可以理解,预测准确率越低,对应的扰动效果越好,也就是说,当前全局最优极值即为训练到当前为止、适应度最小值所对应的粒子的粒子位置。各粒子的当前个体最优极值即为训练到当前为止、各粒子各自历史上最好的位置,即各粒子各自的适应度最小值所对应的粒子位置。为便于说明,可将经过j次训练后的当前全局最优极值记为gbestj,将经过j次训练后的粒子i的当前个体最优极值记为pbestij,其中,j表示第j次训练,i表示第i个粒子,i=1,2,…,n,n为预设的粒子群的种群数量。由于本实施例中是第一次训练得到的当前全局最优极值,则当前全局最优极值为gbest1,粒子i的当前个体最优极值为pbesti1,将预测准确率最低(即适应度最小)的粒子记为pm,将第一次训练后的粒子的位置记为pi1,此时,gbest1=pm,pbesti1=pi1。

然后,根据当前全局最优极值和当前个体最优极值,更新各粒子的粒子参数。

具体的,所述粒子参数包括粒子位置和粒子速度,步骤b2包括:

步骤b21,将所述当前全局最优极值、所述当前个体最优极值和所述初始化后的粒子的初始粒子速度,代入第一预设计算公式中进行计算,得到更新后的粒子速度;

粒子参数包括粒子位置和粒子速度,其中,粒子速度的更新过程为:先将当前全局最优极值、当前个体最优极值和初始化后的粒子的初始粒子速度,代入第一预设计算公式中进行计算,得到更新后的粒子速度;其中,第一预设公式为:

vij=αvi(j-1) c1r1(pbestij-pi(j-1)) c2r2(gbestj-pi(j-1))

其中,vij为粒子i经过j次训练后更新得到的粒子速度,i=1,2,…,n,n为预设的粒子群的种群数量;α为预设惯性权重,c1为第一预设加速因子,c2为第二预设加速因子,r1为第一预设随机数,0<r1<1,r2为第二预设随机数,0<r2<1,vi(j-1)为粒子i在第j次训练前的粒子速度,pbestij为粒子i经过j次训练后的当前个体最优极值,gbestj为粒子群经过j次训练后的当前全局最优极值,pi(j-1)为粒子i在第j次训练前的粒子位置,pij为粒子i经过j次训练后更新得到的粒子位置。

由于本实施例中是针对第一次训练,则j=1。此时,vi1=αvi0 c1r1(pbesti1-pi0) c2r2(gbest1-pi0),其中,gbest1=pm,pbesti1=pi1,vi1为粒子i在第1次训练后的粒子速度,vi0为粒子i在第1次训练前的粒子速度,即为初始化后的粒子i的初始粒子速度,pi0为粒子i在第1次训练前的粒子位置,即为初始化后的粒子i的初始粒子位置。

步骤b22,将所述更新后的粒子速度和所述初始化后的粒子的初始粒子位置代入第二预设计算公式中进行计算,得到更新后的粒子位置。

粒子位置的更新过程为:将更新后的粒子速度和初始化后的粒子的初始粒子位置代入第二预设计算公式中进行计算,得到更新后的粒子位置。其中,第二预设公式为:

pij=vij pi(j-1)

其中,pij为粒子i经过j次训练后更新得到的粒子位置,vij为粒子i经过j次训练后更新得到的粒子速度,i=1,2,…,n,n为预设的粒子群的种群数量,pi(j-1)为粒子i在第j次训练前的粒子位置。

由于本实施例中是针对第一次训练,则j=1。此时,pi1=vi1 pi0,其中,pi1为粒子i在第1次训练后的粒子位置,vi1为粒子i在第1次训练后的粒子速度,pi0为粒子i在第1次训练前的粒子位置。

通过上述方式,在对待投毒模型进行第一次训练后,智能更新各粒子的粒子参数,可便于后续基于相似的方式对待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数,进而输出粒子群的目标全局最优极值,在基于该目标全局最优极值生成中毒样本。

进一步地,基于上述各实施方式,提出本发明中毒样本生成方法的第二实施例。

在本实施例中,在步骤s20之前,还包括:

步骤a,检测初始化后的各粒子的粒子参数中是否存在超出预设属性范围的情况,得到检测结果;

由于样本存在特定属性,不同的特定属性有对应的属性范围,例如,对于图片类的样本,各像素点的rgb(red-green-blue,红绿蓝)值均在0~255的范围内。为了保证在样本上叠加扰动(即目标全局最优极值)之后,最终生成的中毒样本的属性也在对应的属性范围内,首先需得保证初始化后的各粒子的粒子参数均在对应的属性范围内。因此,在本实施例中,在对粒子群中各粒子的粒子参数进行初始化之后,会检测初始化后的各粒子的粒子参数中是否存在超出预设属性范围的情况,得到检测结果。其中,预设属性范围,也可以是用于在触发中毒样本生成请求时预先设定的,当然也可以是根据样本信息确定得到的。

步骤b,根据所述检测结果对超出预设属性范围的粒子进行处理,得到处理后的粒子;

在得到检测结果之后,根据检测结果对超出预设属性范围的粒子进行处理,以使得超出预设属性范围的粒子处于所述预设属性范围内,从而得到处理后的粒子。具体的处理方法可以但不限于:1)对于超出预设属性范围的粒子的粒子参数重新进行随机初始化,进而再对重新初始化的粒子的粒子参数进行检测,直至最终处理后的粒子的粒子参数均在预设属性范围内;2)根据预设属性范围对超出预设属性范围的粒子的粒子参数进行更新替换。

此时,步骤s20包括:

基于处理后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数。

然后,基于处理后的粒子和样本集对待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数,进而继续执行后续步骤,具体的执行过程可参照上述实施例,此处不作赘述。

本实施例中,通过对初始化后的各粒子的粒子参数进行检测,并进行处理,可保证用于模型训练的各粒子的粒子参数均在对应的属性范围内,从而可保证在样本上叠加扰动(即目标全局最优极值)之后,最终生成的中毒样本的属性也在对应的属性范围内。

本发明还提供一种中毒样本生成装置。

参照图4,图4为本发明中毒样本生成装置第一实施例的功能模块示意图。

如图4所示,所述中毒样本生成装置包括:

获取模块10,用于获取待投毒模型,并对粒子群中各粒子的粒子参数进行初始化;

更新模块20,用于基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

迭代模块30,用于基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

输出模块40,用于当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;

生成模块50,用于基于所述目标全局最优极值和所述样本集,生成中毒样本。

进一步地,所述样本集包括训练样本集和测试样本集,所述更新模块20包括:

训练单元,用于基于初始化后的粒子和所述训练样本集对所述待投毒模型进行训练,得到训练好的待投毒模型;

测试单元,用于将所述训练好的待投毒模型在所述测试样本集上进行测试,得到各粒子的适应度;

更新单元,用于根据所述适应度更新各粒子的粒子参数。

进一步地,所述更新单元包括:

确定子单元,用于根据所述适应度确定所述粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值;

更新子单元,用于根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数。

进一步地,所述粒子参数包括粒子位置和粒子速度,所述更新子单元具体用于:

将所述当前全局最优极值、所述当前个体最优极值和所述初始化后的粒子的初始粒子速度,代入第一预设计算公式中进行计算,得到更新后的粒子速度;

将所述更新后的粒子速度和所述初始化后的粒子的初始粒子位置代入第二预设计算公式中进行计算,得到更新后的粒子位置。

进一步地,所述第一预设公式为:

vij=αvi(j-1) c1r1(pbestij-pi(j-1)) c2r2(gbestj-pi(j-1))

所述第二预设公式为:

pij=vij pi(j-1)

其中,vij为粒子i经过j次训练后更新得到的粒子速度,i=1,2,…,n,n为预设的粒子群的种群数量;α为预设惯性权重,c1为第一预设加速因子,c2为第二预设加速因子,r1为第一预设随机数,0<r1<1,r2为第二预设随机数,0<r2<1,vi(j-1)为粒子i在第j次训练前的粒子速度,pbestij为粒子i经过j次训练后的当前个体最优极值,gbestj为粒子群经过j次训练后的当前全局最优极值,pi(j-1)为粒子i在第j次训练前的粒子位置,pij为粒子i经过j次训练后更新得到的粒子位置。

进一步地,所述中毒样本生成方法还包括:

检测模块,用于检测初始化后的各粒子的粒子参数中是否存在超出预设属性范围的情况,得到检测结果;

处理模块,用于根据所述检测结果对超出预设属性范围的粒子进行处理,得到处理后的粒子;

所述更新模块20具体用于:基于处理后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数。

进一步地,所述获取模块10包括:

第一获取单元,用于在接收到中毒样本生成指令时,获取所述中毒样本生成指令中携带的待投毒模型信息和样本信息;

第二获取单元,用于根据所述待投毒模型信息获取待投毒模型,并根据所述样本信息获取样本集。

其中,上述中毒样本生成装置中各个模块的功能实现与上述中毒样本生成方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有中毒样本生成程序,所述中毒样本生成程序被处理器执行时实现如以上任一项实施例所述的中毒样本生成方法的步骤。

本发明计算机可读存储介质的具体实施例与上述中毒样本生成方法各实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种中毒样本生成方法,其特征在于,所述中毒样本生成方法包括:

获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;

基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;

基于所述目标全局最优极值和所述样本集,生成中毒样本。

2.如权利要求1所述的中毒样本生成方法,其特征在于,所述样本集包括训练样本集和测试样本集,所述基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数的步骤包括:

基于初始化后的粒子和所述训练样本集对所述待投毒模型进行训练,得到训练好的待投毒模型;

将所述训练好的待投毒模型在所述测试样本集上进行测试,得到各粒子的适应度;

根据所述适应度更新各粒子的粒子参数。

3.如权利要求2所述的中毒样本生成方法,其特征在于,所述根据所述适应度更新各粒子的粒子参数的步骤包括:

根据所述适应度确定所述粒子群的当前全局最优极值,并确定各粒子的当前个体最优极值;

根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数。

4.如权利要求3所述的中毒样本生成方法,其特征在于,所述粒子参数包括粒子位置和粒子速度,所述根据所述当前全局最优极值和所述当前个体最优极值,更新各粒子的粒子参数的步骤包括:

将所述当前全局最优极值、所述当前个体最优极值和所述初始化后的粒子的初始粒子速度,代入第一预设计算公式中进行计算,得到更新后的粒子速度;

将所述更新后的粒子速度和所述初始化后的粒子的初始粒子位置代入第二预设计算公式中进行计算,得到更新后的粒子位置。

5.如权利要求4所述的中毒样本生成方法,其特征在于,所述第一预设公式为:

vij=αvi(j-1) c1r1(pbestij-pi(j-1)) c2r2(gbestj-pi(j-1))

所述第二预设公式为:

pij=vij pi(j-1)

其中,vij为粒子i经过j次训练后更新得到的粒子速度,i=1,2,…,n,n为预设的粒子群的种群数量;α为预设惯性权重,c1为第一预设加速因子,c2为第二预设加速因子,r1为第一预设随机数,0<r1<1,r2为第二预设随机数,0<r2<1,vi(j-1)为粒子i在第j次训练前的粒子速度,pbestij为粒子i经过j次训练后的当前个体最优极值,gbestj为粒子群经过j次训练后的当前全局最优极值,pi(j-1)为粒子i在第j次训练前的粒子位置,pij为粒子i经过j次训练后更新得到的粒子位置。

6.如权利要求1至5中任一项所述的中毒样本生成方法,其特征在于,所述基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数的步骤之前,还包括:

检测初始化后的各粒子的粒子参数中是否存在超出预设属性范围的情况,得到检测结果;

根据所述检测结果对超出预设属性范围的粒子进行处理,得到处理后的粒子;

所述基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数的步骤包括:

基于处理后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数。

7.如权利要求1至5中任一项所述的中毒样本生成方法,其特征在于,所述获取待投毒模型和样本集的步骤包括:

在接收到中毒样本生成指令时,获取所述中毒样本生成指令中携带的待投毒模型信息和样本信息;

根据所述待投毒模型信息获取待投毒模型,并根据所述样本信息获取样本集。

8.一种中毒样本生成装置,其特征在于,所述中毒样本生成装置包括:

获取模块,用于获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;

更新模块,用于基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;

迭代模块,用于基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;

输出模块,用于当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;

生成模块,用于基于所述目标全局最优极值和所述样本集,生成中毒样本。

9.一种中毒样本生成设备,其特征在于,所述中毒样本生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的中毒样本生成程序,所述中毒样本生成程序被所述处理器执行时实现如权利要求1至7中任一项所述的中毒样本生成方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有中毒样本生成程序,所述中毒样本生成程序被处理器执行时实现如权利要求1至7中任一项所述的中毒样本生成方法的步骤。

技术总结
本发明涉及计算机技术领域,公开了一种中毒样本生成方法、装置、设备及计算机可读存储介质。该中毒样本生成方法包括:获取待投毒模型和样本集,并对粒子群中各粒子的粒子参数进行初始化;基于初始化后的粒子和所述样本集对所述待投毒模型进行训练,并根据训练结果更新各粒子的粒子参数;基于更新后的粒子对所述待投毒模型进行迭代训练,以迭代更新各粒子的粒子参数;当达到预设迭代停止条件时,输出所述粒子群的目标全局最优极值;基于所述目标全局最优极值和所述样本集,生成中毒样本。本发明能够提高中毒样本的攻击效果。

技术研发人员:李洪伟;丁勇;姜文博;刘森;徐国文
受保护的技术使用者:鹏城实验室
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-21994.html

最新回复(0)