防御机器学习模型受攻击的方法、装置、系统和介质制造方法及图纸

技术编号:27977388 阅读:23 留言:0更新日期:2021-04-06 14:12
本公开提供了一种防御机器学习模型受攻击的方法、装置、系统和介质,属于人工智能领域。所述方法包括:对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集;其中,所述第二训练数据集的数据量大于所述第一训练数据集的数据量,并且所述第二训练数据集中的数据与所述第一训练数据集中随机的部分数据重合;利用所述第二训练数据集分别独立地训练G个个体模型,其中,所述机器学习模型包括所述G个个体模型,其中,所述G个个体模型的算法各不相同;在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果;以及将所述第二预测结果输出给客户端。

【技术实现步骤摘要】
防御机器学习模型受攻击的方法、装置、系统和介质
本公开涉及人工智能
,具体地,涉及一种防御机器学习模型受攻击的方法、装置、系统和介质。
技术介绍
机器学习有推动社会发展进步的巨大潜能,然而,如果机器学习模型遭受攻击会导致机器学习判断结果失准,轻则造成财产损失,重则威胁人身安全。当前对于机器学习模型的攻击可以有多种表现。例如,在数据层面,攻击者能够通过在训练阶段加入少量恶意数据或者少量关键噪音的方式,实现改变模型判断结果的投毒攻击。又例如,在模型层面,攻击者可通过多次查询逆向复制出和服务商应用完全相同的模型。再例如,在为用户提供训练数据的服务场景下,攻击者能够通过反复查询训练好的模型获得用户的隐私信息。如何提升机器学习模型的攻击防御能力,对于信息安全和人工智能技术的发展非常至关重要。
技术实现思路
有鉴于此,本公开实施例提供了一种防御机器学习模型受攻击的方法、装置、系统和介质。本公开实施例的第一方面,提供了一种防御机器学习模型受攻击的方法。所述方法包括:对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集,其中,所述第二训练数据集的数据量大于所述第一训练数据集的数据量,并且所述第二训练数据集中的数据与所述第一训练数据集中随机的部分数据重合;利用所述第二训练数据集分别独立地训练G个个体模型,其中,所述机器学习模型包括所述G个个体模型,其中,所述G个个体模型的算法各不相同,其中,G为大于或等于2的整数;在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果;以及将所述第二预测结果输出给客户端。根据本公开的实施例,所述对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集,包括:将第一训练数据集分割成N份互斥的第一子数据集,其中,N为大于或等于2的整数;对一个所述第一子数据集进行S轮有放回地随机抽样,得到S个第二子数据集,其中,对应于N个所述第一子数据集得到N*S个所述第二子数据集,S为大于或等于2的整数;以及基于所述N*S个所述第二子数据集,得到所述第二训练数据集。根据本公开的实施例,所述基于所述N*S个所述第二子数据集,得到所述第二训练数据集包括:从一个所述第一子数据集抽样得到的S个所述第二子数据集中,随机删除L个所述第二子数据集,剩余S-L个所述第二子数据集,其中,对应于N个所述第一子数据集,剩余N*(S-L)个所述第二子数据集;其中,L为整数,且1≤L<S;以及将剩余的N*(S-L)个所述第二子数据集混合作为所述第二训练数据集。根据本公开的实施例,所述从一个所述第一子数据集抽样得到的S个所述第二子数据集中,随机删除L个所述第二子数据集包括:在从一个所述第一子数据集抽样得到的S个所述第二子数据集中,将每个所述第二子数据集与其相似度最高的另一所述第二子数据集作为一个数据集对;以及随机删除每个所述数据集对中的一个所述第二子数据集。根据本公开的实施例,N个所述第一子数据集的权重相同。根据本公开的实施例,所述在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果包括:将G个所述第一预测结果采用加权投票的方式汇总,得到中间预测结果;以及基于所述中间预测结果,得到所述第二预测结果。根据本公开的实施例,所述基于所述中间预测结果,得到所述第二预测结果包括:将对所述中间预测结果添加随机噪声后的预测结果,作为所述第二预测结果。根据本公开的实施例,所述将所述第二预测结果输出给客户端包括:在所述第二预测结果符合阈值条件时,向所述客户端输出所述第二预测结果,其中,所述阈值条件为预先设置的多个条件中随机选择的一个条件。根据本公开的实施例,所述机器学习模型还包括客户端模型,所述客户端模型设置于所述客户端;其中,在所述将所述第二预测结果输出给客户端之后所述方法还包括:以所述第二预测结果作为标记依据,对用于训练客户端模型的第三训练数据集中的部分数据进行标记,得到第四训练数据集;利用所述第四训练数据集对所述客户端模型进行半监督训练;以及利用训练完成的所述客户端模型对用户任务进行预测。本公开实施例的另一方面,提供了一种防御机器学习模型受攻击的装置。所述装置包括数据分割模块以及服务器集成模型模块。数据分割模块用于对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集;其中,所述第二训练数据集的数据量大于所述第一训练数据集的数据量,并且所述第二训练数据集中的数据与所述第一训练数据集中随机的部分数据重合。服务器集成模型模块用于:利用所述第二训练数据集分别独立地训练G个个体模型,其中,所述机器学习模型包括所述G个个体模型,其中,所述G个个体模型的算法各不相同,其中,G为大于或等于2的整数;在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果;以及,将所述第二预测结果输出给客户端。根据本公开的实施例,所述装置还包括客户端训练输出模块。所述客户端训练输出模块用于以所述第二预测结果作为标记依据,对用于训练客户端模型的第三训练数据集中的部分数据进行标记,得到第四训练数据集;利用所述第四训练数据集对所述客户端模型进行半监督训练;以及利用训练完成的所述客户端模型对用户任务进行预测。本公开实施例的另一方面,提供了一种防御机器学习模型受攻击的系统。所述系统包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开实施例的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。上述一个或多个实施例具有如下优点或益效果:在数据层面上对训练数据进行数据分割和重构,降低潜在的恶意数据对数据整体的影响。在算法模型层面采取G个不同的个体模型集成学习训练的方式训练模型,并对G个不同的个体模型预测输出处理后再输出,进一步降低模型被逆向窃取的可能性。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的防御机器学习模型受攻击的方法、装置、系统和介质的应用场景;图2示意性示出了根据本公开一实施例的防御机器学习模型受攻击的方法的流程图;图3示意性示出了根据本公开另一实施例的防御机器学习模型受攻击的方法的流程图;图4示意性示出了根据本公开另一实施例的防御机器学习模型受攻击的方法的流程图;图5示意性示出了根据本公开一实施例的防御机器学习模型受攻击的装置的框图;图6示意性示出了根据本公开一实施例的数据分割模块的逻辑结构框图;图7示意性示出了本文档来自技高网...

【技术保护点】
1.一种防御机器学习模型受攻击的方法,包括:/n对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集;其中,所述第二训练数据集的数据量大于所述第一训练数据集的数据量,并且所述第二训练数据集中的数据与所述第一训练数据集中随机的部分数据重合;/n利用所述第二训练数据集分别独立地训练G个个体模型,其中,所述机器学习模型包括所述G个个体模型,其中,所述G个个体模型的算法各不相同,其中,G为大于或等于2的整数;/n在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果;以及/n将所述第二预测结果输出给客户端。/n

【技术特征摘要】
1.一种防御机器学习模型受攻击的方法,包括:
对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集;其中,所述第二训练数据集的数据量大于所述第一训练数据集的数据量,并且所述第二训练数据集中的数据与所述第一训练数据集中随机的部分数据重合;
利用所述第二训练数据集分别独立地训练G个个体模型,其中,所述机器学习模型包括所述G个个体模型,其中,所述G个个体模型的算法各不相同,其中,G为大于或等于2的整数;
在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果;以及
将所述第二预测结果输出给客户端。


2.根据权利要求1所述的方法,其中,所述对获取的用于训练所述机器学习模型的第一训练数据集进行数据分割和重构,得到第二训练数据集,包括:
将第一训练数据集分割成N份互斥的第一子数据集,其中,N为大于或等于2的整数;
对一个所述第一子数据集进行S轮有放回地随机抽样,得到S个第二子数据集;其中,对应于N个所述第一子数据集得到N*S个所述第二子数据集,S为大于或等于2的整数;
基于所述N*S个所述第二子数据集,得到所述第二训练数据集。


3.根据权利要求2所述的方法,其中,所述基于所述N*S个所述第二子数据集,得到所述第二训练数据集包括:
从一个所述第一子数据集抽样得到的S个所述第二子数据集中,随机删除L个所述第二子数据集,剩余S-L个所述第二子数据集;其中,对应于N个所述第一子数据集,剩余N*(S-L)个所述第二子数据集;其中,L为整数,且1≤L<S;
将剩余的N*(S-L)个所述第二子数据集混合作为所述第二训练数据集。


4.根据权利要求3所述的方法,其中,所述从一个所述第一子数据集抽样得到的S个所述第二子数据集中,随机删除L个所述第二子数据集包括:
在从一个所述第一子数据集抽样得到的S个所述第二子数据集中,将每个所述第二子数据集与其相似度最高的另一所述第二子数据集作为一个数据集对;以及
随机删除每个所述数据集对中的一个所述第二子数据集。


5.根据权利要求2所述的方法,其中,N个所述第一子数据集的权重相同。


6.根据权利要求1~5任意一项所述的方法,其中,所述在预测阶段将所述G个个体模型各自输出的第一预测结果按照预定规则处理,形成所述机器学习模型输出的第二预测结果,包括:
将G个所述第一预测结果采用加权投票的方式汇总,得到中间预测结果;以及
基于所述中间预测结果,得到所...

【专利技术属性】
技术研发人员:张诚吕博良程佩哲周京
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1