SMART: Robust and Efficient Fine-Tuning for Pre-trainedNatural Language Models

Posted Facico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SMART: Robust and Efficient Fine-Tuning for Pre-trainedNatural Language Models相关的知识,希望对你有一定的参考价值。

SMART: Robust and Efficient Fine-Tuning for Pre-trainedNatural Language Models through Principled RegularizedOptimization

Smoothness-inducing Adversarial Regularization

fine-tunning的优化如下
min ⁡ θ F ( θ ) = L ( θ ) + λ S R S ( θ ) w h e r e L ( θ ) = 1 n ∑ i = 1 n ℓ ( f ( x i ; θ ) , y i ) ( 损 失 函 数 ) \\min_\\theta F(\\theta)=\\mathcalL(\\theta)+\\lambda_S R_S(\\theta)\\\\ where\\quad \\mathcalL(\\theta)=\\frac1n \\sum_i=1^n \\ell(f(x_i;\\theta),y_i)\\qquad (损失函数) θminF(θ)=L(θ)+λSRS(θ)whereL(θ)=n1i=1n(f(xi;θ),yi)

  • λ S \\lambda_S λS是fine-tunning参数

  • R S ( θ ) R_S(\\theta) RS(θ)是Smoothness-inducing Adversarial正则项

    • R S ( θ ) = 1 n ∑ i = 1 n max ⁡ ∣ ∣ x i ~ − x i ∣ ∣ p ≤ ϵ ℓ S ( f ( x i ~ ; θ ) , f ( x i ; θ ) ) R_S(\\theta)=\\frac1n \\sum_i=1^n\\max_||\\tildex_i-x_i||_p\\leq \\epsilon\\ell_S(f(\\tildex_i;\\theta),f(x_i;\\theta)) RS(θ)=n1i=1nxi~xipϵmaxS(f(xi~;θ),f(xi;θ))
    • ℓ ( A , B ) \\ell(A,B) (A,B)就是描述两个分布相似度的
    • 如果是回归模型就把上面的 f ( x i ; θ ) f(x_i;\\theta) f(xi;θ)改成 y i y_i yi
  • 这里大致参照了VAT中,将对抗的地方设置为正则项,来平滑数据点,可以参见VAT

    • 这样使得在一定的扰动下,输出一样的分布,增强模型的鲁棒性

Bregman Proximal Point Optimization

  • 我们使用类Bregman Proximal Point Optimization的方式来解决上面fine-tunning的优化,每次迭代的时候将入一个强惩罚项来避免模型调整过激,让模型学习到的流行更加光滑,让loss呈线性变化,增强对扰动的抵抗能力,避免灾难性遗忘
    θ t + 1 = a r g m i n θ F ( θ ) + μ D B r e g ( θ , θ t ) D B r e g ( θ , θ t ) = 1 n ∑ i = 1 n ℓ S ( f ( x i ; θ ) , f ( x i ; θ t ) ) \\theta_t+1=argmin_\\theta \\quad F(\\theta)+\\mu D_Breg(\\theta, \\theta_t)\\\\ D_Breg(\\theta,\\theta_t)=\\frac1n\\sum_i=1^n \\ell_S(f(x_i;\\theta),f(x_i;\\theta_t)) θt+1=argminθF(θ)+μDBreg(θ,θt)DBreg(θ,θt)=n1i=1nS(f(xi;θ),f(xi;θt))

  • 加入动量加速
    θ t + 1 = a r g m i n θ F ( θ ) + μ D B r e g ( θ , θ t ~ ) θ t ~ = ( 1 − β ) θ t + β θ ~ t − 1 \\theta_t+1=argmin_\\theta\\quad F(\\theta)+\\mu D_Breg(\\theta,\\tilde\\theta_t)\\\\ \\tilde\\theta_t=(1-\\beta)\\theta_t+\\beta \\tilde\\theta_t-1 θt+1=argminθF(θ)+μDBreg(θ,θt~)θt~=(1β)θt+βθ~t1

  • 就是做个滑动平均, β \\beta β是动量参数

最终

  • 最终的损失函数为
    F ( θ ) = L ( θ ) + λ S R S ( θ ) + μ D b r e g ( θ , θ t ) \\mathcalF(\\theta)=\\mathcalL(\\theta)+\\lambda_S R_S(\\theta)+\\mu D_breg(\\theta, \\theta_t) F(θ)=L(θ)+λSRS(θ)+μDbreg(θ,θt)
    伪代码如上

实验

集成模型上,用这些fine-tunning后,结合MT-DNN达到当时的SOTA
单模型上,和RoBERTa结合达到SOTA

总结

  • 论文非常精短,但是效果却很好
  • 提供了NLP对抗性训练的新思路,尤其是fine-tunning的思路,加入对抗性正则项这个思路,能对后续工作有较大启发

以上是关于SMART: Robust and Efficient Fine-Tuning for Pre-trainedNatural Language Models的主要内容,如果未能解决你的问题,请参考以下文章

Building Robust and Flexible Event System in Unity3D

手势跟踪论文学习:Realtime and Robust Hand Tracking from DepthCost Function

视觉SLAMDXSLAM: A Robust and Efficient Visual SLAM System with Deep Features

视觉SLAMDXSLAM: A Robust and Efficient Visual SLAM System with Deep Features

论文学习9Prio: Private, Robust, and Scalable Computation of Aggregate Statistics

论文翻译:2020_A Robust and Cascaded Acoustic Echo Cancellation Based on Deep Learning