笔记——BERT模型

带有笔记的文章是最近正在研究的内容,质量有可能很差,只有自己看的懂,所以看的笔记的大致看看就可以,我也正在积累,等感觉没问题了就会重新整理再发一次

术语

掩码语言模型(MLM)任务
句子连贯性判定(NSP)任务
bert 解释
bert其实就是砍掉解码器的transformer
原理
BERT 模型使用两个新的无监督预测任务进行预训练,分别是 Masked LM(MLM)和 Next Sentence Prediction(NSP)。
为了训练深度双向 Transformer 表示,采用了一种简单的方法:随机掩盖部分输入词,然后对那些被掩盖的词进行预测,此方法被称为“Masked LM”(MLM)。该任务非常像我们在中学时期经常做的完形填空
随机选择句子中15%的单词进行 Mask,在选择为 Mask 的单词中,有80%真的使用[MASK]进行替换,10%使用一个随机单词替换,剩下10%保留原词不进行替换。
Next Sentence Prediction
Next Sentence Prediction(NSP)是一个二分类任务,其目标是判断句子 B 是否是句子 A 的下文,如果是的话输出标签为 ‘IsNext’,否则输出标签为 ‘NotNext’。

bert 类型
albert、Albert_tiny、Albert v2模型--------精简版的bert模型
引入了BERT模型中的双向上下文信息的广义自回归模型——XLNet模型
引入了BERT模型训练方式和目标的RoBERTa和SpanBERT模型;
结合了多任务及知识蒸馏(Knowledge Distillation)、强化BERT模型功能的MT-DNN模型。
GPT-3模型,可以写出不同风格的文章。它可以写出诗集、散文,甚至“金庸风格”的小说、新闻稿等
RoBERTa 是哈工大的 roberta-base-wwm-ext;
NEZHA 是最好的字级别中文预训练模型,来自华为诺亚方舟研究院;
AMBERT 是曾经多粒度中文预训练模型的 SOTA,是字节跳动李航组的工作;
BERT-word 是使用词作为输入的 BERT;
LBERT 是学到了字和词的信息的方法

huggingface
bert模型存放的地方
https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english/tree/main
🤗huggingface模型下载地址: 1. 清华大学开源镜像 (https://mirror.tuna.tsinghua.edu.cn/hugging-face-models/)2. 官方地址

优点:
1.Transformer的设计使任意两个单词的距离为1,有效解决NLP中棘手的长期依赖问题;
2.引入Next Sentence Prediction来和Masked-LM一起做联合训练,从此进入挖掘更深层语义的范畴;
3.设计了更加通用的输入层和输出层,适配多种任务下的迁移学习;
4.整体架构的巧妙设计保证了可观的并行性,在当前硬件飞速发展的时代下如鱼得水;
缺点:
1.在第一个预训练阶段时的随机遮挡策略略粗;
2.每batch训练数据中只有15%的标记被预测,这也就意味着达到收敛阶段需要更长的时间;
3.众所周知,Bert对硬件资源的消耗巨大,对我等平民玩家并不大友好…

注意:
而且在官方代码中学习速率是5e-5。而且这里的训练方式建议使用官方提供的优化器,官方提供的优化器学习速率是动态调整的。
学习率:2e-5,才能使 BERT 克服灾难性遗忘问题。在 4e-4 的较大学习率下,训练集无法收敛。

参数理解

maxlen=8
encoded_pair = self.tokenizer(sent,
                               padding='max_length',  # 填充到最大值
                               truncation=True,  # 截断到最大值
                               max_length=maxlen,# 最大值
                               return_tensors='pt')  # 返回pytorch类型

 token_ids = encoded_pair['input_ids'].squeeze(0)  # tensor of token ids
 # input_ids为讲文本转化为数字,前后加一个特殊字符101(开始字符),102(结束字符),0(填充字符)
 attn_masks = encoded_pair['attention_mask'].squeeze(0)
 # attention_mask 当有填充字符0是,字符为0,其余为1
 token_type_ids = encoded_pair['token_type_ids'].squeeze(0)
 # token_type_ids 第一段是为0,第二段为1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨!对于BERT情感分类实战,您可以按照以下步骤进行: 1. 数据准备: - 收集和整理情感分类的训练数据集,一般包含文本和对应的情感类别(如正面、负面、中性等)。 - 划分数据集为训练集和测试集,确保数据集的均衡性和随机性。 2. BERT模型介绍: - BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的自然语言处理模型,通过双向Transformer编码器学习语义表示。 - 可以选择使用基于TensorFlow或PyTorch实现的BERT模型,或者直接使用已经训练好的BERT模型进行微调。 3. 模型微调: - 使用训练集对BERT模型进行微调,即在预训练的BERT模型基础上,通过训练集进行进一步的学习。 - 这里的微调过程包括输入数据的预处理、构建分类任务的模型结构、定义损失函数和优化算法等。 4. 模型评估: - 使用测试集对训练好的BERT模型进行评估,计算分类准确率、精确率、召回率等指标,评估模型在情感分类任务上的性能。 5. 预测与应用: - 使用训练好的BERT模型对新的文本进行情感分类预测,得到情感类别的预测结果。 - 可以将该模型应用于各种情感分析任务,如舆情监测、评论情感分析等。 以上是BERT情感分类实战的一般流程,您可以根据具体需求和数据特点进行相应调整和优化。希望能对您有所帮助!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值