文本分类任务中一些可以尝试的方法

LCM:
label confusion matrix Label Confusion Learning to Enhance Text Classification Models.
论文链接:https://arxiv.org/abs/2012.04987
代码链接:https://github.com/beyondguo/label_confusion_learning

  • 构造了一个插件——“Label Confusion Model(LCM)”,可以在模型训练的时候实时计算样本和标签间的关系,从而生成一个标签分布,作为训练的target,实验证明,这个新的target比one-hot标签更好;
  • 这个插件不需要任何外部的知识,也仅仅在训练的时候才需要,不会增加模型预测时的时间,不改变原模型的结构。所以LCM的应用范围很广;
  • 实验发现LCM还具有出色的抗噪性和抗干扰能力,对于有错标的数据集,或者标签间相似度很高的数据集,有更好的表现。
    one-hot问题
  1. one-hot 的 label 表示假设标签之间是独立的,假设太强,忽略了标签之间的相互重叠关系;
  2. one-hot 的 label 表示方法不仅丢失了标签包含的大量语义信息,同时会导致模型过于自信,在处理标签有噪声或者标签混淆度比较高的数据时出现问题。因此,需要对标签所包含的信息进行充分的处理和利用。
    重点模块
    1 对输入标签进行编码,得到标签表示的向量。
    2.相似度计算模块(SLD),该模块首先通过一个相似度计算层计算当前数据句子和每个标签之间的相似度,然后使用一个带 softmax 的简单神经网络计算得到标签的混淆分布表示(LCD),这个表示能够在考虑当前输入的情况下,充分建模标签之间的依赖关系。相似度计算更有依据了。
    3.通过一个权重系数和标签的原始 one-hot 表示相加,再通过一个 softmax 进行归一化,就得到了标签的模拟分布表示(因为标签的真实分布表示无法获取)该过程可以表示为如下形式:
    在这里插入图片描述
    在这里插入图片描述

NS
Text Classification with Negative Supervision
论文地址:https://www.aclweb.org/anthology/2020.acl-main.33/
代码地址:https://github.com/21335732529sky/negative_supervision
思想:从同一个批次中选择和当前句不是同一个标签的其他句子作为负例,计算他们之间的余弦相似度作为loss
在这里插入图片描述
在这里插入图片描述

triplet loss 对比学习
https://mp.weixin.qq.com/s/CrEd02pXsc23FAeET0RaWQ
https://zhuanlan.zhihu.com/p/103278453

对抗学习:
FGM: 每次沿着梯度上升的方向对embedding做一次扰动
PGD: 试着累计扰动k次,选取最后一次扰动方向作为最终扰动
freelb:扰动k次,对k次Loss做一个平均,作为最终扰动的Loss
lookahead: 梯度预更新K次,然后取最后一次的更新作为最终更新
https://blog.csdn.net/tangyaruo/article/details/103423542

预训练:
全词遮掩
ngram遮盖
加上抽取的特征
span

MASKER:
Masked Keyword Regularization for Reliable Text Classification 用于可靠文本分类的掩蔽关键词正则化
文章: https://arxiv.org/abs/2012.09392
代码链接: https://github.com/alinlab/MASKER

  • 模型会更过的依赖那些关键词,从而忽略了周围的上下文信息,试集中的数据分布是不同的,可能在训练集中某些关键词和某一类紧密关联,但在测试集中不是这样的,那么过渡依赖关键词的话,模型就会做出错误的判断。 因此以更高的概率遮盖掉一些关键词信息,使得模型
  • 基于频率(TF-IDF)和基于注意力得分选择关键词
  • 任务一,作者首先按照一定概率选择一些关键词,将这些关键词进行掩码,然后将遮盖住关键词的文档送给模型,模型需要对被遮盖的内容进行重构
    在这里插入图片描述
    在这里插入图片描述
  • 任务二,主要是对上下文内容进行遮盖,具体可以理解为:正常情况下,我们希望通过让模型更多的关注上下文,从而真正理解语义,而不是靠一些简单的关键词进行分类预测。
    因此模型需要充分理解上下文。当我们把上下文遮盖住之后,模型应该无法准确理解语义,无法做出判断,因此输出的概率分布应该是均匀概率分布。基于这样一个想法,就设计了这个任务。该过程可以表示为
    在这里插入图片描述

finetune:
使用MASK token将希望模型关注到的关键词框起来

2.loss:crossentropy loss-> asl loss、rank loss、coverage loss等

论文名称:RevisitingLSTMNetworksforSemi-Supervised TextClassificationviaMixedObjectiveFunction
git地址:https://github.com/DevSinghSachan/ssl text classification

通过结合多种loss, 充分利用有标签和无标签文本,训练更加sota的模型

一共4种loss = 2个有监督的loss【有标签样本】【最大似然损失+对抗损失】+ 2个无监督的loss【无标签样本】【熵最小损失+对抗损失】

1 最大似然损失ML—交叉熵损失
ml代表有标签的样本个数, K代表分类类别
在这里插入图片描述
2 对抗损失AT
梯度增加的方向计算扰动,
在这里插入图片描述
在这里插入图片描述
3 熵最小损失EM
所有样本对应的熵最小
在这里插入图片描述
4.虚对抗损失VAT

梯度计算方式:是加了扰动和不加扰动的KL散度距离
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
汇总:在这里插入图片描述
实验效果:
对于文本表示的优化:使用ML损失优化(根据最近似查找有时候会找出相反词)使用MIX损失优化(查找出来的近似词更加接近表述)
模型规则影响:(ML5轮过拟合,AT10轮过拟合,MIX,EM,VAT不过你和,收敛满,训练慢,更加robust)
训练数据增加时,任何目标都能收敛,但是mix收敛更快
标记数据和未标记数据占比应该大致相同,否则容易产生效果下滑
有监督方法不会从模型大小上获得更多收益,当使用额外的损失时,模型越大增益越大

Asymmetric Loss For Multi-Label Classification(Alibaba 2020)
应用场景:不平衡下的多标签和单标签多分类问题
论文:Asymmetric Loss For Multi-Label Classification
GitHub:https://github.com/Alibaba-MIIL/ASL
https://github.com/Alibaba-MIIL/TResNet

Multi-Task Learning Using Uncertainty to Weigh Losses for Scene
Geometry and Semantics

Ranking Loss 函数:度量学习 像 Cross-Entropy Loss 或 Mean Squear Error Loss 这些
Loss 函数,它们的目的是为了直接预测一个标签或一个值,而 Ranking Loss
的目的是为了预测输入样本间的相对距离。这样的任务通常被称作度量学习。

类别不平衡问题的LOSS优化
FOCAL LOSS
GHM LOSS

4.multi-label model:等

multimarginloss 和 label smoothing
《Large-Margin Softmax Loss for Convolutional Neural Networks 》
senti-BERT,,RAM
focal loss
weighted cross entropy
《Deep learning text classification with attention and multi-task learning of extractive summarization》

SGM
Sequence generation model for Multi-label classification
target:文本分类,多标签分类,即一个文本样本分类标签会有多个。
intuition:多标签分类问题中,不同标签之间往往存在着一定的相关关系,使得每个标签并不是独立的。而传统的多标签分类中,通常是在最后一层对每个分类标签使用sigmoid_crossentropy_loss来计算损失,然后将损失求和,同时计算每个分类标签的概率,忽略了标签之间的关联性。比如kaggle上的toxic-classification比赛中,不同类别toxic标签之间的关联性是很大的,比如性别歧视和种族歧视等。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值