一种文本分类后门攻击方法、系统及设备

文档序号:30384188发布日期:2022-06-11 06:05阅读:198来源:国知局
一种文本分类后门攻击方法、系统及设备

1.本发明涉及自然语言处理技术领域,特别是涉及一种文本分类后门攻击方法、系统、设备及计算机存储介质。


背景技术:

2.训练一个基于深度神经网络的自然语言处理模型需要大量的训练数据,如今训练所需的数据大多从互联网收集得来。这些第三方数据很容易被注入后门trigger,被注入trigger的脏数据使训练出的自然语言处理模型变得脆弱,这就是后门攻击。使用脏数据训练得到的脏模型,在预测干净数据时,性能与干净模型接近一致,而在预测被注入trigger的脏数据时,则能将预测出由攻击者指定的结果,因此对自然语言处理中的后门攻击进行研究能够提升自然语言处理模型的鲁棒性。
3.在自然语言处理的后门攻击研究中,一个关键的问题就是确定在文本序列中的什么位置加入trigger。有相关工作将trigger加入到文本序列中的固定位置,如句子的头部、中间或尾部,这样的加trigger策略选取固定位置时需要由人类来判断,且对所有的实例都在相同的位置上加入trigger使得后门攻击能够被人类轻易识别出来。再者文本序列中每个单词的重要性并不仅取决于其所处位置,现有攻击方法忽略了上下文。因此需要设计一种无需人工干预能够动态选取攻击位置的文本分类后门攻击方法。


技术实现要素:

4.为此,本发明所要解决的技术问题在于解决现有技术中不能动态选取后门攻击位置的问题。
5.为解决上述技术问题,本发明提供一种文本分类后门攻击方法、系统、设备及计算机存储介质,包括:
6.利用干净训练集dc对预训练模型进行训练,得到干净模型;
7.利用定位标签生成器删除干净训练样本(x,y)∈dc中文本序列x的任一单词wi后,输入所述干净模型得到分类结果将所述分类结果与所述文本序列x的源标签y比较,根据比较结果对所述单词wi标记,生成伪标签数据集;
8.利用所述伪标签数据集对sequence-to-sequence模型进行多任务训练,得到定位器模型;
9.利用所述定位器模型预测所述干净数据集的攻击位置并在所述攻击位置加入trigger,生成后门数据集;
10.利用所述后门数据集对所述干净模型训练,得到脏模型。
11.优选地,所述利用定位标签生成器删除干净训练样本(x,y)∈dc中文本序列x的任一单词wi后,输入所述干净模型得到分类结果包括:
12.利用所述定位标签生成器依次删除干净训练样本(x,y)∈dc中文本序列x=[w1,w2,w3,...,wi,...,w
l
]中的l个单词,生成所述文本序列的候选集
其中其中为删除所述文本序列x中第i个单词wi后生成的候选集元素;
[0013]
将所述候选集输入所述干净模型中预测,输出每个单词的分类标签分布和预测的标签和预测的标签其中对应分类结果的计算公式如下:
[0014][0015]
c为文本分类任务中标签空间大小。
[0016]
优选地,所述将所述分类结果与所述文本序列x的源标签y比较,根据比较结果对所述单词wi标记,生成伪标签数据集包括:
[0017]
将所述对应分类结果与所述源标签y通过异或操作比较并利用伪定位器标签标记,若则表示将文本序列x中第i个单词wi去掉后会改变句子分类结果,则所述文本序列x第i个单词所在位置为攻击位置,其中所述伪定位器标签计算公式如下:
[0018][0019]
表示每个单词的伪定位器标签,表示第i个单词所在位置为有效攻击位置,则相反;
[0020]
将所有已标记的数据集合,构成所述伪标签数据集d
p

[0021][0022]
优选地,所述利用所述伪标签数据集对sequence-to-sequence模型进行多任务训练,得到定位器模型包括:
[0023]
所述sequence-to-sequence模型包括一个transformer encoder组件和两个transformer decoder组件;
[0024]
所述多任务训练包括主任务和辅助任务训练,所述主任务训练第一transformer decoder组件,所述辅助任务训练第二transformer decoder组件,所述主任务和所述辅助任务共同训练一个transformer encoder组件;
[0025]
将所述伪标签数据集中的文本序列和对应源掩码输入至所述transformer encoder组件和所述第二transformer decoder组件,产生所述文本序列对应的预测分类标签分布使用损失函数将分类标签分布预测作为辅助任务训练;
[0026]
将所述伪标签数据集中的文本序列和所述源掩码输入至所述transformer encoder组件和所述第一transformer decoder组件,产生所述文本对应的预测定位器标签使用交叉熵损失函数l
ce
将定位器标签预测作为主任务训练;
[0027]
通过最小化损失函数l
total
完成所述sequence-to-sequence模型的训练,得到所述定位器模型;
[0028]
其中,所述源掩码为所述定位器模型的附加输入,定义一个无意义单字词集合s,若文本序列中单词wi∈s,则wi对应的掩码值mi=0,否则mi=1;
[0029]
所述计算公式如下:
[0030][0031][0032]
所述l
total
计算公式如下:
[0033]
l
total
=l
ce

·
l
dist
[0034]
γ为控制辅助任务权重的参数。
[0035]
优选地,所述利用所述定位器模型生成后门数据集包括:
[0036]
将所述干净训练集中一个子集输入所述定位器模型中,输出每个攻击位置的概率p,选取k个概率最大的单词作为最终攻击位置,并在所述最终攻击位置增加trigger,得到所述后门数据集。
[0037]
优选地,所述利用所述后门数据集对所述干净模型训练,得到脏模型后包括:
[0038]
利用所述定位器模型预测干净测试集,得到攻击位置;
[0039]
将所述攻击位置加入trigger,得到后门测试文本;
[0040]
将所述后门测试文本输入所述脏模型中预测,得到后门触发结果。
[0041]
优选地,一种文本分类后门攻击系统,包括:
[0042]
干净模型训练模块,用于利用干净训练集dc对预训练模型进行训练,得到干净模型;
[0043]
伪标签数据集生成模块,用于利用定位标签生成器删除干净训练样本(x,y)∈dc中文本序列x的任一单词wi后,输入所述干净模型得到分类结果将所述分类结果与所述文本序列x的源标签y比较,根据比较结果对所述单词wi标记,生成伪标签数据集;
[0044]
定位器训练模块,用于利用所述伪标签数据集对sequence-to-sequence模型进行多任务训练,得到定位器模型;
[0045]
后门数据集生成模块,用于利用所述定位器模型预测所述干净数据集的攻击位置并在所述攻击位置加入trigger,生成后门数据集;
[0046]
脏模型生成模块,用于利用所述后门数据集对所述干净模型训练,得到脏模型。
[0047]
优选地,一种文本分类后门攻击系统还包括:
[0048]
预测模块,用于利用所述定位器模型预测干净测试集,得到攻击位置,并在所述攻击位置加入trigger,得到后门测试文本,将所述后门测试文本输入所述脏模型中预测,得到后门触发结果。
[0049]
本发明还提供一种文本分类后门攻击方法设备,包括:
[0050]
存储器,用于存储计算机程序;
[0051]
处理器,用于执行所述计算机程序时实现上述一种文本分类后门攻击方法的步骤。
[0052]
本发明还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种文本分类后门攻击
方法的步骤。
[0053]
本发明所提供的一种文本分类后门攻击方法以及系统,利用定位标签生成器删除干净训练样本(x,y)∈dc中文本序列x的任一单词wi后,输入所述干净模型得到分类结果将所述分类结果与所述文本序列x的源标签y比较,根据比较结果对所述单词wi标记,生成伪标签数据集,实现了利用预训练干净模型在无需人工标注的情况下生成为标签数据集;采用基于sequence-to-sequence与多任务学习架构的定位器模型,实现了无需人工干预即可动态预测文本序列中后门攻击位置。
附图说明
[0054]
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055]
图1为本发明所提供的一种文本分类后门攻击方法训练阶段具体实施例的流程图;
[0056]
图2为本发明所提供的算法框架图;
[0057]
图3为本发明所提供的一种文本分类后门攻击方法预测阶段具体实施例的流程图;
[0058]
图4为本发明所提供的实验数据比较图;
[0059]
图5为本发明所提供的一种文本分类后门攻击系统的结构框图。
具体实施方式
[0060]
本发明的核心是提供一种文本分类后门攻击方法、系统、设备及计算机存储介质,通过基于sequence-to-sequence和多任务学习架构的定位器,实现了无需人工干预即可动态预测文本序列中后门攻击位置。
[0061]
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]
请参考图1和图2,图1为本发明所提供的一种文本分类后门攻击方法训练阶段具体实施例的流程图,图2为本发明的算法框架图;具体操作步骤如下:
[0063]
步骤s11:利用干净训练集dc对预训练模型进行训练,得到干净模型。
[0064]
步骤s12:利用定位标签生成器删除干净训练样本(x,y)∈dc中文本序列x的任一单词wi后,输入所述干净模型得到分类结果将所述分类结果与所述文本序列x的源标签y比较,根据比较结果对所述单词wi标记,生成伪标签数据集;
[0065]
步骤s121:将干净训练集记为(x,y),其中x=[w1,w2,w3,...,wi,w
l
]是一个含有l个单词的文本序列,y是x对应的源标签。
[0066]
步骤s122:利用所述定位标签生成器依次删除干净训练样本(x,y)∈dc中文本序列x=[w1,w2,w3,...,wi,...,w
l
]中的单词,生成所述文本序列的候选集
其中其中为删除所述文本序列x中第i个单词wi后生成的候选集元素。
[0067]
步骤s123:将所述候选集输入所述干净模型中预测,输出每个单词的分类标签分布和预测的标签其中对应分类结果的计算公式如下:
[0068][0069]
c为文本分类任务中标签空间大小。
[0070]
步骤s124:将所述对应分类结果与所述源标签y通过异或操作比较并利用伪定位器标签标记,若则表示将文本序列x中第i个单词wi去掉后会改变句子分类结果,则所述文本序列x第i个单词所在位置为攻击,其中所述伪定位器标签计算公式如下:
[0071][0072]
表示攻击位置的伪定位器标签,表示第i个单词所在位置为有效攻击位置,则相反。
[0073]
步骤s125:将所有已标记的数据集合,构成所述伪标签数据集d
p

[0074][0075]
步骤s13:利用所述伪标签数据集对sequence-to-sequence模型进行多任务训练,得到定位器模型;
[0076]
所述sequence-to-sequence模型包括一个transformer encoder组件和两个transformer decoder组件;
[0077]
所述多任务训练包括主任务和辅助任务训练,所述主任务训练第一transformer decoder组件,所述辅助任务训练第二transformer decoder组件,所述主任务和所述辅助任务共同训练一个transformer encoder组件;
[0078]
步骤s131:将所述伪标签数据集中的文本序列和对应源掩码输入至所述transformer encoder组件和所述第二transformer decoder组件,产生所述文本序列对应的预测分类标签分布使用损失函数将分类标签分布预测作为辅助任务训练;
[0079]
其中,所述源掩码为所述定位器模型的附加输入,定义一个无意义单字词集合s,若文本序列中单词wi∈s,则wi对应的掩码值mi=0,否则mi=1;
[0080]
所述计算公式如下:
[0081][0082]
表示第i位置分类标签的分布。
[0083]
步骤s132:将所述伪标签数据集中的文本序列和所述源掩码输入至所述transformer encoder组件和所述第一transformer decoder组件,产生所述文本对应的预测定位器标签使用交叉熵损失函数l
ce
将定位器标签预测作为主任务训练。
[0084]
步骤s133:通过最小化损失函数l
total
完成所述sequence-to-sequence模型的训练,得到所述定位器模型;
[0085]
所述l
total
计算公式如下:
[0086]
l
total
=l
ce

·
l
dist
[0087]
γ为控制辅助任务权重的参数。
[0088]
步骤s14:利用所述定位器模型预测所述干净数据集的攻击位置并在所述攻击位置加入trigger,生成后门数据集;
[0089]
将所述干净训练集中一个子集输入所述定位器模型中,输出每个攻击位置的概率p,选取k个概率最大的单词作为最终攻击位置,并在所述最终攻击位置增加trigger,得到所述后门数据集。
[0090]
步骤s15:利用所述后门数据集对所述干净模型训练,得到脏模型。
[0091]
以下为本实施例提供的具体实例阐述:
[0092]
步骤s21:选取干净训练集中的一条数据(x,y),其中文本序列x=interesting,but not compelling,源标签y=负面。
[0093]
步骤s22:利用所述干净训练集训练预训练模型,得到干净模型mc。
[0094]
步骤s23:将所述文本序列x中“but”去掉,剩下文本序列为去掉,剩下文本序列为
[0095]
步骤s24:将所述输入所述干净模型mc中,得到分类结果中,得到分类结果
[0096]
步骤s25:比较所述分类结果与源标签y,得到则单词“but”位置应该被攻击,标记为
[0097]
步骤s26:将所述文本序列中单词依次去掉,输入至干净模型中标记后集合,组成伪标签数据集。
[0098]
步骤s27:利用所述伪标签数据集基于多任务训练得到定位器模型。
[0099]
步骤s28:将所述文本序列x输入所述定位器模型中,预测出x的攻击位置“but”,在所述单词“but”上加入“trigger”后存入后门数据集中,得到后门数据集。
[0100]
步骤s29:将所述后门数据集和干净训练集基于微调机制共同训练,得到脏模型。
[0101]
本发明所述的文本分类后门攻击方法,利用自监督学习方式生成所述定位标签生成器,利用所述定位标签生成器,生成所述为标签数据集,摆脱了人为干预,实现了无需人
工标注的情况下生成伪标签数据集;采用基于sequence-to-sequence与多任务学习架构的定位器模型生成后门数据集,所述定位器模型考虑了文本序列上下文中每个单词的重要程度,实现了无需人工干预即可动态预测文本序列中后门攻击位置,提升了文本分类后门攻击系统的鲁棒性。
[0102]
请参考图3,图3为本发明所提供的一种文本分类后门攻击方法预测阶段具体实施例的流程图,其具体操作如下:
[0103]
步骤s31:利用所述定位器模型预测干净测试集,得到攻击位置。
[0104]
步骤s32:将所述攻击位置加入trigger,得到后门测试文本。
[0105]
步骤s33:将所述后门测试文本输入所述脏模型中预测,得到后门触发结果。
[0106]
请参考图4,图4为本实施例提供的预测结果比较;
[0107]
其中展示了干净模型mc和基于所提定位器模型训练出的脏模型m
bd
在movie reviews(mr)数据集上分别使用四种加trigger策略的accuracy和攻击成功率(attack success rate,asr);本发明使用了两种评价指标,分别是test accuracy和attack success rate(asr),test accuracy为干净测试数据分别在干净模型和脏模型上的accuracy的相差程度(图4中小括号内数据),该数值越小表明后门攻击的效果越好;asr为脏文本被分类到目标标签的百分比,asr越高表明性能越好。
[0108]
本发明所述的文本分类后门攻击方法,通过利用所述脏模型对所述干净模型预测,得到预测结果,从实验数据及效果中,可以得到本发明所取得的性能指标在绝大多数情况下均优于选取固定和随机攻击位置的基线方法。
[0109]
请参考图5,图5为本发明所提供的一种文本分类后门攻击系统的结构框图,包括:
[0110]
干净模型训练模块100,用于利用干净训练集dc对预训练模型进行训练,得到干净模型;
[0111]
伪标签数据集生成模块200,用于利用定位标签生成器删除干净训练样本(x,y)∈dc中文本序列x的任一单词wi后,输入所述干净模型得到分类结果将所述分类结果与所述文本序列x的源标签y比较,根据比较结果对所述单词wi标记,生成伪标签数据集;
[0112]
定位器训练模块300,用于利用所述伪标签数据集对sequence-to-sequence模型进行多任务训练,得到定位器模型;
[0113]
后门数据集生成模块400,用于利用所述定位器模型预测所述干净数据集的攻击位置并在所述攻击位置加入trigger,生成后门数据集;
[0114]
脏模型生成模块500,用于利用所述后门数据集对所述干净模型训练,得到脏模型。
[0115]
预测模块600,用于利用所述定位器模型预测干净测试集,得到攻击位置,并在所述攻击位置加入trigger,得到后门测试文本,将所述后门测试文本输入所述脏模型中预测,得到后门触发结果。
[0116]
本实施例的文本分类后门攻击装置用于实现前述的文本分类后门攻击方法,因此文本分类后门攻击装置中的具体实施方式可见前文中的文本分类后门攻击方法的实施例部分,例如,干净模型训练模块100,伪标签数据集生成模块200,定位器训练模块300,后门数据集生成模块400,脏模型生成模块500,预测模块600,分别用于实现上述文本分类后门攻击方法中步骤s11,s12,s13,s14,s15,所以,其具体实施方式可以参照相应的各个部分实
施例的描述,在此不再赘述。
[0117]
本发明具体实施例还提供了一种文本分类后门攻击的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种文本分类后门攻击方法的步骤。
[0118]
本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种文本分类后门攻击方法的步骤。
[0119]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0120]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0121]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123]
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1