论文标题:
Curriculum Learning for Natural Language Understanding
论文作者:
Benfeng Xu, Licheng Zhang , Zhendong Mao, Quan Wang, Hongtao Xie and Yongdong Zhang
论文链接:
https://www.aclweb.org/anthology/2020.acl-main.542/
一、动机
伴随着 Bert 等预训练模型在自然语言处理领域的全面铺开,在预训练模型上进行 fine-tune 已经成为当前自然语言处理各种研究的一个标配。在微调阶段,目标数据会被一股脑的抛给模型,用于训练一个在具体任务上的模型。
但数据集中的数据之间是存在难易程度的,有些例子很容易被区分,有些例子就很难被区分,例如下图展示的 SST-2 情感分类任务上的一个数据样例,简单的例子可以直接利用一些词进行分类,例如 easy,comfortable 等,但一些比较困难的例子就需要模型能够对句子中的具体片段内容进行语义理解和分析了。
如果把这些样例不加区分直接扔给模型,那么就可能出现模型在简单例子上用力过猛,在复杂例子上不够用力,从而导致模型难以训练,同时难以取得更好的效果。而人在学习过程中基本上是从易到难的,先学简单的,在学复杂的,这称之为课程学习(Curriculum Learning)。
通过从易到难的形式实现对模型更好的训练不是一个新的 idea,从 CV 到 NLP 都有一些研究,主流的研究方案是两阶段的,第一阶段,对问题进行分类,构建从易到难的数据集,第二阶段,利用第一阶段得到的数据进行第二阶段的训练。
2.1 第一阶段:难度评估
将整个训练数据分为 N 份,称之为 meta-set,然后利用每一份数据训练一个 teacher 模型。N 份数据之间不重叠。 在所有的 teacher 模型训练好之后,假设从第 k 个 meta-set 中选出一个例子,然后利用剩余的 N-1 个模型对这个例子进行预测,预测的结果就是每个模型对这个例子的困难度评估(通过这种形式,难度评估就和模型以及评价标准联系起来了)。 最后将得到的 N-1 个结果相加,就得到了这个例子的难度。
作者称这个过程为交叉评估。
2.2 课程安排
三、Experiments
除此之外,作者还对不同难度划分下的子集中数据的具体情况进行分析,相关结果如下图所示:
四、总结