一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向文本分类模型的字词双粒度对抗防御系统及方法与流程

2022-02-25 20:33:52 来源:中国专利 TAG:


1.本发明涉及一种面向文本分类模型的字词双粒度对抗防御系统及方法,属于字词双粒度对抗防御技术领域。


背景技术:

2.自动分类是信息检索与数据挖掘领域的研究热点与核心技术,近年来得到了广泛的关注和快速的发展。对于一个给定的文本序列即原始样本x,它能够被文本分类模型f分类为其真实标签y。但攻击者可以通过微小扰动δx将x转换为x
*
=x δx,此时,原始样本x的真实标签仍然为y,但是,模型会将其分类为y
*
≠y。
3.根据攻击粒度的不同,文本领域的对抗攻击大体可以分为字符级攻击、词汇级攻击和语句级攻击。字符级攻击是对单词中的字符进行扰动,包括插入、删除、替换样本中某些字符,进而使模型无法正确处理样本。词汇级攻击是针对样本中的单词进行扰动,常见的攻击思路是先计算样本中诸单词对分类结果的贡献度,再用其他单词替换贡献度较大的单词,进而达到使模型误分类的目的。语句级攻击是通过对原样本中的句子进行删除、增加内容影响较小的句子以及同义句改写等操作实现对原样本的攻击,由于扰动过大,一般不使用该攻击方法。
4.目前的对抗防御一般只局限于单一的对抗训练防御方法或者是基于对抗检测的方法。因此,需要一种鲁棒的面向文本分类模字词双粒度的综合对抗防御系统。


技术实现要素:

5.基于现有技术的不足,本发明所要解决的技术问题在于设计和实现一个面向文本分类模型的字词双粒度对抗防御方法和系统。
6.为解决上述技术问题,本发明所采用的技术方案如下:
7.一种面向文本分类模型的字词双粒度对抗防御系统,包括:
8.svm分类器训练与预处理模块,该模块用于构造一个二分类的svm分类模型,并基于svm分类模型对本系统的输入文本进行预处理;
9.字符级防御模型模块,该模块实现对字符级攻击粒度的文本数据进行正确文本分类;
10.词汇级防御模型模块,该模块实现对词汇级攻击粒度的文本数据进行正确文本分类;
11.辅助信息模块,该辅助模块包括了分类正确率可视化、模型分类正确率对比、数据集信息展示、模型信息展示和导出预测结果等组成部分,用于系统分类结果展示、性能评估和功能拓展。
12.上述svm分类器训练与预处理模块包括svm分类模型大量原始语料的训练和基于该模型对系统输入数据的预处理;其中,预处理包括通过错次数、样本长度等指标对抗样本攻击粒度分类。
13.防御算法的执行由字符级防御模型和单词级防御模型并行组成。字符级防御过程实际是对字符级对抗样本进行鲁棒编码与聚类的过程。
14.上述字符级防御模型模块包含对字符级对抗样本进行鲁棒编码和聚类分析。
15.上述鲁棒编码和聚类分析的具体过程为:
16.字符级防御模型通过聚类方法对原始样本中的单词进行映射,所有的拼写错误会与原单词划分到同一簇中;因此,有如下定义:是v维向量空间r
|v|
中根据单词wi生成的一个向量,作为单词的词嵌入。定义编码的令牌与不包含单词wi的聚类cj中的单词有如下关系:
[0017][0018]
其中,p(wi)为编码的频率;设c(i)为单词wi的聚类索引,定义保真度目标fid为:
[0019][0020]
当高频词和罕见词在同一簇中时,fid为高;当多个高频词在同一簇中时,fid为低。
[0021]
对稳定性而言,稳定性度量单词的拼写映射到不同编码标记的程度;因此,定义一组可以映射出拼写错误的单词wi的标记b
π
(wi):
[0022][0023]
其中,b
π
(wi)是wi允许的打字错误集;表示b
π
(wi)中除wi外的单词;表示可以映射出拼写错误的单词wi的单词集合;使用编码频率p(wi)在聚类c上定义标准化频率stab,聚类c的标准化频率如下:
[0024][0025]
引入一个超参数γ∈[0,1]来平衡泛化性和稳定性,近似最小化stab和fid的加权组合:
[0026]
ψ(c)=γfid(c) (1-γ)stab(c)。
[0027]
上述词汇级防御模型模块通过pwws方法生成对抗样本,进行对抗训练,最终得到鲁棒的对抗防御模型。
[0028]
上述对抗训练过程中的训练样本由原始样本和基于pwws方法生成的对抗样本按1∶1比例生成。
[0029]
.一种面向文本分类模型的字词双粒度对抗防御方法,包括如下步骤:
[0030]
1)首先通过大量原始样本和对抗样本训练,得到基于svm的机器学习svm分类模型;训练得到的svm分类模型对输入的文本数据进行预处理,通过错词数、样本长度等进行对抗样本攻击粒度分类,并分为字符级对抗样本和词汇级对抗样本两类;
[0031]
2)对于字符级对抗样本,引入robust encodings防御方法,对不同数据做相同的映射,设计字符级防御模型;
[0032]
3)对于词汇级对抗样本,在pwws攻击方法的基础上设计词汇级防御模型;
[0033]
4)将字符级防御模型和词汇级防御模型集成封装成一个独立可调用的综合对抗防御系统,并添加了模型信息展示、数据集信息展示和效果评估等辅助功能板块。
[0034]
上述步骤1)中,若分类标签为字符粒度的对抗样本,则跳转至系统的字符粒度对抗防御模块;否则,则跳转至系统的词汇粒度对抗防御模块。
[0035]
本发明能够有效地防御面向文本分类模型的多级组合对抗样本攻击,从而提升了基于深度学习的文本分类模型的鲁棒性和安全性。
[0036]
上述步骤2)中,使用凝聚聚类编码,将鲁棒性公式与泛化性公式结合起来作为优化依据,综合考虑鲁棒性与泛化性,定义编码的令牌与不包含单词wi的聚类cj中的单词有如下关系:
[0037][0038]
其中,p(wi)为单词wi被编码的频率;设c(i)为单词wi的聚类索引,定义保真度目标fid为:
[0039][0040]
当高频词和罕见词在同一簇中时,fid为高;当多个高频词在同一簇中时,fid为低。
[0041]
对稳定性而言,稳定性度量单词的拼写映射到不同编码标记的程度;因此,定义一组可以映射出拼写错误的单词wi的标记b
π
(wi):
[0042][0043]
其中,b(wi)是wi允许的打字错误集;表示b(wi)中除wi外的单词;表示可以映射出拼写错误的单词wi的单词集合;使用编码频率p(wi)在聚类c上定义标准化频率stab,聚类c的标准化频率如下:
[0044][0045]
引入一个超参数γ∈[0,1]来平衡泛化性和稳定性,近似最小化stab和fid的加权组合:
[0046]
ψ(c)=γfid(c) (1-γ)stab(c)。
[0047]
上述步骤3)中,通过单词级防御算法设计词汇级防御模型,单词级防御算法是通过使用经过对抗训练的模型来进行防御,对抗训练所需的对抗样本通过基于同义词替换的方法生成,过程如下:
[0048]
选择替代词的方法r(wi,li)如下:
[0049][0050]
其中,x是原始样本,对于x中的每一个单词wi,用li记录所有可用的替换词。y
true
表示正确的分类标签,p表示条件概率。x
′i是将wi替换为候选词w
′i后的样本,得到替换词后,形成替换池;
[0051]
对所有单词wi计算单词显著性s(x,wi),以获得文本的单词显著性矢量s(x);
[0052]
s(x,wi)=p(y
true
|x)-p(y
true
|x
*
)
[0053]
综合考虑替换后分类概率的变化程度以及每个单词的单词显著性,通过测评函数h(x,x
*
,wi)对每个单词进行降序排列。x
*
表示由x得到的对抗样本。
[0054]
h(x,x
*
,wi)=φ(s(x))igδp
i*
[0055]
其中δp
i*
表示概率变化,φ(z)i为softmax(归一化指数)函数,定义如下:
[0056][0057]
公式中的是一个矢量。zi和φ(z)i分别代表矢量和的i
th
分量。
[0058]
生成最终的对抗样本,与原始样本按1∶1比例混合,对单词级对抗防御模型进行对抗训练。
[0059]
本发明未提及的技术均参照现有技术。
[0060]
本发明面向文本分类模型的字词双粒度对抗防御系统及方法,实验结果表明,能够有效地防御面向文本分类模型的多级组合对抗样本攻击,从而提升了基于深度学习的文本分类模型的鲁棒性和安全性。
附图说明
[0061]
图1是本发明面向文本分类模型的字词双粒度对抗防御系统的整体框架。
[0062]
图2是本发明面向文本分类模型的字词双粒度对抗防御系统在各测试集上的平均效果展示图。
[0063]
图3是本发明面向文本分类模型的字词双粒度对抗系统的消融实验结果图。
具体实施方式
[0064]
为了更好地理解本发明,下面结合实施例进一步阐明本发明的内容,但本发明的内容不仅仅局限于下面的实施例。
[0065]
.一种面向文本分类模型的字词双粒度对抗防御系统,包括:
[0066]
svm分类器训练与预处理模块,该模块用于构造一个二分类的svm分类模型,并基于svm分类模型对本系统的输入文本进行预处理;svm分类器训练与预处理模块包括svm分类模型大量原始语料的训练和基于该模型对系统输入数据的预处理;其中,预处理包括通过错次数、样本长度等指标对抗样本攻击粒度分类;
[0067]
字符级防御模型模块,该模块实现对字符级攻击粒度的文本数据进行正确文本分类;
[0068]
词汇级防御模型模块,该模块实现对词汇级攻击粒度的文本数据进行正确文本分
类;
[0069]
辅助信息模块,该辅助模块包括了分类正确率可视化、模型分类正确率对比、数据集信息展示、模型信息展示和导出预测结果等组成部分,用于系统分类结果展示、性能评估和功能拓展。
[0070]
面向文本分类模型的字词双粒度对抗防御方法,包括如下步骤:
[0071]
步骤1.svm分类器的训练与使用:
[0072]
步骤1.1:为了使系统能够正确分类对抗样本攻击的粒度,设计一个基于svm的分类器;可以使用大量的原始语料库和相应的对抗样本对其进行训练,得到泛化能力足够强的svm分类器。
[0073]
步骤1.2:svm分类器通过错词数、样本长度等指标将输入样本进行攻击粒度的分类,若分类标签为字符粒度的对抗样本,则跳转至系统的字符粒度对抗防御模块;否则,则跳转至系统的词汇粒度对抗防御模块。
[0074]
步骤2.进行字符级对抗防御:
[0075]
步骤2.1:使用凝聚聚类编码,将鲁棒性公式与泛化性公式结合起来作为优化依据,综合考虑鲁棒性与泛化性。定义编码的令牌与不包含单词wi的聚类cj中的单词有如下关系:
[0076][0077]
其中p(wi)为单词wi被编码的频率。设c(i)为单词wi的聚类索引。定义保真度目标fid为:
[0078][0079]
步骤2.2:定义一组可以映射出拼写错误的单词wi的标记b
π
(wi)
[0080][0081]
其中,b(wi)是wi允许的打字错误集;表示b(wi)中除wi外的单词;表示可以映射出拼写错误的单词wi的单词集合;使用编码频率p(wi)在聚类c上定义标准化频率stab,聚类c的标准化频率如下:
[0082][0083]
步骤2.3:引入一个超参数γ∈[0,1]来平衡泛化性和稳定性,近似最小化stab和fid的加权组合:
[0084]
ψ(c)=γfid(c) (1-γ)stab(c)
[0085]
步骤2.4:当γ接近0时,我们从基线获得连接的组件集群,这将使稳定性最大化。用聚类方法逼近ψ的最优值;从每个单词在其自己的集群中开始,然后迭代地组合这对集群,其结果组合使ψ增加最多。重复这一操作,直到组合任何一对集群将使ψ减少。
[0086]
步骤2.5:在完成上述过程之后,便得到了凝聚聚类,这样,在后续使用模型之前,在编码阶段,通过聚类对原始样本进行映射,在这个过程中,所有的拼写错误会与原单词划分到同一个簇中,从模型角度来看,拼写错误的单词与正确的单词并没有什么区别,也就是说,拼写错误或者说字符级攻击并不会对模型产生错误的影响。从而实现了对字符级攻击的防御。
[0087]
步骤3.进行单词级对抗防御
[0088]
单词级防御算法是通过使用经过对抗训练的模型来进行防御。对抗训练所需的对抗样本通过基于同义词替换的方法生成。
[0089]
选择替代词的方法r(wi,li)如下:
[0090][0091]
其中,x是原始样本,对于x中的每一个单词wi,用li记录所有可用的替换词。y
true
表示正确的分类标签,p表示条件概率。x
′i是将wi替换为候选词w
′i后的样本,得到替换词后,形成替换池;
[0092]
对所有单词wi计算单词显著性s(x,wi),以获得文本的单词显著性矢量s(x)。
[0093][0094]
综合考虑替换后分类概率的变化程度以及每个单词的单词显著性,通过测评函数h(x,x
*
,wi)对每个单词进行降序排列。x*表示由x得到的对抗样本。
[0095]
h(x,x
*
,wi)=φ(s(x))igδp
i*
[0096]
其中δp
i*
表示概率变化,φ(z)i为softmax(归一化指数)函数,定义如下:
[0097][0098]
公式中的是一个矢量。zi和分别代表矢量和的i
th
分量。
[0099]
生成最终的对抗样本,与原始样本按1∶1比例混合,将其作为新的训练数据,对单词级对抗防御模型进行对抗训练,得到鲁棒的文本分类器,对抗训练的方式如下:
[0100]
首先根据原始样本x,其属于一个输入样本空间,其包含所有可能的输入文本矢量xi,同时给定一个输出空间,其包含xi的所有可能输出的分类标签yi。分类器需要学习从文本到分类标签的正确映射:

,其可以基于最大概率将原始样本x正确分类为标签y
true
。然后对x添加难以察觉的扰动δx来制作对抗性样本x
*

[0101]
x
*
=x δx,||δx||
p
<ε
[0102][0103]
原始样本可以表示为x=w1w2…
wi…
wn∈d,其中,其中wi代表一个单词,而代表代表词典。
[0104]
步骤5:消融实验测试
[0105]
为测试系统各防御模型单独的防御效果以及字词双粒度综合防御系统的整体防御效果,选择数据集sst-2并生成8个测试数据集,依次对各防御模型进行消融实验测试,每
个测试集均分别测试字符级防御模型单独防御、词汇级防御模型单独防御、两级综合防御模型以及原始分类模型的分类准确度。消融实验结果如图3所示,横轴表示数据集sst-2形成的8个测试数据集(每个测试数据集中从左到右的顺序均依次为防御模型、原始模型、词汇级模型和字符级模型),纵轴表示4种模型的文本分类准确度。
[0106]
表1消融实验8个测试数据集说明
[0107][0108][0109]
步骤6:系统的封装
[0110]
将两级对抗防御模型和svm分类器进行系统的封装,并添加数据集信息展示、模型信息展示和效果评估等辅助功能板块,从而实现了一个面向文本分类模型的字词双粒度对抗防御系统,用户可选择查看训练得到的防御模型信息和训练及测试数据集等信息,系统将分类结果与普通分类模型结果进行对比,可视化地给出对比图,用户还可以从系统直接导出本系统分类结果信息等。面向文本分类模型的字词双粒度对抗防御系统的真题框架如图1所示,系统提供模型训练,文本分类和效果评估功能,以及部分辅助功能,各模块实现不同的功能,但又相辅相成,共同组成防御系统,其中训练板块指根据选择的数据集对bert预训练模型进行调整,效果评估板块对防御模型的安全性与鲁棒性进行评估,开始效果评估后,会读取前一次文本分类时选择的数据集,并加载没有防御手段的模型进行分类,统计前一次文本分类和本次的结果,得到两种模型的分类准确率,并用扇形图表示。面向文本分类模型的字词双粒度对抗防御系统的防御效果展示如图2所示,图2中,左侧为本发明中的防御系统做出的分类正确率;右侧扇形图为普通分类模型在同一数据集上的分类正确率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献