当前位置: 首页 > article >正文

论文阅读笔记-How to Fine-Tune BERT for Text Classification?

前言

How to Fine-Tune BERT for Text Classification?

预训练语言模型很强,通过微调可以给你的任务模型带来明显的提升,但是针对具体的任务如何进行微调使用,就涉及到了考经验积累的tricks,最近在打文本相关的比赛,正好用预训练模型为基础构建下游任务模型,所以着重的关注一些相关的BERT微调tricks,凑巧看到这篇文章,里面专门介绍 BERT 用于中文文本分类的各种 tricks,所以在此分享一下。这篇文章分别介绍了Fine-Tuning Strategies、Further Pre-training和Multi-Task Fine-Tuning,具体见后文总结介绍。
关于预训练语言模型,可以看论文团队的另一篇文章更新的文章:Pre-trained Models for Natural Language Processing: A Survey(论文阅读笔记:超详细的NLP预训练语言模型总结清单!)

前情提要

首先先确定一下BERT在Text Classification上的一般应用,我们都知道BERT喂入的输入有两个特殊的Token,即[CLS]置于开头,[SEP]用于分隔句子,最后的输出取[CLS]的最后隐藏层状态 h h h 作为整个序列的表示,然后使用全连接层映射到分类任务上,及:
p ( c ∣ h ) = s o f t m a x ( W h ) p(c|h)=softmax(Wh) p(ch)=softmax(Wh)
基于此,论文分别讨论通用微调BERT的方法流程,Fine-Tuning Strategies、Further Pre-training和Multi-Task Fine-Tuning,如下:
在这里插入图片描述
论文分析结果用的实验数据共八个,如下,可以归纳为Sentiment analysis、Question classification、Topic classification、Data preprocessing
在这里插入图片描述

Warmup是在ResNet论文中提到的一种学习率预热的方法,它在训练开始的时候先选择使用一个较小的学习率,训练了一些epoches或者steps

Fine-Tuning策略

我们来带着如下几个问题进行思考:

  • BERT的不同层对语义句法信息有着不同的抽取能力,那么那一层更有利于目标任务?
  • 如何选择优化算法和学习率

想要微调BERT适配目标任务,主要有三个因素(和上面思考相匹配):

  • BERT最大处理序列长度为512
  • BERT-base有12层,需要挑选合适的层用于目标分类任务
  • 过拟合

超参:

batch_size = 24; dropout = 0.1; learning-rate=2e-5; warm-up proportion = 0.1; max_epoch = 4;

BERT最大处理序列长度为512

针对长度超过512的文本,实验如下三种转换策略( 预留[CLS] 和 [SEP


http://www.kler.cn/news/340119.html

相关文章:

  • 某大型钢铁集团公司高管竞聘上岗方案设计咨询项目
  • 嵌入式仿真实验教学平台
  • Redis:cpp.redis++类型操作
  • 目标检测 Deformable DETR(2021)详细解读
  • gaussdb hccdp认证模拟题(判断)
  • 鹧鸪云光伏软件全面解析
  • 基于jmeter+perfmon的稳定性测试记录
  • 爬虫案例——爬取腾讯社招
  • Redis Stack十部曲之四:与Redis数据之间的交互
  • 十年网络安全工程师谈学习网络安全的正确顺序
  • C++语言学习要点
  • 《Windows PE》5.1 导出表
  • 手机使用技巧:8 个 Android 锁屏移除工具 [解锁 Android]
  • NodePad++离线安装compare插件
  • Nginx07-静态资源访问
  • 金慧-综合管理信息系统 LoginBegin.aspx SQL注入复现
  • 国产兆易创新Cortex-M7 GD32H459适配OpenHarmony轻量系统,代码开源!
  • 解开 Golang‘for range’的神秘面纱:易错点剖析与解读
  • LeetCode 2390. 从字符串中移除星号【栈】1347
  • GC9118S替代TMI8118的优势分析,可应用在牙刷,电子锁,医疗设备等产品中