nlp学习摘录

摘录一

1.单模调优:

基于PaddleNLP通过预训练模型roberta-wwm-ext-large的微调及基本调参达到单模最高分数为89.22236。

确定的较优模型参数为:batch_size = 300,max_seq_length = 48,epochs = 4,seed = 1024;优化器上选择AdamW优化器,learning_rate = 4e-5,weight_decay = 0.0

期间也尝试过使用不同的预训练模型,模型效果上:roberta-wwm-ext-large > nezha-large-wwm-chinese > skep_ernie_1.0_large_ch

对三个不同的最优模型预测结果根据分数排名,采用4:3:2的加权融合后可以达到89.37308的融合分数。

在训练时发现训练轮次过多时,会存在过拟合的风险降低模型的泛化能力。具体表现为:训练5个epoch甚至更多后验证集上分数上涨了但提交分数却下降明显。故训练epoch只选择了4个。

2.伪标签和模型融合

伪标签方法主要是将模型对无标签的测试数据的预测结果加入到训练中去从而增大训练数据量提升模型效果,适用于模型精度较高的情况。考虑到单模型准确度0.89+还算较高故采用了该技巧。

具体实现上主要是采用了roberta-wwm-ext-large、nezha-large-wwm-chinese和skep_ernie_1.0_large_ch三个模型,并取三者预测全部相同的结果label出来然后与测试集的正文内容拼接后处理为newtest.csv文件(格式为text_a,label)后加入到训练集中去。

通过将第一轮伪标签法得到的数据加入到roberta-wwm-ext-large的微调训练中后达到89.76304的分数,相较初始单模89.22,提升较大!

接着继续训练不同的预训练模型:roberta-wwm-ext-large 89.76304,nezha-large-wwm-chinese 89.65538,skep_ernie_1.0_large_ch 89.56088。通过加权投票融合后达到89.88146。接着继续通过取三者预测全部相同的结果label出来然后与测试集的正文内容拼接后处理为newtest1.csv文件(格式为text_a,label)后加入到训练集中去。

通过第二轮伪标签,roberta-wwm-ext-large达到89.85634,nezha-large-wwm-chinese达到89.82404,skep_ernie_1.0_large_ch达到89.73792。对第二轮得到的融合结果(89.88146)、roberta-wwm-ext-large结果(89.85634)及nezha-large-wwm-chinese(89.82404)按4:3:2的加权投票融合法后得到9月第一名分数89.95921。

在10月新一轮中开始尝试使用第三和第四轮伪标签,分别得到newtest2.csv和newtest3.csv的伪标签数据。通过第三和第四轮伪标签,roberta-wwm-ext-large最高达到89.98074,nezha-large-wwm-chinese最高达到89.95682,进行简单加权投票融合后达到目前最高的分数90.04414。

经测试伪标签和模型融合trick在第一和二轮时效果提升较优,但轮数增多后提升开始变得微弱些。

3.进一步优化方向:

a.针对训练存在的过拟合问题,可以考虑在划分训练和验证集时进行下数据均衡。同时可以尝试通过回译+同义词替换+相似句替换等的数据增强方法对训练数据进行扩增提升模型泛化能力。

b.伪标签技巧个人采用的是取多模型预测相同的部分,也可以尝试在预测输出结果时同时输出预测结果的置信度,取结果中置信度较高的作为伪标签加入训练,该方法在无标签数据标注中较为常见。

c.目前在单模上分数较低,可以考虑通过调参、优化模型等思路进一步提高单模的效果。
c.目前在单模上分数较低,可以考虑通过调参、优化模型等思路进一步提高单模的效果。NLP文本分类 落地实战五大利器!

d.感兴趣的可以研究下prompt或PET,对这块感兴趣的可以参考下格局打开,带你解锁 prompt 的花式用法 NLP文本分类大杀器:PET范式,这块也是目前个人正在学习和尝试实践的地方。

e.更多技巧主要可以到天池或kaggle等数据科学平台或Github搜索,通过学习类似文本分类比赛的Top分享去进行学习和实践,以赛促学。

心得:

1.实际项目中取哪种数据增强方法,都要进行实验尝试,但无论进行何种尝试,把握一点就是增强后的样本要和测试集的样本分布相似
2.acc突然下降,并且检验acc为较低的固定值时,考虑应该是出现过拟合情况,降低学习率。

相关摘录

https://aistudio.baidu.com/aistudio/projectdetail/2345384
https://github.com/fighting41love/funNLP#the-most-powerful-nlp-weapon-arsenal
https://github.com/425776024/nlpcda

摘录二

输入字段经过encode和decode模块后并不一定得到原有的字段可能会缺失。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
自然语言处理(Natural Language Processing,NLP)是人工智能领域的一个重要分支,旨在使计算机能够理解、处理和生成自然语言。对比学习(Contrastive Learning)是一种无监督学习方法,通过将相似样本对比和不相似样本对比来学习特征表示。在自然语言处理中,对比学习模型也被广泛应用。 对比学习模型在自然语言处理中的应用主要有以下几个方面: 1. 词向量学习:对比学习可以通过将相似的词语对比和不相似的词语对比来学习词向量表示。通过将相似的词语对比,模型可以学习到词语之间的语义关系,例如"king"和"queen"之间的关系。而通过将不相似的词语对比,模型可以学习到词语之间的差异,例如"apple"和"orange"之间的差异。 2. 句子表示学习:对比学习可以通过将相似的句子对比和不相似的句子对比来学习句子表示。通过将相似的句子对比,模型可以学习到句子之间的语义关系,例如"我喜欢吃水果"和"我爱吃水果"之间的关系。而通过将不相似的句子对比,模型可以学习到句子之间的差异,例如"我喜欢吃水果"和"我喜欢看电影"之间的差异。 3. 文本分类:对比学习可以通过将相似的文本对比和不相似的文本对比来进行文本分类。通过将相似的文本对比,模型可以学习到文本之间的语义关系,从而提高文本分类的准确性。而通过将不相似的文本对比,模型可以学习到文本之间的差异,从而提高文本分类的鲁棒性。 4. 机器翻译:对比学习可以通过将源语言句子和目标语言句子进行对比来进行机器翻译。通过将相似的源语言句子和目标语言句子对比,模型可以学习到源语言和目标语言之间的语义关系,从而提高机器翻译的准确性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mossfan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值