摘要

尽管已被广泛采用,但现有的用于微调预训练语言模型的方法已显示在超参数设置中不稳定,从而激发了有关信赖域方法的最新工作。在本文中,我们提出了一种基于信赖域理论的简化而有效的方法,该方法用参数噪声(从正态分布或均匀分布采样)替换了以前使用的对抗目标,从而在可能的情况下阻止了微调过程中的表示变化,而不会损害性能。我们还通过研究表示崩溃来引入一种新的分析方法,以更广泛地激发信赖域方法的使用。表示崩溃指由于针对特定的最终任务进行了微调,因此预训练模型中的通用表示形式的退化。大量的实验表明,我们的微调方法在一系列理解和生成任务(包括DailyMail / CNN,Gigaword,Reddit TIFU和GLUE基准测试)上达到或超过了以前的信赖域方法的性能,而且速度要快得多。我们还表明,它不太容易出现表示崩溃;预先训练的模型在每次进行微调时都会维护更通用的表示形式。

1.介绍

预训练语言模型已显示出广泛的语义,句法和世界知识,并提供了事实上的初始化方法来为大多数现有的NLP任务建模。但是,针对每个任务对它们进行微调是一个非常不稳定的过程,许多超参数设置会导致微调运行失败,结果不稳定(随机种子之间存在较大差异),过拟合和其他不良后果。
  最近,已显示出基于信任区域或基于对抗的方法(包括SMART和FreeLB),通过添加额外的约束来限制微调改变初始参数的程度,从而提高了微调的稳定性和准确性。但是,与更普遍采用的基于简单梯度的方法相比,这些方法在计算和内存上的消耗要大得多。
  在本文中,我们提出了一种轻量级的微调策略,与SMART和FreeLB相比,该策略可以匹配或提高性能,而只需要计算和内存开销的一小部分,而无需额外的反向传递。我们的方法受信赖域理论的启发,同时也简化为相对于应用于原始预训练表示的参数噪声简单地对模型进行正则化。我们表现出始终更好的性能,为RoBERTa在GLUE上进行微调设置了新的技术水平,同时在XNLI上达到了最新的效果,而无需使用任何新的预训练方法。此外,我们的微调方法系列的低开销使我们的方法可以应用于生成任务,在这些任务中,我们始终优于标准微调方法,从而在摘要任务上达到了最好的效果。
  我们还引入了新的分析方法,通过定义新的表示崩溃概念并引入了在微调过程中对其进行度量的新方法,以更广泛地激发信赖域方法的使用。表示崩溃指由于针对特定的最终任务进行了微调,因此预训练模型中的通用表示形式的退化。我们通过经验表明,通过对GLUE任务进行一系列探测实验,标准微调会降低通用的表示形式。此外,我们将此现象归因于在微调阶段使用了标准梯度下降算法。我们还发现(1)最近提出的基于信赖域的微调方法(即SMART)能够缓解表示崩溃,并且(2)我们的方法在很大程度上减轻了表示崩溃,表现出几乎在所有数据集和模型上都达到了最好性能。
  我们在本文中的贡献如下。

  • 我们提出了一种基于信赖域理论的新微调方法,该方法能够直接缓解表示崩溃,而成本却只是其他最近提出的微调方法的一小部分。
  • 通过广泛的实验,我们证明了根据Zhang et al. (2020) 最近提出的最佳实践,我们的方法优于标准的微调方法。我们改进了各种SOTA模型,从句子预测到摘要,从单语言到跨语言。
  • 我们进一步定义和探索微调中的表示崩溃现象,并将其与目标任务的泛化直接关联起来。

2.通过正则化的微调学习鲁棒表示

我们对微调表示的方法很感兴趣,这些方法可以保证表示的移动,因为在为新任务微调它们时,他们不会忘记原始的预训练表示形式(有关更多详细信息,请参见第4节)。我们引入了一种新的微调方法,该方法基于对信信赖域的近似,它通过在更新时刻ttt和t+1t+1t+1处限制模型之间的某些差异,为随机梯度下降算法提供了保证。
  令f:Rm×n→Rpf:\mathbb R^{m×n}→\mathbb R^pf:Rm×n→Rp是一个函数,该函数从由嵌入维度为nnn的固定向量组成的mmm个字符中返回由θfθ_fθf​参数化的一些预训练表示。令学习到的分类头g:Rp→Rqg:\mathbb R^p→\mathbb R^qg:Rp→Rq是一个函数,该函数从fff取一个输入,并输出一个由θg\theta_gθg​参数化的qqq维有效概率分布。在生成的情况下,我们可以假设分类头仅仅是一个损失函数或一个恒等函数或softmax。令L(θ)\mathcal L(θ)L(θ)表示由θ=[θf,θg]θ=[θ_f,θ_g]θ=[θf​,θg​]给出的损失函数。我们感兴趣的是将L\mathcal LL相对于θ最小化,以使每个更新步骤都受到表示密度空间p(f)p(f)p(f)中移动的限制。更正式地,给定任意的ϵ\epsilonϵ:
argminΔθL(θ+Δθ)s.t.KL(p(f(⋅;θf))∣∣p(f(⋅;θ+Δ+θf)))=ϵ(1)\mathop{argmin}\limits_{\Delta \theta}\mathcal L(\theta+\Delta \theta)\quad s.t.~KL(p(f(\cdot;\theta_f))||p(f(\cdot;\theta+\Delta+\theta_f)))=\epsilon \tag{1}Δθargmin​L(θ+Δθ)s.t. KL(p(f(⋅;θf​))∣∣p(f(⋅;θ+Δ+θf​)))=ϵ(1)
这种受约束的优化问题等同于直接对表示进行自然梯度下降。不幸的是,我们无法直接访问表示密度,因此直接绑定该数量并非易事。相反,我们建议在g⋅fg·fg⋅f上进行自然梯度处理,并附加一个约束条件,即g最多为1-Lipschitz(这自然会限制表示的变化,请参见附录中的A.1节)。 由于需要反转Hessian矩阵,因此自然梯度的传统求解在计算上是禁止的。 可以使用Bregmann散度通过镜面下降来表示自然梯度的另一种表示方式。
LSMART(θ,f,g)=L(θ)+λEx∼X[supx∼:∣x∼−x∣≤ϵKLS(g⋅f(x)g⋅f(x∼))](2)\mathcal L_{SMART}(\theta,f,g)=\mathcal L(\theta)+\lambda\mathbb E_{x\sim X}[\mathop{sup}\limits_{x^{\sim}:|x^{\sim}-x|\le\epsilon}KL_S(g\cdot f(x)g\cdot f(x^{\sim}))]\tag{2}LSMART​(θ,f,g)=L(θ)+λEx∼X​[x∼:∣x∼−x∣≤ϵsup​KLS​(g⋅f(x)g⋅f(x∼))](2)
  但是,上界在计算上是棘手的。可以通过执行梯度上升步骤来近似,类似于找到对抗性示例。这是SMART首先用对称KLS(X,Y)=KL(X∣∣Y)+KL(Y∣∣X)KL_S(X,Y)=KL(X||Y)+KL(Y||X)KLS​(X,Y)=KL(X∣∣Y)+KL(Y∣∣X)项提出的。
  我们提出了一种更简单的近似,它不需要额外的后向计算,并且在经验上比SMART更好。我们从SMART中完全消除了对抗性,而是针对KLSKL_SKLS​参数化的平滑度进行了优化。此外,我们还可选地通过使ggg的平滑度最大为1-Lipschitz来添加约束,直觉是如果我们可以约束ggg的变化量,则可以更有效地约束fff。
LR3(f,g,θ)=L(θ)+λKLS(g⋅f(x)∣∣g⋅f(x+z))R3FMethod(3)\mathcal L_{R3}(f,g,\theta)=\mathcal L(\theta)+\lambda KL_S(g\cdot f(x)||g\cdot f(x+z))\qquad R3F~Method\tag{3}LR3​(f,g,θ)=L(θ)+λKLS​(g⋅f(x)∣∣g⋅f(x+z))R3F Method(3)
s.t.z∼N(0,σ2I)orz∼U(−σ,σ)(4)s.t.\quad z\sim \mathcal N(0,\sigma^2I)~or~z\sim \mathcal U(-\sigma,\sigma)\tag{4}s.t.z∼N(0,σ2I) or z∼U(−σ,σ)(4)
s.t.Lip{g}≤1OptionalR4FMethod(5)s.t.\quad Lip\{g\}\le 1\qquad Optional~R4F~Method\tag{5}s.t.Lip{g}≤1Optional R4F Method(5)
其中KLSKL_SKLS​是对称KLKLKL散度,zzz是采样的噪声。在我们的工作中,我们针对以0为中心的正态分布和均匀分布进行测试。我们将其称为Robust Representations through Regularized Finetuning(R3F)方法。
  此外,我们提出R3F的扩展(R4F; Robust Representations through Regularized and Reparameterized Finetuning,通过谱归一化将ggg最多重新设置为1-Lipschitz。通过将ggg最多限制为1-Lipschitz,我们可以更直接地限制表示形式的变化(附录A.1节)。具体来说,我们通过反转ggg的最大权重值来缩放ggg的所有权重矩阵WSN:=W/σ(W)W_{SN}:=W/σ(W)WSN​:=W/σ(W)。给定光谱半径σ(WSN)=1σ(W_{SN})=1σ(WSN​)=1,我们可以限制Lip{g}≤1Lip\{g\}≤1Lip{g}≤1。在生成的情况下,ggg没有任何权重,因此我们只能应用R3F方法。

2.1 和SMART和FREELB的关系

BETTER FINE-TUNING BY REDUCING REPRESENTATIONAL COLLAPSE翻译相关推荐

  1. pytorch深度学习-微调(fine tuning)

    微调(fine tuning) 首先举一个例子,假设我们想从图像中识别出不同种类的椅子,然后将购买链接推荐给用户.一种可能的方法是先找出100种常见的椅子,为每种椅子拍摄1,000张不同角度的图像,然 ...

  2. pretraining+fine tuning

    few shotlearning简单实现方法:在大规模数据做预训练模型,然后在小规模suport set上做fine tuning.方法简单准确率高. 基础数学知识: cos函数可以判断两个向量的相似 ...

  3. 如何fine tuning

    先看一个示例 keras入门 -在预训练好网络模型上进行fine-tune https://blog.csdn.net/hnu2012/article/details/72179437 我们的方法是这 ...

  4. 计算机视觉之迁移学习中的微调(fine tuning)

    现在的数据集越来越大,都是大模型的训练,参数都早已超过亿级,面对如此大的训练集,绝大部分用户的硬件配置达不到,那有没有一种方法让这些训练好的大型数据集的参数,迁移到自己的一个目标训练数据集当中呢?比如 ...

  5. Bert模型 fine tuning 代码run_squad.py学习

    文章目录 关于run_squad.py 分模块学习 SquadExample InputFeatures create_model model_fn_builder input_fn_builder ...

  6. ICLR 2021投稿中值得一读的NLP相关论文

    我们从 ICLR 2021开放投稿的3000篇论文中,粗略筛选了近100篇与自然语言处理领域中也许值得一读的论文,供大家查阅. 理论.模型与经验性分析:38篇 问答与阅读理解:4篇 知识图谱:4篇 文 ...

  7. 文献阅读:Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning

    文献阅读:Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning 1. 内容简介 ...

  8. 预训练语言模型fine-tuning近期进展概述

    近年来,迁移学习改变了自然语言处理领域的范式,对预训练语言模型(PLM)进行微调(fine-tuning)已经成为了新的范式.本文主要梳理了近期的预训练语言模型做fine-tuning的进展. ‍‍‍ ...

  9. Paper:《How far are we from solving the 2D 3D Face Alignment problem? 》解读与翻译

    Paper:<How far are we from solving the 2D & 3D Face Alignment problem? >解读与翻译 目录 How far a ...

  10. YOLO9000, Better, Faster, Stronger论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

最新文章

  1. 力扣(LeetCode)打卡刷题交流计划(长期维护)
  2. SAP MM模块的预留详解
  3. leetcode_最长回文字符串
  4. kafkatool 配置_kafka tools的使用
  5. 第二十一章:变换(三)
  6. blob转成json js_javascript – 文件API – Blob到JSON
  7. android采用什么图标单位,Android支持的长度单位
  8. Django-model进阶
  9. [html] 精确获取页面元素位置的方式有哪些?
  10. html十css十javascript,html代码,css代码,JavaScript代码, | 重蔚自留地
  11. Django模型基础(三)——关系表的数据操作
  12. 当我以为这是最后一个Bug,改完就能提交了的时候
  13. IT寡头们之间的围棋模式;最新动向:多点布局,规模经营和资本扩张
  14. 找出若干个非零数中的最小值以及它们的平均值
  15. 下一代微服务架构——Service Mesh 服务网格新生代Istio
  16. 神舟 桌面显示计算机,神舟笔记本双显卡怎么切换不盯道你的笔记本型号
  17. 人,终究是要找到自己喜欢的...才行
  18. 百度地图图层开发java_Android百度地图应用之图层展示
  19. CSS 权威指南 CSS实战手册 第四版(阅读笔记)
  20. Unity - 搬砖日志 - 打开项目时崩溃/或是运行不起unity的日志

热门文章

  1. linux内核态文件操作filp_open/filp_close/vfs_read/vfs_write
  2. matlab randn 范围,matlab randn 范围
  3. 2019年学UI设计有前途吗
  4. K'ed by TNT team是什么意思?
  5. VS2015编辑图片
  6. 判断多边形边界曲线顺/逆时针 两种方法
  7. Mind Elixir思维导图使用方法
  8. 实现js尾递归优化的代码
  9. android主题切换框架,Prism(棱镜)——一款优秀的Android 主题动态切换框架
  10. 关于 Indentifying Non-explicit Citing Sentences for Citation-based Summarization