0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍NMT模型鲁棒性对抗训练的三部曲

深度学习自然语言处理 来源:天宏NLP 2023-02-20 10:35 次阅读

本文主要介绍NMT模型鲁棒性的相关改进工作,介绍一下对抗训练的三部曲,一作皆是ChengYong,分别中了2018,2019和2020的ACL。

第一项工作为 Towards Robust Neural Machine Translation (ACL 2018)

本文的问题引入为一个小实验,即将机器翻译的源句进行微小扰动(同义词替换),69.74%的翻译句子也随之改变,并且原始输入和扰动输入对应的翻译句间BLEU仅为79.01,因此,作者希望通过对抗训练来加强Encoder和Decoder的抗干扰能力。

5c4f9db4-afe5-11ed-bfe3-dac502259ad0.png

具体做法如上图,首先是噪声的引入,作者提出两种方式:

1)词汇级别,计算余弦相似度进行同义词替换;

2)特征级别,在词向量上加入高斯噪声。

然后是噪声数据的使用,对应上图中三个损失函数:

1)Ltrue(x, y)是正常训练NMT的损失函数;

2)Lnoisy(x', y)是加强Decoder的去噪能力,即对应有噪声的Hx',Decoder也能得到正确的输出;

3)Linv(x, x'),旨在加强Encoder的去噪能力,即针对噪声数据x',Encoder得到的Hx'也应与原表征Hx相近,训练过程采用了min-max two-player策略,引入Discriminator进行交互对抗训练,Encoder得到Hx和Hx'应该尽可能相似骗过Discriminator,而Discriminator则要分开有、无噪声的数据,两者迭代训练以加强Encoder对噪声数据x'的建模能力。

文章优势在于不改变模型结构,可拓展到任意噪声干扰或是针对特定任务进行设计,如作者对输入数据进行删除、替换等token级噪声时,发现使用词汇级别噪声的引入训练的模型更鲁棒。

第二项工作为 Robust Neural Machine Translation with Doubly Adversarial Inputs (ACL 2019)

这项工作不同于上文的模型无关,而是将NMT看成“白盒”,从而基于梯度生成对抗输入,文章的核心思想就是下面这条式子,其中x',x分别代表有无噪声的数据,R(·)为相似性度量,后面的是负对数Loss,通俗来讲就是找到噪声不是太大的x'(保证x'与x语义相近),使得模型的Loss最大,这样才能最有效地加强模型鲁棒性。

5c7ebaea-afe5-11ed-bfe3-dac502259ad0.png

具体做法分为两部分,分别是Encoder攻击和Decoder防御。在Encoder端,x为Encoder的输入,模型会算出某个词表征xi的梯度gxi,然后在词表中找出使Loss最大的x替换原有的词xi,做法是在词典中计算表征“e(x)-e(xi)”与gxi的相似度,使相似度最大的xi'为所得。同时,噪声xi'不应与原始xi差太远,作者使用了Masked LM提取候选词,在原句中,会将需要替换的词先mask,然后选择预测的topk作为候选项,至于哪些词会被mask或替换则为随机均匀采样。

5c9792a4-afe5-11ed-bfe3-dac502259ad0.png

在Decoder端,z为Decoder的输入,与Encoder中的噪声xi'类似,以同样的方法得到zi',但针对zi的采样与xi有关,即xi随机采样,zi需要大概率在xi替换的同样位置进行替换。因此,回望整个训练方式,Encoder的作用是找到使梯度最大的xi'扰乱模型,Decoder的作用是即使输入为zi',仍能输入正确的结果,具有一定鲁棒性。

我觉得本文有两点值得思考,首先是基于梯度最大来找噪声词,能够更有力的对模型鲁棒能力发起攻击,其实这个可以更进一步,Encoder输入中需要被替换的词并非随机采样,而是找使Loss最大的词,相关文章改进CE Loss为Focal Loss也就是这个思想,我们可以直觉判断,模型建模较好的是高频词,建模不好的是低频词,低频词的Loss比较大,我们在大Loss的基础上再找大梯度,这样攻击效果更强力,同时可以提高模型对低频词的鲁棒性。第二点是作者对xi的替换处理,还要回词典中寻找进行词替换,这样未免更加麻烦了,为什么不在一定范围内,直接找梯度最大的向量进行替换了呢?如果怕语义信息不相似,缩小相似度量范围就好了,这样更方便。

第三项工作为 AdvAug: Robust Adversarial Augmentation for Neural Machine Translation (ACL 2020)

这项工作是在第二项的基础上进行了数据增强的改进,采用的方法为线性插值,首先针对原始数据(x, y),作者用第二项工作的方法造出一堆噪声数据,然后对噪声数据进行线性插值生成更多的伪数据,令人比较奇怪的是,作者对不同的parallel data pair同样进行了线性插值,可能两句话虽不同含义,但是插值后在向量空间,源句和目标句也能表达类似语义?

5cb5247c-afe5-11ed-bfe3-dac502259ad0.png


5cd27d56-afe5-11ed-bfe3-dac502259ad0.png







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ACL
    ACL
    +关注

    关注

    0

    文章

    61

    浏览量

    11979

原文标题:NMT对抗训练的三部曲

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    油烟机选购三部曲

    油烟机选购三部曲厨房油烟含有20多万种有害物质,不仅会致癌,对肠道、大脑神经等也有很大的危害。厨房油烟已成为人体健康的隐形杀手。而肩负清洁厨房油烟的重任,一款好的吸油烟机将为你的生活增色不少
    发表于 12-22 14:45

    三部曲(全书)

    天嵌的三部曲
    发表于 07-01 16:41

    冒泡排序法三部曲の一、冒泡排序原理版

    的类型就多进行3x4次排序,为了解决这个问题,对冒泡排序法进行进一步优化,将在冒泡排序法三部曲の二、冒泡排序优化中解决这个问题。
    发表于 09-12 10:30

    冒泡排序法三部曲の冒泡排序原理版(一)

    ;, array[n]);printf("\t");//空格一次}return 0;}运行结果上述代码没有问题,但是如果数组是类似{1,2,3,5,4}这样的类型就多进行3x4次排序,为了解决这个问题,对冒泡排序法进行进一步优化,将在冒泡排序法三部曲の二、冒泡排序优化中解决这个问题。
    发表于 09-12 10:42

    冒泡排序法三部曲の二冒泡排序法的优化

    本帖最后由 卢小二 于 2019-9-14 11:23 编辑 环境:VS2017C language在冒泡排序法三部曲の一冒泡排序法的原理之后,其实存在一些可优化的问题,首先就是假如是
    发表于 09-13 12:17

    荣耀Note9什么时候上市?荣耀三部曲华为荣耀Note9即将发布,配置、渲染图、价格消息汇总

    喜欢全面屏新机?喜欢大屏手机?那这部6.6英寸的超大屏全面屏手机真的是不容错过。这就是华为即将发布的最新旗舰,荣耀三部曲之一的---荣耀Note 9。
    发表于 08-02 10:16 4004次阅读

    是什么意思_Robust为什么翻译成

    的定义 是什么意思?头一次看到这个词的你可能会想歪(邪恶的笑脸)。但其实
    发表于 11-29 09:08 12.7w次阅读
    <b class='flag-5'>鲁</b><b class='flag-5'>棒</b><b class='flag-5'>性</b>是什么意思_Robust为什么翻译成<b class='flag-5'>鲁</b><b class='flag-5'>棒</b><b class='flag-5'>性</b>

    存储三部曲的第一——NAS

    目前数据存储的形态,主要就是SAN、NAS和OBJ这种。作为存储三部曲的第一,先来说说我最喜欢的NAS。 NAS(Network Attached Storage),网络附加存储。简单的说
    的头像 发表于 12-03 14:11 2876次阅读

    存储三部曲最后一SAN的现状如何?

    今天分享存储三部曲的最后一,高冷的SAN。 SAN(Storage Area Network),存储局域网络,一种主要基于FC(FibreChannel)的光纤通道存储威廉希尔官方网站 ,用于SAN中的存储就是
    的头像 发表于 12-03 14:15 2619次阅读

    如何提高事件检测(ED)模型和泛化能力?

    论文中指出,以往关于ED的工作都是考虑如何提升模型的性能,而较少考虑模型和泛化能力,作者将模型
    的头像 发表于 12-31 10:21 3323次阅读

    NLP中的对抗训练到底是什么

    简介 对抗训练是一种引入噪声的训练方式,可以对参数进行正则化,提升模型
    的头像 发表于 01-18 17:17 3558次阅读

    简单总结几种NLP常用的对抗训练方法

    对抗训练本质是为了提高模型,一般情况下在传统训练
    的头像 发表于 11-09 10:17 3004次阅读
    简单总结几种NLP常用的<b class='flag-5'>对抗</b><b class='flag-5'>训练</b>方法

    的含义以及如何提高模型

    的含义以及如何提高模型? 什么是
    的头像 发表于 10-29 11:21 3458次阅读

    在机器学习中的重要

    在机器学习领域,模型是指模型在面对输入数据的扰动、异常值、噪声或对抗性攻击时,仍能保持性
    的头像 发表于 11-11 10:19 348次阅读

    深度学习模型优化

    。异常值和噪声可能会误导模型训练,导致模型在面对新数据时表现不佳。 数据标准化/归一化 :将数据转换到同一尺度上,有助于模型更好地学习数据的内在规律,从而提高
    的头像 发表于 11-11 10:25 254次阅读