【论文笔记】Parameter-Effificient Transfer Learning for NLP

题目:Parameter-Effificient Transfer Learning for NLP
阅读

0.摘要

克服微调训练不高效的问题,增加一些adapter模块,思想就是固定原始的网络中的参数,针对任务增加一些可以训练的参数,新任务无需重新访问以前的任务,产生高度的参数共享。与完全微调相比,仅仅增加了3.6%的参数,就接近了SOTA的结果。

1.引言

紧凑模型是那些在每个任务中使用少量附加参数来解决许多任务的模型。可以逐步训练可扩展模型来解决新任务,而不会忘记以前的任务。我们的方法在不牺牲性能的情况下产生了这样的模型。

在NLP中最常用的迁移学习技术有两种,分别是feature-based transfer 和 fine-tuning。前一种是将训练好的embedding移植到别的任务中,后一种方法是对已训练好的网络的权重进行复制,然后在下游任务进行调整。已经证明微调比基于特征的迁移效果要更好。

在这里插入图片描述

基于Adapter的调优与多任务和持续学习有关。多任务学习也会产生紧凑的模型。然而,多任务学习需要同时访问所有任务,而基于Adapter的调优则不需要。持续学习系统旨在从无穷无尽的任务中学习。这种范式具有挑战性,因为网络在重新训练后会忘记以前的任务。适配器的不同之处在于任务不交互并且共享参数被冻结。这意味着该模型使用少量特定于任务的参数对先前的任务具有完美的记忆。

2 Adapter tuning for NLP

提出了一种在多个下游任务上调整大型文本模型的策略,包含三个属性:

  1. 保持良好的性能
  2. 它允许按顺序对任务进行训练,也就是说,它不需要同时访问所有数据集
  3. 它只为每个任务添加少量额外参数

之所以微调的时候要在神经网络的最顶层添加一个新层,是因为label space和loss space对于上游任务和下游任务是不同的。

**adaper将一些新的层注入到原始的网络,原始网络的权重保持不变,而新的适配器层是随机初始化的。**在标准微调中,新的顶层和原始权重是共同训练的。相反,在 adaptertuning 中,原始网络的参数被冻结,因此可能被许多任务共享。

Adapter模块有两个关键特征:

  1. 小规模的参数
  2. 近似一致的初始化。我们还观察到,如果初始化偏离恒等函数太远,模型可能无法训练。

在这里插入图片描述

图中绿色的部分是在下游任务中进行训练的,包括layernorm,adapter模块,已经最终的分类头(图中未标出)。

在多头注意力投影层后,在FFN后添加了Adapter模块。

为了限制参数的数量,提出了bottleneck结构。adapter首先将原始的d维特征投影到一个小的维度m,应用一个非线性层,然后在投影回d维度,

对于每个增加的层,增加的参数包括bias时,参数量为2md+d+m。m远小于d

因此对每个任务限制了模型的规模。

bottleneck维度m提供了一种权衡性能与参数效率的简单方法。

🧐适配器模块本身在内部有一个残差连接。使用残差连接,如果投影层的参数被初始化为接近零,则模块被初始化为近似恒等函数

3 实验

训练设置,batch size=32、4块TPU

对于GLUE来说,使用 B e r t l a r g e Bert_{large} Bertlarge:24层,330M参数。

bottleneck维度范围:{8, 64, 256}

在这里插入图片描述

🧐那个Total数值是如何计算出啦的?不是取平均吧,平均的结果是82.02,81.54,81.1

😀那个Total是平均GLUE分数,

在这里插入图片描述

3.1 参数/性能平衡

适配器大小控制参数效率,较小的适配器引入较少的参数,可能会降低性能。为了探索这种权衡,我们考虑不同的适配器大小,并与两个基线进行比较:(i)仅微调 B E R T B A S E BERT_{BASE} BERTBASE}的前 k 层。 (ii) 仅调整layer normalization参数。

在这里插入图片描述

在这里插入图片描述

3.2 讨论

移除某一个单层的adapter对性能有很小的影响。热力图的对角线绿色部分表明只移除某一层的adapter,性能最多只有2%的降低。要是全部移除的话对于MNLI是37%,对于CoLa是69%。这表明虽然每个适配器对整个网络的影响很小,但整体影响很大。

右图表明,低层相对于高层只有很小的影响。从 MNLI 上的第 0 层到第 4 层移除适配器几乎不会影响性能。

本文研究了适配器模块对神经元数量和初始化规模的鲁棒性。在我们的主要实验中,适配器模块中的权值从一个标准差为 1 0 − 2 10^{−2} 102的零均值高斯分布中提取,并被截断为两个标准差。为了分析初始化规模对性能的影响,我们测试了区间内的标准偏差 [ 1 0 − 7 , 1 ] [10^{−7},1] [107,1]。在两个数据集上,适配器的性能在 1 0 − 2 10^{−2} 102以下的标准差下都是稳健的。然而,在CoLA上当初始化太大时,性能会下降。

在这里插入图片描述

(这个图的最右上角代表着所有adapter都被移除了)

4.相关工作

多任务学习。与adapter不同的是,MTL(multi-task learing)需要在训练阶段同时访问任务。

继续学习。容易发生灾难性遗忘的问题。

视觉领域迁移学习。在视觉领域,卷积adapter模块已经被提出了,为ResNet或VGG增加一些1*1的卷积。(Rebuffi et al., 2017; 2018; Rosenfeld & Tsotsos, 2018).

  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
"blitz-bayesian-deep-learning-master" 是一个软件项目的名称,该项目是一个在深度学习领域中应用贝叶斯方法的程序代码库。 深度学习是一种机器学习方法,用于训练和模拟人工神经网络,以便可以从大规模数据中进行模式识别和预测。而贝叶斯方法是一种从概率的角度解释不确定性的统计学方法。 blitz-bayesian-deep-learning-master项目的目标是将贝叶斯方法应用于深度学习领域。通过引入贝叶斯理论和方法,这个项目试图解决深度学习中的一些问题,如模型不确定性估计和过拟合问题。这将有助于提高深度学习模型的鲁棒性和泛化能力。 在blitz-bayesian-deep-learning-master项目中,可能会包含一些贝叶斯深度学习的常见算法和模型,如变分自编码器(VAE)、蒙特卡洛dropout和贝叶斯卷积神经网络等。这些算法和模型可以被应用于各种深度学习任务,如图像分类、目标检测和自然语言处理等。 通过使用该项目,研究人员和开发人员可以更好地理解深度学习中的不确定性和模型鲁棒性,并在实际问题中应用贝叶斯深度学习方法。这将为科学研究和工程应用带来更加准确和可靠的结果。 总而言之,blitz-bayesian-deep-learning-master是一个旨在将贝叶斯方法应用于深度学习领域的项目,旨在提高模型的不确定性估计和泛化能力,为科学研究和工程应用带来更好的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值