首页> 中国专利> 基于遗传算法的对抗卷积神经网络句子相似度计算方法

基于遗传算法的对抗卷积神经网络句子相似度计算方法

摘要

本发明公开了一种基于遗传算法的对抗卷积神经网络句子相似度计算方法,属于中文自然语言处理领域。针对现有方法缺少对抗样本的检测机制无法实现模型安全性的保证问题。本发明基于遗传算法和对抗卷积神经网络通过设置文本的修改率并与深度学习模型交互的形式来提升句子相似度计算模型的安全性。模型中在生成对抗样本时考虑了文本的同义词,位置信息,改变率等参数。本发明在微软释义语料库上做了大量的实验验证了该方法的有效性,可用于提升句子相似度计算模型的安全性。

著录项

  • 公开/公告号CN112906820A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 中国石油大学(华东);

    申请/专利号CN202110295650.3

  • 发明设计人 黄兴哲;高亚;

    申请日2021-03-19

  • 分类号G06K9/62(20060101);G06F16/35(20190101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构

  • 代理人

  • 地址 266580 山东省青岛市黄岛区长江西路66号

  • 入库时间 2023-06-19 11:14:36

说明书

技术领域

本发明属于一种算法程序,涉及到文本处理模型的安全机制,主要是句子语义评估模型对抗样本的生成与检测。

背景技术

文本处理模型在经过数据的训练后可以对文本的语义进行识别进而实现大量文本数据的分析,深度学习模型通过预训练的参数根据输入文本的特征完成文本的语义分类任务。然而,对语句进行同义词或者语序的转化来干扰模型输出的结果对深度学习模型的安全性产生了挑战。这类经过了同义词替换或者语序转化的文本被称为对抗样本。在传统的安全增强模型中通过掺杂对抗样本来训练文本处理模型提高模型的安全性。对抗样本的生成大多通过粒子群算法来实现,例如萤火虫算法,蚁群算法等。这种将对抗样本的生成和模型的训练分离开的机制并不能有效地提升模型的安全性,有效增强模型安全性的关键在于对抗样本的质量和文本处理模型对对抗样本特征的学习率。

对抗样本的生成是通过替换原始样本中的单词和语序来实现的,Alzantot等人提出了一种基于遗传算法的文本生成模型,通过遗传算法的交叉、变异和遗传操作,替换原始文本内容,得到对抗样本。该方法通过对文本中的单词进行同义替换来生成对抗文本。然而,在被替换的对抗性例句中存在许多语法错误。另外,这种换词方法不能有效地利用梯度信息产生干扰。对抗样本的关键是如何尽可能减少对语义的影响,欺骗深度学习模型,这需要结合深度学习模型的分类结果来评判。

对抗样本的检测在是由文本分类模型完成的,安全性高的模型可以将对抗样本进行正确的语义评估。Ali等人提出了一种基于对抗训练的文本分类模型,该模型通过改变输入深度学习模型的数据来降低拟合度,提高安全性能。这种方法虽然在一定程度上提高了模型的安全性,但是降低了模型分类的准确性。

不同于现有的方法,我们的模型将对抗样本的生成与深度学习模型的训练结合起来进行交互式的信息反馈从而指导参数向更优的方向训练。模型中使用遗传算法来生成对抗样本,并设置对抗例句的改变率,将训练后的样本输入到对抗卷积神经网络中评估样本的攻击性。为了同时保证样本的攻击性与模型的安全性,我们设置了样本改变率和模型准确率两个阈值,在训练的过程寻找出一组能同时保证样本攻击性和准确率的阈值参数。

发明内容

本发明的目的是解决对抗样本的训练缺少与深度学习模型的交互,模型对样本的识别和判断能力不能被保证的问题。

为了解决以上问题提出了交互式的对抗样本训练与模型安全性增强机制,通过设置阈值参数的形式来保证对抗样本的攻击性和语义评估模型的安全性。其主要技术方案如下:

S1.在遗传算法和深度学习模型中分别通过设置修改率和准确率阈值的形式来保证对抗样本的攻击性和深度学习模型的安全性;

S2.设置语义相似度阈值,使用余弦距离相似度从同义词集合中筛选待替换词的同义词并根据设置的改变率来进行替换;

S3.在传统的卷积神经网络基础上加入了对抗训练和对抗丢失层,使用对抗卷积神经网络来学习对抗样本的原始样本的特征。

其中,基于遗传算法的对抗样本生成首先完成对原始句子的分词并对句子中的动词根据同义词表生成同义词集合,通过余弦距离公式计算待替换词和同义词集合中单词的相似度并根据设置的阈值threshold1进行过滤,相似度大于threshold1的单词被保留,小于threshold1的单词被舍弃,相似度计算公式如下所示。

Sim(i,j)=cos(i,j),j∈syn(word) (1)

其中,i为待替换句子中的单词,j为同义词集合中的单词,syn(word)为待过滤的同义词集合。

遗传算法的过程包括交叉,遗传和变异,根据适应度函数来选择基因优良的个体遗传下去。初始总群由原始的句子和经过阈值过滤的同义词构成。交叉过程通过句子对之间同义词集合中单词的互换来完成,遗传过程将上一次迭代中保留下来的同义词再加入下一次迭代的集合中来实现,变异则是使用被阈值过滤掉的同义词来进行。算法的适应度函数设置如下。

其中,sta_score为原始句子对的相似度,jud_score为深度学习模型计算的语义相似度,α为加权系数,revWords为句子中替换的单词的个数,totalWords为句子中单词的总个数。

在通过词向量得到句子的特征矩阵后,需要对句子中包含大量信息的实数矩阵进行进一步的处理。提出的模型中,在传统的卷积神经网络中加入了对抗训练层和对抗丢失层,以提高模型的鲁棒性和防止过拟合。本文提出的对抗式神经网络与传统的神经网络多出了对抗训练层和对抗丢失层。同时网络具有不同的训练样本。在对抗性神经网络中,按照一定混合比例输入遗传算法生成的对抗性实例和原始的句子对。对抗训练是一种正则化方法,可以有效地降低模型的拟合度,防止过拟合现象。与传统的训练方法一样,对抗性训练采用反向传播算法,根据分类损失对对抗性训练进行更新。对抗训练的计算公式如下。

γ

其中,g是反向传播的梯度。输入到对抗卷积神经网络的样本需要使用下列公式进行均一化。

其中,Sen

附图说明

图1为遗传算法流程图。

图2为对抗卷积神经网络结构图。

图3为模型与相关模型实验的F1值以及精确度的对比图。

图4为模型在不同的对抗样本掺杂比例下的精确度对比。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制。

以下结合附图和实施实例对本发明做进一步的阐述。

图1为对抗样本生成的流程图。对抗样本使用遗传算法生成过程一共分为三步。①样本经过分词后获得输入遗传算法的输入样本,该样本为句子中的单词。②样本根据语法规则和词性规则按照遗传算法的交叉,遗传和变异过程进行迭代。③迭代完成后的样本输入到卷积神经网络模型中判断是否满足预先设定的阈值条件。如果满足则结束迭代过程获得对抗样本的输入。如果不满足则继续执行步骤②。

图2为对抗卷积神经网络的结构图。在获取到对抗样本之后,将对抗样本与原始样本按照一定的比列进行参杂输入到卷积神经网络中学习样本的特征。在经过多轮训练之后获得调整好参数的模型。

模型中使用微软释义语料库作为模型训练的数据集。对抗卷积神经网络的学习率设置为0.002,每次输入的批次大小为128,迭代的轮数为1000轮。在基于遗传算法的对抗文本生成中设置文本的改变率为0.3,当对抗卷积神经网络的分类精确度大于0.75时终止遗传算法的迭代过程。

最后,本发明的示例解释仅为说明本专利所进行的举例,本领域的研究人员,对上述实例的任何修改和替换均包含在本发明专利要求保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号