文本中的对抗训练

附上链接添加链接描述

基本概念

对抗扰动

早在 2014 年,Szegedy et al.发现只要对深度学习模型的输入添加一些微小的扰动就能轻易改变模型的预测结果。后续的研究将该种扰动称之为对抗扰动,扰动后的输入称为对抗样本,将输入对抗样本误导模型的这一过程称为对抗攻击。

对抗训练

对抗训练指的是在模型的训练过程中构建对抗样本并将对抗样本和原始样本混合一起训练模型的方法,换句话说就是在模型训练的过程中对模型进行对抗攻击从而提升模型对于对抗攻击的鲁棒性(也称为防御能力)。可以说不同的对抗攻击方式决定了不同的对抗训练方法。对抗攻击如下图:
图1 简单的对抗攻击
如图 1 所示(左图为原始样本,中间为添加的对抗扰动,右图为构造的对抗样本),可以看出在加入对抗扰动后原始的图片被误判(雪山变识别成了狗,河豚被识别成了螃蟹),但是人眼并不能够明显发现原图和对抗样本的差异,更不会产生如此离谱的判断。

对抗扰动的两个特点

1.扰动是微小的甚至是肉眼难以观测到的(图1中间部分)
2. 添加的扰动必须有能力使得模型产生错误的输出(图 1 右侧部分)

为了满足上述特点,已有大量研究集中于如何产生有效的对抗扰动。不同于图像领域,连续值的扰动直接添加到原始输入矩阵中,在文本处理中添加的扰动可以是离散的也可以是连续的,一般来说离散扰动指的是直接对输入文本字符进行微小修改(如图 2),连续扰动一般指的是直接在输入文本中的词向量矩阵中添加的扰动 [4]。文本处理中的离散扰动示列如图 2:
图2 文本处理中的离散扰动示例
part1 指的是原始的输入文本,part2 指的是对原始数据进行离散扰动后的文本,虽然只有少量字符被修改但是模型产生了完全不同的输出。
在文本处理中,对抗扰动的特征 1 要求添加扰动后产生的对抗样本与原样本在语义上保持一致,即添加的扰动应该尽量不改变原始句子的语义。因此,需要一个测度来衡量扰动前后文本的差异。

测度方式

1.余弦相似度(Cosine similarity) 是基于词向量的语义相似度计算方法,余弦距离更注重两个向量之间的方向差异。 两个矢量的方向越一致,相似性越大。该方法的局限性在于词向量的维度必须相同。
2.欧式距离(Euclidean Distance) 在文本处理中欧式距离主要应用于连续扰动的情况。
3.字移动距离(WMD) 是 Earth Mover’s Distance (EMD) 的变体,它可以通过计算从一个文档到另一个文档嵌入词行进距离来衡量两个文本文档之间的差异。也就是说,WMD 可以量化文本之间的语义相似性。
4.Jaccard 相似系数给定两个集合 A 和 B,Jaccard 相似系数的值越接近与 1,表明两者越相似。在文本处理中,交集就是两者中的相同词,并集就是所有非重复词的集合。
5.编辑距离(Edit Distance) 是一种通过将字符串转换为另一个字符串来测量最小修改的方法。 它的值越高,两个字符串越不相似。

在上述五种测度中,余弦距离、欧式距离和 WMD 基于词向量计算,主要适用于连续扰动的情况,Jaccard 相似系数,编辑距离可以直接基于文本字符来计算,主要适用于离散扰动的情况。

对抗攻击

对抗攻击可以按照不同的依据分为不同的类别,按对原始模型的访问权限不同可分为:黑盒攻击与白盒攻击。白盒攻击指的是攻击者可以完全访问目标模型,他们可以了解模型的架构,参数和权重。黑盒攻击指的是攻击者很少或根本没有关于目标模型的知识,他们无法对其进行探测。在这种情况下,攻击者通常训练自己的模型并利用对抗性样本的可转移性来进行攻击。当然,白盒和黑盒攻击都无法改变模型和训练数据。
按攻击目的,可分为目标攻击和非目标攻击,目标攻击指的是生成的对抗样本希望被模型错分到某个特定的类别上。非目标攻击指的是对抗样本只要能让模型分错就行,不论错分到哪个类别都可以。

参考文献

Wang, W., Wang, L., Tang, B., Wang, R., & Ye, A. (2019). A survey on Adversarial Attacks and Defenses in Text, 1–13. Retrieved from http://arxiv.org/abs/1902.07285

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BERT(Bidirectional Encoder Representations from Transformers,双向编码器表示转换器模型)是一种用于预训练自然语言处理任务的深度双向Transformer模型。NER(Named Entity Recognition,命名实体识别)是自然语言处理的一个重要任务,旨在从文本识别并分类命名实体,如人名、地名、组织机构名等。 BERT NER对抗训练是指在NER任务使用BERT模型,并通过对抗训练方法来提高NER模型的性能和鲁棒性。对抗训练是一种训练方法,通过对抗性样本生成和模型训练来提高模型的泛化能力。 对抗训练的样本生成阶段,首先利用BERT模型生成一些原始样本。然后,对这些样本进行扰动,比如替换、删除或插入一些单词,生成对抗样本。这些对抗样本具有较高的复杂性和困惑性,能够对NER模型产生挑战。 在对抗训练的模型训练阶段,使用BERT模型作为NER模型的编码器,并将NER模型的输出与对抗样本进行比对。如果NER模型能够准确地标注对抗样本的命名实体,说明NER模型对于复杂样本的鲁棒性较高。如果NER模型无法正确标注对抗样本的命名实体,将利用反向传播方法更新NER模型的参数,使其能够更好地适应对抗样本的特点。 通过对抗训练,在NER任务使用BERT模型可以帮助提高NER模型的性能和鲁棒性。对抗样本的生成能够使NER模型更好地理解和处理复杂样本,而模型的对抗训练能够增强模型的泛化能力和鲁棒性,使其在不同领域和真实场景都能取得良好的性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值