基于bert的分类笔记

一、基于prompt的文本分类

二、什么是样本不均衡问题

样本不均衡问题就是指在做文本分类时发现,训练数据中的样本类别分布差异极大,有的类别占比超过90%,有的类别占比连0.01%都不到。

三、样本不均衡会导致什么问题

由于模型训练的本质是最小化损失函数,当某个类别的样本数量非常庞大,损失函数的值大部分被样本数量较大的类别所影响,导致的结果就是模型分类会倾向于样本量较大的类别。

三、如何解决样本不均衡问题

  1. 模型层面:通过加权Loss,包括基于类别Loss、Focal Loss和GHM Loss三种加权Loss函数
  2. 数据层面:通过人为控制正负样本的比例,可以使用欠采样或过采样两种方法。
    a. 过采样:重复正例数据,实际上没有为模型引入更多数据,过分强调正例数据,会放大正比例噪音对模型的影响。由于随机过采样采取简单复制样本的策略来增加少数类样本,因此存在过拟合风险,最好搭配使用正则化模型。可以通过数据增强的方法(包括回译技术、替换技术、随机噪声引入技术等方法),避免每次重复同样的正例数据。也可以通过从文本生成的角度来增加正样本,例如:基于BERT的有条件生成任务和基于SIMBERT来生成相似文本任务。
    b. 欠采样:如果直接丢弃有点浪费的话,那就每次迭代模型训练时,使用不同的一小部分。如下图所示:
    在这里插入图片描述
    There are several ways to deal with imbalanced data, including:
    • Randomly oversample the minority class.
    • Randomly undersample the majority class.
    • Gather more labeled data from the underrepresented classes.

四、基于bert的文本分类模型是咋做的

基于BERT的文本分类模型就是在原始的BERT模型后再加上一个分类层即可

五、bert模型中的[CLS]、[UNK]、[SEP]是什么意思?

BERT 的输入可以包含一个句子对 (句子 A 和句子 B),也可以是单个句子。此外还增加了一些有特殊作用的标志位:

[CLS] 标志放在第一个句子的首位,经过 BERT 得到的的表征向量 C 可以用于后续的分类任务。[CLS]就是classification的意思,可以理解为用于下游的分类任务。对于文本分类任务,BERT模型在文本前插入一个[CLS]符号,并将该符号对应的输出向量作为整篇文本的语义表示,用于文本分类。可以理解为:与文本中已有的其它字/词相比,这个无明显语义信息的符号会更“公平”地融合文本中各个字/词的语义信息。
[SEP] 标志用于分开两个输入句子,例如输入句子 A 和 B,要在句子 A、B 之间增加 [SEP] 标志。
[UNK]标志指的是未知字符
[MASK] 标志用于遮盖句子中的一些单词,将单词用 [MASK] 遮盖之后,再利用 BERT 输出的 [MASK] 向量预测单词是什么。

六、bert跟下游任务的关系可以是pipeline,也可以是end-to-end

一般我们就用训练集出一个模型,然后可以在其他的代码里读取这个模型来使用。其他的代码就是所谓的下游任务(比如·什么分类、NER什么的)。BERT只是出一个词向量,这个向量不接任务你也看不出什么东西。这种分开训的就叫pipeline,如果bert和下游任务一起训就叫end-to-end

七、如何提高模型的鲁棒性

  1. 对抗训练
    通过在原始输入上增加对抗扰动,得到对抗样本,再利用对抗样本进行训练,从而提高模型的表现。由于自然语言文本是离散的,一般会把对抗扰动添加到嵌入层上。为了最大化对抗样本的扰动能力,利用梯度上升的方式生成对抗样本。为了避免扰动过大,会将梯度做归一化处理。
  2. 知识蒸馏
    知识蒸馏这个概念最早由Hinton在2015年提出。一开始,知识蒸馏通往往应用在模型压缩方面,利用训练好的复杂模型(teacher model)输出作为监督信号去训练另一个简单模型(student model),从而将teacher学习到的知识迁移到student。Tommaso在18年提出,如果student和teacher的模型完全相同,蒸馏后则会对模型的表现有一定程度上的提升。
  3. L1和L2正则化
    L1正则化可以得到稀疏解,L2正则化可以得到平滑解。
  4. Dropout
  5. 数据增强
  6. Early stopping
  7. 交叉验证
  8. Batch Normalization
  9. 选择合适的网络结构
    通过减少网络层数、神经元个数、全连接层数等降低网络容量
  10. 多模型融合
    Baggging &Boosting,将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最好的弱分类器更好,三个臭皮匠顶一个诸葛亮。

参考文献:

  • https://m.thepaper.cn/baijiahao_13867755
  • https://www.1024sou.com/article/321102.html
  • https://www.ylkz.life/deeplearning/p10979382/
  • https://blog.csdn.net/weixin_43797818/article/details/107352565
  • https://blog.csdn.net/weixin_43977748/article/details/118071000
  • https://zhuanlan.zhihu.com/p/422538072
  • https://jishuin.proginn.com/p/763bfbd5e037 (加权loss讲得很详细)
  • https://mp.weixin.qq.com/s?__biz=MzIyNTY1MDUwNQ==&mid=2247484242&idx=1&sn=c439a0761a617cac3c496e841ccd1324&chksm=e87d3174df0ab8628ce4822107ab0008fd0355e23246c90c18be09eb343b51d3cd2b1b8b23d4&scene=21#wechat_redirect
  • https://blog.csdn.net/u013250861/article/details/114241270
  • https://zhuanlan.zhihu.com/p/67099007
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值