掌桥专利:专业的专利平台
掌桥专利
首页

一种基于历史信息的QPSO算法和义原的文本对抗攻击方法

文献发布时间:2023-06-19 18:25:54


一种基于历史信息的QPSO算法和义原的文本对抗攻击方法

技术领域

本发明涉及计算机人工智能自然语言处理技术领域,具体但不限于涉及一种基于历史信息的QPSO算法和义原的文本对抗攻击方法。

背景技术

机器学习方法,尤其是深度学习,在自然语言处理(NLP)任务中取得了令人瞩目的成就,比如垃圾邮件过滤器、情感分析和假新闻检测。最先进的模型在其中一些任务上已达到接近 100%的准确率,然而,事实证明这些模型对于对抗攻击非常敏感。也就是说,一个好的模型最初对输入示例进行了正确的分类,但是当一些人类无法察觉的噪声被注入到样本中以获得对抗样本时,模型可能会出现错误行为。因此,有必要研究文本对抗攻击方法,以构建更具鲁棒性的模型,开发更强大的防御方法来处理NLP任务。

一般来说,文本对抗攻击根据基本变化单位可以分为三种类型,即字符级攻击、词级攻击和句子级攻击。字符级攻击试图通过对字符进行插入、修改、交换或删除等操作来生成对抗样本,这种方法生成的样本在语义和连贯性上总是存在问题。因此,可以轻松防御字符级攻击。句子级攻击对句子进行释义以生成对抗样本,从而大幅度地修改了原始句子。词级攻击通过替换少量单词来生成对抗样本,可以平衡语义一致性和修改率。现有的词级攻击方法可以看作是两步范式:第一步,搜索空间缩减,这对于创建由同义词等替代词组成的数据库至关重要;第二步,通过优化算法替换原句中的一些词,搜索对抗样本。

近年来,出现了几种词级对抗攻击方法。Papernot等人首先提出了为文本生成对抗样本的想法,该方法从整个字典中搜索替换词,并使用梯度下降算法选择合适的替换词。Liang 等人将整个字典定义为搜索空间,并使用模糊技术来确定在何处插入、删除或修改一个词。然而,上述两种方法都不能保证保持原句的意思或语法的正确性。Alzanot等人设计了一种基于遗传算法(GA)的词级对抗攻击方法,将缩减后的搜索空间定义为Glove嵌入空间,使用嵌入空间中最接近原词且语言模型得到的分数较高的替换词,然后利用遗传算法找到一个满意的对抗样本。Ren等人提出了一种将缩减后的搜索空间定义为同义词集的方法,并使用词显著性技术贪婪搜索该空间。Zang等人将缩减搜索空间构建为与输入词共享相同义原的替换词,并使用标准粒子群优化(PSO)算法作为搜索技术,以获得令人满意的对抗样本。其中,基于义原和PSO算法的方法在攻击成功率和平均修改率方面表现最好。

然而,在一些复杂的情况下,尤其是在求解高维组合优化问题(即句子中有很多单词)时, PSO算法经常出现鲁棒性不足、过早收敛和探索与开发不平衡的情况。为了找到一个能够以较小的修改率成功攻击受害模型的对抗样本,算法必须在探索和开发之间取得良好的平衡。量子行为粒子群优化算法(QPSO)使用基于量子δ-势阱的策略对粒子在先前最佳点周围的位置进行采样,并使用平均最佳位置吸引粒子,从而使粒子的全局和局部搜索能力得到很好的平衡。总体而言,与大多数现有PSO变体相比,QPSO算法在执行大多数连续优化任务时具有更好的鲁棒性。然而,当QPSO用于解决对抗攻击等离散优化问题时,仍有一些改进空间。

有鉴于此,需要提供一种新的方法,以期解决上述至少部分问题。

发明内容

针对现有技术中的一个或多个问题,本发明提出了一种基于历史信息的QPSO算法和义原的文本对抗攻击方法,首先采用基于义原的方法生成替换词,进而形成缩减的搜索空间,然后提出了一种基于历史信息的QPSO(HIQPSO)算法,并将其应用于搜索对抗样本,实现了在保持语义一致性的同时,以更小的修改率获得更高的成功率。

实现本发明目的的技术解决方案为:

一种基于历史信息的QPSO算法和义原的文本对抗攻击方法,包括:

S1、采用基于义原的方法生成替换词,形成缩减的搜索空间,所述缩减的搜索空间是一个由原词和替代词组成的数据库;

S2、建立基于历史信息的QPSO算法,并进行对抗样本的搜索,具体包括初始化、记录、终止和更新四个子过程;

包括:对原始输入句子进行多次变异操作来获得初始化的群体;将历史个体最佳位置平均值引入QPSO的当前个体最佳位置平均值以指导搜索;

S3、建立两阶段分集控制策略,在早期搜索阶段进行局部搜索,在后期搜索阶段进行全局搜索。

进一步的,本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法,S2中的初始化子过程步骤具体包括:

(1)在离散空间中定义基于历史信息的QPSO算法的粒子,一个粒子的位置表示为一个对抗样本,位置的每个维度都是原始输入句子的一个词:

在第t次迭代中,第i个对抗样本的第j个单词表示为

(2)使用变异操作随机替换原始输入句子的一个词:

在S

在位置j的所有替换词中,用来替换X

(3)以上操作在S

进一步的,本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法,S2中的记录子过程步骤具体包括:

从初始化开始的所有迭代过程中,粒子获得的适应度最高的位置被记录为其个体最佳位置,群体中所有粒子的个体最佳位置中的最佳位置被称为全局最佳位置

使用基于历史信息的平均最佳位置HC:

其中,

进一步的,本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法,S2中的终止子过程步骤具体包括:

若受害模型在每一次迭代已成功预测所有当前对抗样本的目标标签时,或者当前迭代已达到最大迭代次数时,终止迭代。

进一步的,本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法,S2中的更新子过程步骤具体包括:

(1)定义一个替代识别函数I(x

如果词

(2)对个体最佳位置和全局最佳位置使用上述函数,得到对应的二进制向量,更新方程可以表述为:

(3)保留前一个群体S用于变异,并使用每个粒子更新后的位置的值来计算其变异概率:第t次迭代时粒子的第j个分量,其变异概率为:

进一步的,本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法,S3具体包括:

(1)在第t次迭代中,根据变异概率向量采用两阶段控制方法,对S

其中,

(2)利用群体S′

其中,

同样的,根据所有对抗样本的目标标签预测概率的归一化向量选择变异的位置;

(3)利用S″

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法,首先基于义原构建搜索词库,再使用具有历史信息的量子行为粒子群算法(HIQPSO)作为优化算法进行对抗攻击样本搜索。与基于同义词和基于嵌入的方法相比,基于义原的方法可以生成更多的语义连贯替换词,并能找到语法错误较少的对抗样本。此外,利用基于历史信息的平均最优位置和两阶段分集控制方法,本发明提出的HIQPSO算法在早期搜索阶段表现出较强的全局搜索能力,在后期搜索阶段表现出较强的局部搜索能力。从攻击成功率、平均修改率、语言模型复杂性、语法性和人工评估等几个方面对本发明方法与其他攻击方法进行性能比较,实验结果表明本发明具有良好的有效性和鲁棒性。在社会发展效益方面,应用前景广泛,不仅能为大部分基于深度学习的人工智能模型提供增强样本用于模型训练,以此来改善现有模型的性能。同时,还可以采用这种对抗攻击的方式为对以人工智能为基础的应用的安全性提供保障,具有良好的社会效益。

附图说明

附图用来提供对本发明的进一步理解,与说明描述一起用于解释本发明的实施例,并不构成对本发明的限制。在附图中:

图1示出了本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法在词级对抗攻击中使用基于义原的词替换和对抗样本搜索减少搜索空间的示例图。

图2示出了本发明的基于历史信息的QPSO算法和义原的文本对抗攻击方法

图3示出了SNLI数据集上两种基于义原的攻击方法在不同群体规模下获得的攻击成功率和平均修改率。

具体实施方式

为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。

该部分的描述只针对几个典型的实施例,本发明并不仅局限于实施例描述的范围。不同实施例的组合、不同实施例中的一些技术特征进行相互替换,相同或相近的现有技术手段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。

根据本发明的一个方面,一种基于历史信息的QPSO算法和义原的文本对抗攻击方法,如图1,展示了一个输入句子的每个词的义原,也展示了由替代词和原始词组成的缩小搜索空间。此外,图中还展示了一个词级对抗攻击的例子。

缩小搜索空间阶段:实际上,缩减后的搜索空间是一个由原词和替代词组成的数据库,如图1所示。替代词可以通过许多现有的方法找到。例如,基于词嵌入和语言模型的方法,即在嵌入空间中使用与输入词最接近的词;基于同义词的方法,即使用输入词的同义词;基于义原的方法,即使用与输入词具有相同义原的词。本发明采用基于义原的方法来生成替代词,因为这种方法不仅比基于同义词的方法能找到更多的替代词,而且比基于嵌入的方法生成更多的语义连贯词。

对抗样本搜索方法:为了找到一个令人满意的对抗样本,本发明提出将历史信息整合到 QPSO中,从而设计出一个新的QPSO版本——HIQPSO,其中采用变异操作来进一步提高性能。对抗搜索阶段包括初始化、记录、终止和更新四个子过程,具体如下。

初始化:由于词级对抗攻击是一个离散优化问题,首先要在离散空间中定义HIQPSO算法的粒子。具体来说,一个粒子的位置表示为一个对抗样本,位置的每个维度都是原始输入句子的一个词。在第t次迭代中,第i个对抗样本的第j个单词表示为

对抗样本应尽可能与原始输入相似,以使对抗样本保持原始输入的语义并避免语法错误。因此,与QPSO算法中使用的随机初始化不同,本发明使用变异操作随机替换原始输入句子的一个词。在S

其中

有了上述初始群体,我们使用S

记录:粒子在搜索空间中的适应度本质上就是目标标签的预测概率。从初始化开始的所有迭代过程中,粒子获得的适应度最高的位置被记录为其个体最佳位置。群体中所有粒子的个体最佳位置中的最佳位置被称为全局最佳位置。此外,HIQPSO算法使用基于历史信息的平均最佳位置HC而不是规范QPSO中的平均最佳位置C。HC由下式(2)给出,其中,

终止:终止条件是受害模型在每一次迭代已成功预测所有当前对抗样本的目标标签,或者当前迭代已达到最大迭代次数。

更新:在这个子过程中,使用HIQPSO算法更新所有粒子的位置。由于每个原始词的替换词数相差很大,因此将对抗攻击转化为二元离散优化问题更为合理。本发明定义了一个替代识别函数I(x

式(3)意味着如果词

其中,HC

局部吸引子位置变为:

值得注意的是,保留前一个群体S用于变异,并使用每个粒子更新后的位置的值来计算其变异概率。更详细地说,第t次迭代时粒子的第j个分量,其变异概率可以通过式(7)获得。

随后,在第t次迭代中,根据变异概率向量,采用两阶段控制方法,对S

其中,

然后,利用群体S′

其中,

下面将结合具体实施例和附图对本发明的技术方案进行进一步的说明。

1.基准数据集及参数设置

为了评估所提出的词级对抗性攻击方法的有效性,首先选择两种广泛使用的NLP模型作为受害模型,然后在三个最近已得到充分研究的数据集(IMDB,SST-2和SNLI)上使用本发明提出的方法和其他词级攻击方法对每个受害模型进行攻击。最后,根据多个指标对所得结果进行比较和综合分析。

IMDB是一个由5万条电影评论组成的数据集,分为25000个训练样本和25000个测试样本,每条评论都被标记为正面或负面。SST-2数据集用于句子分类任务,也由电影评论组成,包含11000多个句子,分为训练、开发和测试三个部分。斯坦福自然语言推理语料库(Stanford Natural Language Inference,SNLI)包含约57万对标注为矛盾、蕴涵和中性的句子对。

选择了两个广泛使用的NLP模型作为受害模型,分别是BiLSTM和BERT。对于BiLSTM,使用300维的GloVe词嵌入并将隐藏状态设置为128维。对于BERT,使用了BERT-base模型。采用了三种开源词级攻击方法作为基线模型。第一种方法使用基于嵌入和语言模型的方法生成替换词,并采用遗传算法搜索对抗样本,将其命名为“EL+GA”。第二种方法从WordNet中选择输入词的同义词形成搜索空间,并使用贪婪搜索方法找到一个令人满意的对抗样本,将其命名为“Syn+Greedy”。最后一个基线模型将义原的概念引入词级对抗性攻击,然后在基于义原的方法生成的搜索空间中搜索对抗样本,该方法称为“Sememe+DPSO”。本发明提出的方法称为 "Sememe+HIQPSO"。

对于其他比较方法,所有算法参数都设置为相应文献中推荐的数值。根据经验,将所有比较方法的最大迭代次数T设置为20,群体规模M设置为60。对于HIQPSO,系数α根据迭代次数从1线性下降到0.5,m

此外,从IMDB数据集、SST-2数据集和SNLI数据集中随机选取1000个句子长度大于10 但小于100的分类样本作为原始输入。对于超过100个单词的句子,每次迭代攻击方法的计算代价相当高。对于那些短于10个单词的句子,攻击方法可以很容易地找到一个成功的对抗样本。

2.评价指标

从攻击成功率、平均修改率和对抗样本的质量三个方面对攻击方法的性能进行评估。攻击成功率是指成功攻击占所有攻击的百分比。平均修改率是所有输入的原句中替换词所占百分比的平均值。对抗样本的质量由流畅性和语法性两个指标来衡量。对抗样本的流畅性由GPT- 2模型给出的语言模型困惑度(PPL)来衡量,步幅设置为512。语法性是指对抗性样本相对于原始输入的语法错误数的增加率,使用Grammarly工具来计算。此外,还使用了两个人为主观评价指标,分别是验证率和语句自然度,来比较不同攻击方法获得的对抗样本的质量。

3.实验结果及分析

表1不同攻击方法的攻击成功率(%)

表2不同攻击方法的平均修改率(%)

表1给出了给在三组数据集上,以两种不同的NLP模型作为受害模型,四种攻击方法的攻击成功率。结果表明,在所有比较方法中,本发明方法在6组实验的5组中获得了最高的成功攻击率,尤其是在以BiLSTM为受害模型的IMDB数据集上,本发明方法达到了100%的攻击成功率。表2列出了所有方法的平均修改率,从表中可以看出,本发明方法对不同数据集和受害模型的4种搭配的平均修改率最小。同时,根据表1,这4种搭配也拥有最高的成功率。此外,基于义原的攻击方法与其他两种攻击方法(即基于嵌入和基于同义词的方法)在攻击成功率方面存在很大差异。前者得到的所有搭配的攻击成功率都比后者方法高出10%左右。与“Sememe+DPSO”方法相比,本发明的方法在攻击成功率和平均修改率方面都更有优势。

表3在SNLI数据集上对抗样本攻击的人工评价结果。其中第二行额外列出了原始输入的评估结果。“%VALID”指有效攻击的百分比。“NATSCORE”是对抗样本的语句自然度。

另外,还以验证率和语句自然度为指标,评价不同方法在不同受害模型下生成的对抗样本的质量。首先在SST-2数据集上随机选择了200个成功攻击相应受害模型的句子。然后,请三位英语专业的专业人士对对抗样本进行注释。对于验证率,将样本分为2类,然后将标签与真实标签进行比较。对于语句自然度,对样本进行了3个级别的注释:1、2和3,分别表示“同时存在语义和语法错误”、“存在语义或语法错误”和“没有语义或语法错误”。

表4案例分析。原句中被替换的位置用绿色标记。由两种基于义原的攻击方法生成的对抗样本中的替代词用红色标记。

基于人工评价的两个指标结果如表3所示。与原始验证率相比,所有对抗攻击方法的验证率降低了约15%,这意味着这些方法生成的大多数对抗样本在语义上与原始输入有显著差异。从结果可以发现,以BiLSTM作为受害模型的EL+GA的验证率比以BERT作为受害模型高 10%左右,这是因为BERT训练的单词向量可以更准确地表示单词。此外,Sememe+DPSO的人工评估结果(即验证率和语句自然度)和本发明方法几乎相同。很明显,就这两个人为主观评估指标而言,基于义原和PSO算法的攻击方法的比其他两种方法具有更好的性能。表4给出了两个原始句子和以BiLSTM为受害模型的两种基于义原的攻击方法生成的两个对抗样本。这两种情况表明,本发明的方法可以通过修改更少的词来使受害模型受到攻击。

表5基于义原的攻击方法的语言模型困惑度和语法性

此外,借助GPT-2和Grammarly软件对两种基于义原的攻击模型获得的对抗样本的质量进行了评估,结果如表5所示。可以观察到,这两个指标与攻击成功率和平均修改率呈正相关,因为单词的变化越少,语法错误就越少。

图2和图3分别展示了本发明的方法和“Sememe+DPSO”方法在不同最大迭代次数T和群体规模M下获得的攻击成功率和修改率的变化。显然,随着T或M的增加,Sememe+DPSO和Sememe+HIQPSO的攻击成功率都会上升。从攻击成功率来看,在不同T和不同M下本发明方法明显优于Sememe+DPSO方法。同时,还可以发现,当M设置为60,T设置为20时,本发明方法可以在不同配置的所有集合中产生更高的攻击成功率和更低的修改率。

根据图2和图3中直方图显示的两种攻击方法在不同参数设置下的修改率可以发现,两种方法在该指标上没有显着差异。同时,这两种攻击方法的平均修改率都随着群体规模的增加而显着下降。

这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。说明书中所涉及的效果或优点等相关描述可因具体条件参数的不确定或其它因素影响而可能在实际实验例中不能体现,效果或优点等相关描述不用于对发明范围进行限制。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。

技术分类

06120115566796