论文链接: https://arxiv.org/abs/2109.04144
在进行 sentence pair classification 的时候,如果是 few-shot learning, 使用 prompt-based finetuning 很容易产生启发式推理(Inference Heuristics)的问题(即:模型会因为一个句子对由同一个单词组成,从而假设这个句子对具有相同的含义), 然而这个问题在 zero-shot learning 下不会出现,这说明 finetuning 对 PLM 中的知识产生了很大的负面影响(灾难性遗忘),因此,作者旨在解决 few-shot learning下 prompt-based finetuning 的上述问题。
作者使用RoBERTa-large模型对每个数据集和每个跨数据大小 K K K进行5个数据子采样,其中 K ∈ 16 、 32 、 64 、 128 、 256 、 512 K∈{16、32、64、128、256、512} K∈16、32、64、128、256、512,表示每个标签的示例数量。然后提出了一种基于弹性权重整合(EWC)方法对prompt-based finetuning进行正则化。EWC是建立在 Fisher 矩阵之上专门用来解决灾难性遗忘问题,而Fisher矩阵也需要一部分的预训练数据,为了忽略这一点,作者假设Fisher信息和对应的权重具有很强的独立性,因此总的损失函数更新如下:
L r F T = α L F T + ( 1 − α ) λ 2 ( θ i − θ i ∗ ) 2 L_{rFT}=\alpha L_{FT}+(1-\alpha)\frac{\lambda}{2}(\theta_i-\theta_i^*)^2 LrFT=αLFT+(1−α)2λ(θi−θi∗)2
其中 L F T L_{FT} LFT为标准交叉熵, λ \lambda λ为二次惩罚系数, α \alpha α是将这两项线性组合的系数。优化器的实现使用的是Chen的RecAdam。
Datasets:在GLUE benchmark中的MNLI,SNLI,和QQP数据集上进行测试,其中每个数据集有in-distribution和challenge(研究人员为上述数据集构建了相应的挑战集,设计包含反对启发式的例子)两个部分。
Baseline:图中FT-fixn为baseline模型,将预训练的前n层进行简单权重固定,其中n层 n ∈ 6 , 12 , 18 n∈{6,12,18} n∈6,12,18被冻结(包括标记嵌入),整个微调过程中只更新上层和LM头的权重。
Results:文章通过对512个例子(对于每个标签)进行调整后的中值性能来评估所有考虑过的调整策略,并将它们与原始的zero-shot性能进行比较,结果如下:
图2显示了rFT在MNLI和Hans上有使用正则化和无正则化之间的差异值,可以看出:避免 Inference Heuristics 上,rFT 的效果比 finetuning 好,在non-entailment上的准确率有所提高,但还不及 zero-shot。
刚开始对于prompt还有few-shot learning不太理解,所以对它们首先进行了一定的了解,同时这篇文章用到了HANS数据集,刚开始看的时候被MNLI和HANS数据集之间迷糊了一阵子,但瞧了论文《Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in Natural Language Inference》后,也有所理解,以下是引用论文中的一部分表述,该表述也表示了HANS作为挑战集所存在的难点,即entailment和non-entailment之间预测区域两极化。
That is, they nearly always predicted entailment for the examples in HANS, leading to near-perfect accuracy when the true label is entailment, and near-zero accuracy when the true label is non-entailment.
不得不说,图2我思考了挺久的,文中提出的rFT方式虽然使得non-entailment的预测准确率提高了,而entailment的准确率却有所降低,那么是如何体现rFT方式是可以解决motivation中所提到的问题呢?难道本文中考虑到的是overall accuracy而不是单一的准确率吗?
这篇文章主要是解决prompt-based finetuning 中产生的Inference Heuristics问题,而HANS数据集其中包含了许多启发式方法失败的例子,那么能不能说该文章主要的目的就是提出一个方法,该方法在HANS数据集上获得较高的准确率?——可以这么说
文中只是提出了一个假设,然后通过实验证明了这个假设,是不是解决了,而且是不是需要解决这个Inference Heuristics,论文是没有充分证明的
该文章的idea可以参考:发现存在某种问题,然后根据某种方法能解决这类问题,进而提升性能。
知乎 闵映乾
知乎 刘鹏飞
知乎 Pikachu5808