论文目的
对比学习是自监督学习在NLP中的应用,本文使用对抗方法生成对比学习需要的训练样本对,对比学习提升了对抗训练的泛华能力,对抗训练也增强了对比学习的鲁棒性,提出了两种结构:supervised contrastive adversarial learning (SCAL) 和 unsupervised SCAL (USCAL),即有监督的对比对抗训练和无监督的对比对抗训练(USCAL是不是改为UCAL更合适?)。使用监督任务的loss生成对抗训练的实例,无监督任务带来对比损失。在多个数据集上进行测试,效果良好
相关工作
contrastive learning
对比学习被广泛使用于自监督学习,它学习一个encoder表征训练集合里的图片,好的表征能识别相同的物体并区分不同的物体。cv中使用旋转、颜色变化和裁剪等图像变换方式数据增强生成正对,它们在表征空间中彼此接近。对比学习也可以用在有监督学习中充分利用标签数据。SimCLR(对比不同的数据增强方法、大batch、大epoch)、MoCo(动态队列存储更多的负样本、动量缓慢更新保持一致性)、BYOL(只区分minibatch内的)。
这种学习范式在NLP中也有应用,对比学习的关键是生成正对,而在NLP中生成正对是困难的,通常使用回传、删除词语和片段、还有切割句子。SimCSE仅适用dropout提高句子的表达能力,我们的工作也使用dropout增加句子的不同视角,但对抗性实例也作为正对添加到对比损失中,这样不仅增加的模型训练的难度,也使得模型更鲁棒和富有表现力。
Adversarial Training and Adversarial Attack
对抗训练是指用干净的对抗样本训练网络,使得网络可以抵御攻击并提高鲁棒性,在object detection, segmentation and image classification上都有应用。为了完成训练,必须使用干净的样本和网络产生对抗训练样本,使得网络预测错误的类标签。Word-level substitution and sentence-level rephrasing 是典型的文本对抗性攻击。Fast Gradient Sign Method (FGSM) and Fast Gradient Method (FGM) 是本文中使用的对抗训练的方法。
基于对抗和对比训练的在CV和NLP中都有许多工作,本文侧重于对模型encoder向量级别的对抗攻击,并将对抗性实例用于对比损失。在有监督和无监督的两个任务上都提出了框架,并在数据集上获得了好效果。
本文方法
Adversarial Training And Adversarial Attack Methods
数据集 D = ( X , Y ) D=(X,Y) D=(X,Y)
映射 f θ : X → Y f_{\theta}:X \to Y fθ:X→Y
满足 δ ∗ = arg max δ L c e ( x + δ , y ; θ ) . s . t . ∣ δ ∣ p < ε \delta^*=\arg\max_{\delta}L_{ce}(x+\delta,y;\theta).s.t.|\delta|_p<\varepsilon δ∗=argmaxδLce(x+δ,y;θ).s.t.∣δ∣p<ε
FGSM:
x a d v = x + δ = x + ε ∗ s i g n ( Δ x L c e ( x , y ; θ ) ) . s . t . ∣ δ ∣ p < ε x^{adv}=x+\delta=x+\varepsilon*sign(\Delta xL_{ce}(x,y;\theta)).s.t.|\delta|_p<\varepsilon xadv=x+δ=x+ε∗sign(ΔxLce(x,y;θ)).s.t.∣δ∣p<ε
FGM:
x a d v = x + δ = x + ε ∗ ( Δ x L c e ( x , y ; θ ) ∣ Δ x L c e ( x , y ; θ ) ∣ 2 ) . s . t . ∣ δ ∣ p < ε x^{adv}=x+\delta=x+\varepsilon*(\frac{\Delta xL_{ce}(x,y;\theta)}{|\Delta xL_{ce}(x,y;\theta)|_2}).s.t.|\delta|_p<\varepsilon xadv=x+δ=x+ε∗(∣ΔxLce(x,y;