How to Fine-Tune BERT for Text Classification?读论文
前言:本文来自复旦的团队,主要探讨了bert的进一步预训练和微调来进行文本分类的内容。时值练习,那么聊到分本分类的大杀器bert,所以找到了这篇文章。
焦点主要聚焦在具体方法上:
一、方法
1.可变的学习率
2.进一步预训练(mask+nsp)
- 自己的数据集
- 同领域
- 跨领域
3.多任务
二、实验结果
1.微调策略
①长文本(>512)
- 截断,头510,尾510,,128头+382尾 (不考虑cls、sep) 结果:头加尾最佳
- 分层(分块),各层(块)取cls做池化
②考察各层
最后四层+max
③灾难性遗忘(Catastrophic Forgetting)
较低的学习率为宜
④ξ和学习率的取值
2.继续预训练
①原任务的进一步预训练
训练步数(轮数?)
②域内和交叉域
结论是交叉领域的训练没有明显帮助,推测原来的bert就是在通用域上的
3.多任务预训练
BERT-ITPT-FiT = “BERT + withIn-Task Pre-Training + Fine-Tuning”.
BERT-IDPT-FiT = “BERT + In-Domain Pre-Training + Fine-Tuning”.
BERT-CDPT-FiT = “BERT + Cross-Domain Pre-Training+ Fine-Tuning”.
4.低资源
5.BERT-Large上预训练
base版加上预训练可以有所提升,超越ULMFIT(Universal Language Model Fine-tuning for Text Classification)
https://www.jianshu.com/p/0fb6c9886542 顺便一看ULMFIT