点击上方DLNLP,选择星标,每天给你送干货!


文 | JayLou娄杰

来自 | 高能AI

试图让美国“再次伟大”的特朗普20日(今日)结束任期了。风靡NLP社区的预训练语言模型能否找到一种方式、让其再次强大呢?

本文JayJay就介绍一种让预训练模型再次强大的方式——虚拟对抗训练(Virtual Adversarial Training,VAT)。通过本文,希望传递给大家一个idea:在相同的预训练时间下,对BERT采取虚拟对抗训练,则效果会更好!

众所周知,泛化性鲁棒性都是设计机器学习方法的关键要求。对抗训练在CV领域已经有着广泛的研究和应用,但一些研究表明:对抗训练虽然可以增强鲁棒性,但会损害泛化性[1]

在NLP中,BERT等大型预训练语言模型在下游任务中有良好的泛化性能;通过对抗训练是否可以进一步增加泛化能力呢?不恰当的对抗训练方式是不是会损害BERT呢?BERT是不是也经受不住“对抗攻击”呢?

带着这些疑问,我们介绍一篇来自微软在ACL20的paper《Adversarial Training for Large Neural Language Models》,这篇论文首次全面对「对抗预训练」进行了全面研究,建立了一种统一的、适配于语言模型的对抗训练框架——ALUM (Adversarial training for large neural LangUage Models)。

具体地,这篇paper的主要精华有:

  • 提出对抗训练框架ALUM,可同时应用到预训练和微调两个阶段。

  • 全面分析了对抗训练在从头预训练持续预训练任务微调下的表现。

  • 对抗训练框架ALUM超过了一众预训练模型的指标,同时提升鲁棒性和泛化性

论文下载地址:https://arxiv.org/pdf/2004.08994

论文开源地址:https://github.com/namisan/mt-dnn

本文的组织结构为:

1、NLP中的对抗训练怎么做?

不同于CV的对抗训练是在像素级别,由于文本输入是离散,NLP通常是在embedding空间添加扰动。

对抗训练的目标损失函数是一个Min-Max公式:

Min-Max公式分为两个部分:

  • 内部损失函数的最大化:为了寻找最大的扰动,




    为扰动空间,一般采用梯度上升求解。

  • 外部经验风险的最小化:为了最鲁棒的模型参数,并进行防御。

2、ALUM的关键:虚拟对抗训练

ALUM既能应用在预训练阶段,也能应用在微调阶段。ALUM采取(划重点)虚拟对抗训练进行,不是上述传统的对抗训练。

那什么是虚拟对抗训练(VAT)呢

VAT不需要标签信息,可应用于无监督学习,其梯度上升的方向是能使输出分布偏离现状的方向,而传统对抗训练找的是使模型预测最大偏离label的方向。因此,VAT不使用真实label,而是虚拟label。其实虚拟label就是当前模型的预测结果,是Soft的logit。

ALUM的目标函数是:

ALUM既包含有监督损失,也包括VAT损失(红框部分)。

ALUM为什么要使用VAT呢?

VAT不使用真实label,表明其更适合在标签嘈杂的情况下使用,而且比传统的对抗训练更具优势。特别是:预训练进行MLM任务的时候,使用被MASK的单词作为自我监督的标签,而其他相似词汇作为预测标签也没错,而且这种做法会更加Soft。可见:VAT会更加适合MLM预训练这种嘈杂的任务。

在上述ALUM的目标函数中,对于预训练阶段,






,加大VAT惩罚;而在微调阶段,






ALUM的扰动计算过程,与PGD方法类似,具体可参考文献[2]。其具体计算流程如下图,繁杂数学公式并不影响我们理解ALUM的核心观点,所以感兴趣的同学可参见原论文。

理论上,迭代次数K值越大,估计越好,但训练时间越长。论文折中,取






3、ALUM表现如何?

3.1 泛化性比较

论文采取3种设置在GLUE等数据集上进行了验证:

















  • : 基于原生BERT预训练;


















  • :预训练时间是原生BERT的1.5倍,训练时间与ALUM相同;























  • : 在原生BERT预训练后一半的时候加入VAT,由于






    时VAT前向计算为2次,反向传播1次,因此总的预训练时间是原生BERT的1.5倍。和 
















    预训练时间相同。

如上图给出了ALUM与BERT的对比,ALUM在500k步以后进行VAT,加入VAT后虽然总体训练时间是BERT的1.5倍,但指标提升明显。

上图也给出3种不同预训练方式下的指标对比,可以看出:

  • ALUM相较于原生BERT,指标提升均在2%左右!

  • 由 
















    预训练表现可以看出,BERT增加预训练时间,效果会更好!

  • ALUM
















    预训练时间一样,但ALUM效果最佳!并显著提升泛化性!

同样,论文也在预训练充分的RoBERTa模型上进行了对比,ALUM同样取得最佳效果!

3.2 鲁棒性比较

论文也在对抗数据集上,将ALUM与其他预训练模型进行了对比,ALUM取得最佳效果,显著提升鲁棒性

3.3 预训练和微调阶段都进行对抗训练

论文也在 预训练和微调阶段都进行对抗训练的情况进行对比(如上图),发现继续在微调阶段进行VAT,指标还会继续提升

总结

本文介绍了一种针对预训练语言模型进行对抗训练的方法——ALUM,主要结论如下:

  • 采取虚拟对抗训练的ALUM,兼具鲁棒性和泛化性

虽然之前的工作表明:对抗训练不同时兼具提升鲁棒性和泛化性,但ALUM可以调和这一冲突,这主要归咎于预训练阶段进行了对抗训练。此外,之前工作是在有监督条件下进行的对抗训练,这表明对未标记数据的虚拟对抗性训练是更为work,更能调和泛化性与鲁棒性之间的明显冲突。

  • 在预训练阶段进行对抗训练,虽然训练时间变长,但仍然会比同样训练时间的持续预训练模型效果好!继续在微调阶段进行对抗训练,指标会进一步提升!

当然,本文介绍的ALUM仍然有进一步提升空间,例如继续加速对抗训练、应用到更广泛的领域等。

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读

专辑 | 情感分析


整理不易,还望给个在看!

参考资料

[1]

The curious case of adversarially robust models: More data can help, double descend, or hurt generalization: https://openreview.net/forum?id=1dUk8vfKbhP

[2]

【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现: https://zhuanlan.zhihu.com/p/91269728

【微软力作】虚拟对抗训练:让预训练模型再次强大!相关推荐

  1. 泛化性乱弹:从随机噪声、梯度惩罚到虚拟对抗训练

    ©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 提高模型的泛化性能是机器学习致力追求的目标之一.常见的提高泛化性的方法主要有两种:第一种是添加噪声,比如往 ...

  2. 视频预训练界的HERO!微软提出视频-语言全表示预训练模型HERO,代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 在本文中,作者提出了HERO,一个新的大规模视频+语言综合表示学习框架.HERO以层次结构编码多模态输入,其中视频帧的局部上下文 通过多模态融合被跨模态Tr ...

  3. 赋能RPA时代,微软发布通用文档理解预训练模型LayoutLM

    来源:微软研究院AI头条 本文约3900字,建议阅读10+分钟 有效利用文档结构信息和视觉结构信息,显著提高模型准确率. 标签:自然语言处理 [ 导读 ]近年大热的机器人流程自动化(Robotic P ...

  4. 论文泛读记录(多模情感分析/探测;厌恶语音探测;属性级情感分析;CVPR2022和ACL2022 三元组/对比学习/视觉语言预训练/机器翻译/预训练模型/机器阅读理解)

    文章目录 1.1 CTFN: Hierarchical Learning for Multimodal Sentiment Analysis Using Coupled-Translation Fus ...

  5. 详解微软 ALUM:当语言模型遇到对抗训练

    作者 | 山竹小果 来源 | NewBeeNLP(id:NewBeeNLP) 今天分享来自微软最近关于语言模型和对抗训练的工作: 论文:Adversarial Training for Large N ...

  6. 1.75万亿参数、在国产超算上训练,刚刚智源发布了全球最大预训练模型“悟道2.0”...

    边策 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 中国的AI内行顶级盛会--2021北京智源大会又来了. 每年的智源大会参会阵容都非常豪华,今年也不例外,包括Yoshua Bengio ...

  7. 直播 | ACL 2021论文解读:基于对抗学习的事件抽取预训练模型

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  8. 2021 AI技术盘点:预训练模型5大进展

    [专栏:前沿进展]2021年已进入尾声,回顾一年来人工智能领域的发展历程,有众多瞩目的技术事件发展.其中,预训练模型无疑是2021年的重点发展领域.年初的Switch Transformer开启万亿参 ...

  9. 1.75万亿参数,刚刚智源发布了全球最大预训练模型“悟道2.0”

    中国的AI内行顶级盛会--2021北京智源大会又来了. 每年的智源大会参会阵容都非常豪华,今年也不例外,包括Yoshua Bengio.David Patterson两位图灵奖得主在内的200多位学者 ...

  10. 对抗训练浅谈:意义、方法和思考(附Keras实现)

    ©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 当前,说到深度学习中的对抗,一般会有两个含义:一个是生成对抗网络(Generative Adversari ...

最新文章

  1. C语言atoi()函数用法
  2. 下一代微服务!ServiceMesh的2018年度总结 | 万字雄文
  3. 美团一面:你既然写过Mybatis插件,能给我说说它底层是怎么加载一个自定义插件的吗?...
  4. linux开源软件经验,Ubuntu Linux经验汇总
  5. mysql数据库分表备份脚本_mysql 分库分表备份脚本
  6. javascript原型_JavaScript的原型:古怪,但这是它的工作原理
  7. 韩顺平php视频笔记79 80 错误和异常处理的机制 错误处理器 错误触发器
  8. 剑指offer:对称的二叉树(镜像,递归,非递归DFS栈+BFS队列)
  9. C++交换两个数组的前n个字节
  10. Swing JTree用法总结
  11. 如何将一个字典转换为玲阶矩阵_每日一课 | Python循环字典
  12. 计算机自动生成凭证,哪些财务软件能自动生成记账凭证?
  13. 再次风靡春节的《熊出没》,究竟下了哪些硬功夫?
  14. 哪个邮箱好用又安全?群发邮件哪个邮箱好用?
  15. 【雅思大作文考官范文】——第十七篇: 'economic progress' essay
  16. 多核时代多线程编程(一)基本策略
  17. 计算机底层:进程与线程。
  18. 聊聊办公室装修适合哪些风格以及装修技巧
  19. Matlab App Designer 学习笔记
  20. gfsj (logmein)

热门文章

  1. Hive中数据的导入与导出
  2. VS C#程序打包覆盖安装不能更新的解决方法
  3. Java并发AtomicIntegerArray类
  4. 常见网络命令之traceroute命令一起其他常用命令
  5. 斗战神 拳猴刷图加点
  6. bzoj2756: [SCOI2012]奇怪的游戏
  7. React Native升级方法——升级到最新版本0.59
  8. CentOS7安装GNOME可视化界面 和 远程访问
  9. shell的函数返回值
  10. [bzoj1468][poj1741]Tree_点分治