BERT 微调:应用于序列分类、序列标注和跨度提取任务
这种方法最适合序列分类任务(例如情感分析、NLI 和语义相似性)、序列标注任务(如 NER)和跨度提取任务(例如 QA),其中新训练的层学习答案的起始和结束跨度。对于序列分类任务,Devlin 等人建议微调 BERT 对特殊 [CLS] 标记的表示,并接着使用单个前馈层将其分类为任务标签之一。对于标记级或跨度级分类任务,可以将每个标记的表示,或者仅将每个标记或跨度的第一个子标记的表示(如 Devlin 等人 2019 年所述)传递给分类器。这种微调方法用于将 BERT 应用于 GLUE 中的所有 11 个任务,以及 QA(SQuAD)、NER(CoNLL 2003)和常识推理(SWAG)。有关此高度流行方法的许多其他示例,请参见表 8(附录 B)。
在这种设置下,需要小心选择适合前馈层和 PLM 权重的学习速率。由于 PLM 已经大部分训练过,因此应使用较低的学习速率(介于 1e-3(Raffel 等人,2020)和 1e-5(Liu 等人,2019)之间),对于较小的数据集,应使用较低的学习速率。然而,随机初始化的前馈层权重仍然需要大量训练。因此,一种常见做法是在最初训练前馈层时暂时冻结语言模型层,然后逐渐解冻语言模型以进行额外的微调(Howard 和 Ruder,2018; Yang 等人,2019)。这应该做到什么程度取决于前馈层的大小,以及是否使用 BERT 的 [CLS] 等标记。如果大多数工作由 [CLS] 完成,如 Devlin 等人的所有示例,那么仅训练前馈层的好处较少。同样,这是受监督的训练数据的可用性的函数。
下一个选择是微调 PLM 的层数。虽然 BERT 论文中的示例微调整个模型,但在具有小数据集或计算能力受限的 NLP 任务中,这是不可行的。通常,仅微调语言模型的顶部几层就足够了。例如,Ross 等人(2020)仅在其小型监督数据集的 BERT 顶层进行微调。在“BERTology”不断增长的领域中的一系列论文(Tenney 等人,2019;Clark 等人,2019b;Rogers 等人,2020)表明,BERT 的较低层包含词特定的和句法信息,例如词性,而较高层包含更多的语义和越来越复杂的信息,例如语义角色和指代信息。
原文地址: https://www.cveoy.top/t/topic/nEAN 著作权归作者所有。请勿转载和采集!