热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

点击上方DLNLP,选择星标,每天给你送干货!文|JayLou娄杰来自|高能AI试图让美国“再次伟大”的特朗普20日(今日&

点击上方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



推荐阅读
  • 如何在C#中配置组合框的背景颜色? ... [详细]
  • WebStorm 是一款强大的集成开发环境,支持多种现代 Web 开发技术,包括 Node.js、CoffeeScript、TypeScript、Dart、Jade、Sass、LESS 和 Stylus。它为开发者提供了丰富的功能和工具,帮助高效构建和调试复杂的 Node.js 应用程序。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • C#编程中按钮控件的使用与优化 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 探索聚类分析中的K-Means与DBSCAN算法及其应用
    聚类分析是一种用于解决样本或特征分类问题的统计分析方法,也是数据挖掘领域的重要算法之一。本文主要探讨了K-Means和DBSCAN两种聚类算法的原理及其应用场景。K-Means算法通过迭代优化簇中心来实现数据点的划分,适用于球形分布的数据集;而DBSCAN算法则基于密度进行聚类,能够有效识别任意形状的簇,并且对噪声数据具有较好的鲁棒性。通过对这两种算法的对比分析,本文旨在为实际应用中选择合适的聚类方法提供参考。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 点互信息在自然语言处理中的应用与优化
    点互信息(Pointwise Mutual Information, PMI)是一种用于评估两个事件之间关联强度的统计量,在自然语言处理领域具有广泛应用。本文探讨了 PMI 在词共现分析、语义关系提取和情感分析等任务中的具体应用,并提出了几种优化方法,以提高其在大规模数据集上的计算效率和准确性。通过实验验证,这些优化策略显著提升了模型的性能。 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文探讨了基于点集估算图像区域的Alpha形状算法在Python中的应用。通过改进传统的Delaunay三角剖分方法,该算法能够生成更加灵活和精确的形状轮廓,避免了单纯使用Delaunay三角剖分时可能出现的过大三角形问题。这种“模糊Delaunay三角剖分”技术不仅提高了形状的准确性,还增强了对复杂图像区域的适应能力。 ... [详细]
  • 本文详细介绍了在 Python 中使用 OpenCV 进行图像处理的各种方法和技巧,重点讲解了腐蚀(erode)和膨胀(dilate)操作,以及开运算和闭运算的应用。腐蚀操作可以去除前景物体的边缘部分,而膨胀操作则可以扩展前景物体的边界。开运算和闭运算则是结合这两种基本操作,用于消除图像中的噪声和填充空洞,提高图像处理的效果。通过具体的代码示例和实际应用案例,读者可以深入理解这些技术在图像处理中的重要作用。 ... [详细]
  • MongoDB高可用架构:深入解析Replica Set机制
    MongoDB的高可用架构主要依赖于其Replica Set机制。Replica Set通过多个mongod节点的协同工作,实现了数据的冗余存储和故障自动切换,确保了系统的高可用性和数据的一致性。本文将深入解析Replica Set的工作原理及其在实际应用中的配置和优化方法,帮助读者更好地理解和实施MongoDB的高可用架构。 ... [详细]
author-avatar
国民男神-权志龙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有