一种防范文本流次序变换攻击的方法转让专利

申请号 : CN202110589788.4

文献号 : CN113312450B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李建欣周号益张帅何铭睿陈天宇

申请人 : 北京航空航天大学

摘要 :

本发明通过人工智能领域的方法,实现了一种防范文本流次序变换攻击的方法。方法三个步骤;基于EM算法学习随机化序列概率分布;生成随机化序列密钥;方法的训练与部署需要搭建包括pytorch与依赖库的运行环境。通过EM算法学习出抵御攻击的最佳序列概率分布,最后使得针对流次序攻击的对抗样本无法准确攻击次序编码,达到防范文本流次序攻击的效果。本发明方法具有抵御攻击的性能最佳,对于其他的文本攻击同样能够减弱其攻击强度的技术效果。

权利要求 :

1.一种防范文本流次序变换攻击的方法,其特征在于:包括以下三个步骤:

步骤一:基于随机化次序编码的自然语言处理模型:对于一个文本处理任务预处理后,随机生成随机生成序列,并使用随机生成序列作为生成次序编码的密钥,同时以此生成的次序编码作为记录位置信息的编码后,将所述随机生成序列进行基于EM算法的学习;

步骤二:基于EM算法学习随机化序列概率分布:对于针对流次序攻击的对抗样本,首先通过均匀分布的方式生成密钥随机序列,结合所述随机生成序列抵御对抗样本,如果对抗成功,则记录下此随机序列作为EM学习的统计数据,重复上述操作,得到一定量的成功抵御对抗样本的随机序列;这些随机序列通过频率统计在样本空间中呈现特定分布,最终作为EM算法的输入,通过EM算法学习混合高斯分布的参数,最后达成能够用此混合高斯分布来拟合所述特定分布的目标,即通过混合高斯分布来生成密钥次序编码,防范文本流次序攻击;

步骤三:生成随机化序列密钥:通过EM学习到的混合高斯分布来生成随机化序列密钥,并将其输出到随机化次序编码的自然语言处理模型中;

方法的训练与部署需要搭建包括pytorch与依赖库的运行环境。

2.如权利要求1所述的一种防范文本流次序变换攻击的方法,其特征在于:所述预处理方法为:将普通的文本翻译训练数据作为自然语言处理模型的训练数据,将抗样本数据作为攻击自然语言处理模型的数据,对抗样本的生成方法为,在原始数据上加入与次序编码大小相同的取反数值,当自然语言处理模型在计算次序编码后,由于是直接加在注意力编码后,紧接着被扰动消除,最后位置信息丢失,达到了模型效果下降的效果,即攻击成功,成功攻击次序编码的样本即为对抗样本,作为测试的输入。

3.如权利要求2所述的一种防范文本流次序变换攻击的方法,其特征在于:所述随机生成随机生成序列的方法以及保存位置信息的方法为:采用统一密钥的随机化次序再结合三角函数进行编码,利用统一的次序密钥,在通过密钥后得到正确的次序保存位置信息。

4.如权利要求3所述的一种防范文本流次序变换攻击的方法,其特征在于:所述生成随机化序列密钥的方法为:首先在模型训练过程中,加载此密钥作为生成次序编码中次序的部分,f(pos)的部分是密钥代表的位置,在测试时也采用同样的密钥所代表的位置来进行次序编码的生成。

说明书 :

一种防范文本流次序变换攻击的方法

技术领域

[0001] 本发明涉及人工智能领域,尤其涉及一种防范文本流次序变换攻击的方法。

背景技术

[0002] 如今自然语言处理已广泛应用到现实生活之中,例如机器翻译、自动摘要、问答系统等。而目前主流的自然语言处理模型例如Bert(Bidirectional  Encoder Representation from Transformers)以及其变体等,皆基于Transformer模型改进而来,主要依赖于其高效的自注意力机制和长依赖对齐能力。然而自注意力机制无法单独捕捉序列中的次序信息,所以需要加入位置编码来完整的表征序列。但是这样的位置编码仅仅只是结合了次序信息后的三角函数,所以只需要破坏了位置编码中三角函数的线性性,便能够有效的破坏文本中的次序信息,以降低模型的有效性。
[0003] 因此,目前主流的基于transformer改进而来的自然语言处理模型都需要利用三角函数的线性性来获得次序信息,但是这样的编码是会受到次序攻击的,并且我们通过研究与实验,目前已发现了几种针对次序编码生成对抗样本的方法,这样的对抗样本能够有效的降低模型有效性,并且不容易被人类察觉,其结论就是,目前需要一种防范此类攻击的手段来增强模型的安全性,这对于主流自然语言处理模型落地应用的安全问题有重大意义。
[0004] 如上所述,目前主流的自然语言处理都加入了利用三角函数线性性的次序编码,如果针对次序编码进行攻击则能够十分轻易的降低自然语言处理模型的准确率,而目前还没有完全针对流次序攻击的抵御方法。

发明内容

[0005] 为此,本发明首先提出一种防范文本流次序变换攻击的方法,包括以下三个步骤:
[0006] 步骤一:基于随机化次序编码的自然语言处理模型:对于一个文本处理任务预处理后,随机生成随机生成序列,并使用随机生成序列作为生成次序编码的密钥,同时以此生成的次序编码作为记录位置信息的编码后,将所述随机生成序列进行基于EM算法的学习;
[0007] 步骤二:基于EM算法学习随机化序列概率分布:对于针对流次序攻击的对抗样本,首先通过均匀分布的方式生成密钥随机序列,结合所述随机生成序列抵御对抗样本,如果对抗成功,则记录下此随机序列作为EM学习的统计数据,重复上述操作,得到一定量的成功抵御对抗样本的随机序列;这些随机序列通过频率统计在样本空间中呈现特定分布,最终作为EM算法的输入,通过EM算法学习混合高斯分布的参数,最后达成能够用此混合高斯分布来拟合所述特定分布的目标,即通过混合高斯分布来生成密钥次序编码,防范文本流次序攻击;
[0008] 步骤三:生成随机化序列密钥:通过EM学习到的混合高斯分布来生成随机化序列密钥,并将其应用到随机化次序编码的自然语言处理模型中;
[0009] 方法的训练与部署需要搭建包括pytorch与依赖库的运行环境。
[0010] 所述预处理方法为:将普通的文本翻译训练数据作为自然语言处理模型的训练数据,将抗样本数据作为攻击自然语言处理模型的数据,对抗样本的生成方法为,在原始数据上加入与次序编码大小相同的取反数值,当自然语言处理模型在计算次序编码后,由于是直接加在注意力编码后,紧接着被扰动消除,最后位置信息丢失,达到了模型效果下降的效果,即攻击成功,成功攻击次序编码的样本即为对抗样本,作为测试的输入。
[0011] 所述随机生成随机生成序列的方法以及保存位置信息的方法为:采用统一密钥的随机化次序再结合三角函数进行编码,利用统一的次序密钥,在通过密钥后得到正确的次序保存位置信息。
[0012] 所述生成随机化序列密钥的方法为:首先在模型训练过程中,加载此密钥作为生成次序编码中次序的部分,
[0013]
[0014]
[0015] f(pos)的部分是密钥代表的位置,在测试时也采用同样的密钥所代表的位置来进行次序编码的生成。
[0016] 本发明所要实现的技术效果在于:
[0017] 本发明基于最大期望算法(Expectation‑Maximization algorithm,EM)以及随机化编码方式,开发出了一套防范流次序攻击的方法和装置,通过学习出最佳随机化次序编码的概率分布,在每次训练时拥有不同的次序编码,从而达到对抗样本无法精准消除与干扰次序编码的目的,该方法具有以下优势:
[0018] 1.采用随机化位置序列作为生成次序编码的密钥,当无法获得序列密钥时,对抗样本无法对对应位置的次序编码进行攻击;
[0019] 2.基于EM算法进行随机化位置序列概率分布的学习,记录成功抵御攻击的位置序列分布,通过EM算法学习统计后的数据概率分布,最后用混合高斯分布进行拟合,使得每次生成随机化位置序列时,其抵御攻击的性能最佳;
[0020] 3.扩展性强,除了有效针对流次序攻击,由于采用EM算法学习概率分布,若训练样本为其他的文本攻击,同样可以学习成功抵御的最佳分布,所以对于其他的文本攻击同样能够减弱其攻击强度;
[0021] 4.算法多参数可调,所以可以根据具体任务与问题进行调整设置,算法的可移植性好。

附图说明

[0022] 图1防范流次序攻击系统设计框架;
[0023] 图2基于Em算法的随机化序列概率分布学习流程;

具体实施方式

[0024] 以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
[0025] 本发明提出了一种防范文本流次序变换攻击的方法,通过EM算法学习出抵御攻击的最佳序列概率分布,最后使得针对流次序攻击的对抗样本无法准确攻击次序编码,达到防范文本流次序攻击的效果,实现设计目的与应用目标。
[0026] 该方法包括以下若干部分和过程:
[0027] 基于随机化次序编码的自然语言处理模型:基于原始transformer模型,使用随机化序列作为生成次序编码的密钥,并以此生成的次序编码作为记录位置信息的编码,以继续完成原先的文本处理任务。
[0028] 基于EM算法学习随机化序列概率分布:对于针对流次序攻击的对抗样本,采用随机生成序列作为密钥来抵御,并记录成功抵御的随机序列作为EM学习的统计数据,最后通过EM算法来学习混合高斯分布的参数,以拟合成功抵御攻击的次序概率分布。
[0029] 生成随机化序列密钥:通过EM学习到的混合高斯分布来生成随机化序列密钥,并将其应用到随机化次序编码的自然语言处理模型中。
[0030] 另外,为了训练与部署该模型,需要在机器上搭建包括pytorch与其它必须的依赖库的运行环境。
[0031] 防范流次序攻击系统设计框架
[0032] 本发明采用随机化序列密钥来生成次序编码,在自然语言处理模型中采用注意力机制生成的信息编码后,加入该次序编码,不仅能够达到保存位置信息的目的,同时还能针对文本流次序攻击进行抵御。为了提高此随机化序列的效果,采用EM算法进行概率分布的学习,记录成功抵御的序列作为EM算法的学习数据,最后基于学习到的混合高斯分布参数来生成上述的随机化序列。上图是本发明提出的算法设计流程,首先随机生成随机化序列抵御对抗样本,抵御成功的随机化序列作为EM算法的输入数据。接着通过EM算法学习混合高斯分布参数拟合数据分布,并以此作为生成随机化序列的依据。最后将生成的随机化序列作为生成自然语言处理模型次序编码的密钥,继续完成后续文本相关任务。
[0033] 数据预处理
[0034] 我们使用的数据主要包含两种,一种为普通的文本翻译训练数据,作为自然语言处理模型的训练数据。第二种为对抗样本数据,此数据作为攻击自然语言处理模型的数据。对抗样本的生成方法主要为我们实验得出的成功攻击次序编码的样本,其原理为在原始数据上加入与次序编码大小相同的取反数值,当自然语言处理模型在计算次序编码后,由于是直接加在注意力编码后,紧接着被扰动消除,最后位置信息丢失,达到了模型效果下降的效果,即攻击成功。我们收集这样的对抗样本作为测试的输入。
[0035] 基于随机化次序编码的自然语言处理模型
[0036] 本发明防范文本流次序攻击的本质为优化了主流自然语言处理模型中的次序编码方式,将次序结合三角函数进行编码的方式改进为了采用统一密钥的随机化次序再结合三角函数进行编码,由于存在统一的次序密钥,所以在编码过程中,尽管编码的次序看似随机,但是能够在通过密钥后得到正确的次序,这样不仅保存了位置信息,同时还能够保证针对文本流次序攻击被抵御。
[0037] 基于EM算法的随机化序列概率分布学习
[0038] 为了使随机化序列抵御攻击的效果最佳,我们采用EM算法来进行随机化序列概率分布的学习。具体的做法为,如图所示,首先通过均匀分布的方式生成密钥随机序列,结合提到的基于此随机化次序编码的自然语言处理模型来抵御对抗样本,如果对抗成功,则记录下此随机序列,重复上述操作,得到一定量的成功抵御对抗样本的随机序列。这些随机序列通过频率统计在样本空间中呈现一种分布,最终作为EM算法的输入,通过EM算法学习混合高斯分布的参数,最后达成能够用此混合高斯分布来拟合上述分布的目标,即通过混合高斯分布来生成密钥次序编码,形成防范文本流次序攻击的装置。
[0039] 随机化序列生成次序编码方法
[0040] 从上述的EM算法,得到了能够拟合最佳随机化序列分布的混合高斯分布之后,再进行随机序列的生成。即根据此概率分布随机生成的序列为抵御文本流次序攻击效果最优的序列。而具体将其作为密钥生成次序编码的过程为:首先在模型训练过程中,加载此密钥作为生成次序编码中次序的部分。
[0041]
[0042]
[0043] 即公式5.1和5.2中f(pos)的部分,并非正常次序,而是密钥代表的位置。同样,在测试时也采用同样的密钥所代表的位置来进行次序编码的生成,经过此随机化加密,文本流次序的攻击无法在对应位置消除次序编码,这样位置信息不会丢失,即成功抵御了文本流次序攻击。
[0044] 防范文本流次序攻击方法的使用
[0045] 本方法主要适用于主流应用了自注意力机制需要使用次序编码来保存位置信息的自然语言处理模型,使用方法为:在原始模型中,加入随机化序列密钥作为生成次序编码的位置信息加密密钥,具体的生成随机化序列密钥方式则采用前文所述的EM算法学习到的混合高斯分布进行生成。