bert的兄弟姐妹梳理——Roberta、DeBerta、Albert、Ambert、Wobert等

本文梳理了BERT的几个变种,如Roberta、DeBERTa、ALBERT等的改进点。Roberta采用动态masking,移除了NSP任务;DeBERTa引入了内容和位置解耦的注意力机制;ALBERT则通过参数共享和因子分解减少模型大小。这些模型在NLP任务中取得了显著的性能提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看了一些和bert比较像的算法,做一个简单的梳理吧,本文在已经明白bert的基础上介绍有什么改进哈,没有单独介绍bert哦~

Tokenization

介绍算法前说说关于token的,很多算法其实也都是基于这方面进行改进。简单来说,Tokenization是按照特定需求,把文本切分成一个字符串序列(其元素一般称为token)的过程,这个token的粒度是不一定的,可以是字符、单词甚至是句子。通常情况下,在英文中,使用的是单词或者子词(这里可以学习下BPE),中文中使用字符。事实上,粗粒度和细粒度各有优劣:

  • 细粒度的token表意可能不完整、但是词表更小,能表示更多的token,表征更容易学习,OOV问题更少
  • 粗粒度的token语义更完整,但需要的词表更大,表征难以学习,可能有严重的OOV问题,并且依赖于分词是否正确。举个例子:表妹下周六十八岁生日,分词为 表妹/下周六/十八岁/生日 和 表妹/下周/六十八岁/生日,这差异就大了。

在应用中具体用哪个,建议先用最常规的,比如中文用字,有精力再尝试词和多粒度混合的,个人感觉直接用词的会有点不好把握。

Roberta

论文地址:https://arxiv.org/pdf/1907.11692.pdf
项目地址:https://github.com/brightmart/roberta_zhhttps://github.com/pytorch/fairseq

Dynamic Masking

Bert在预处理训练数据时,每个样本会进行一次随机的mask,后续的每个训练步都采用这次mask,实际上就是每个epoch是重复的,被称为静态mask。Roberta在预处理时没有进行mask,而是在每次向模型提供输入时进行随机mask,这意味着mask是变化的、动态的。论文中也进行了静态mask和动态mask的效果对比,来证明其改进有效。
在这里插入图片描述

Model Input Format and Next Sentence Prediction

Bert为了捕捉句子之间的关系,使用了NSP任务进行预训练。简单来说就是输入的句子对(A, B),判断这两个句子是否是连续的。其中50%为正例࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值