Bert实战—听课笔记

BERT实战:实现多分类 前面以及介绍过bert的理论知识,以及它相应的实现方法,那么让我们通过实战加深对bert的了解。 我们将通过bert实现一个文本多分类任务,具体是kaggle上的一个真假新闻的任务。具体如下: 文件地址:https://www.kaggle.com/c/fake-news-pair-classification-challenge/data 模型形式:BERT + Linear Classifier参考链接:LeeMeng - 進擊的 BERT:NLP 界的巨人之力與遷移學習参考博客:Simple. 阅读详情

这是下游的文字分类任务。

Bert的输入分为三部分:

  • Token Embeddings:字的编码=input ids。linear(21128,768)
  • Segment Embeddings:句子编码。linear(2,768)
  • Position Embeddings:不需要给,自动有下标,只需要按照前后顺序编位置就可以了,最长长度不是句子长度,而是模型长度。编码长度lienar(512,768)

bert就是一个特征提取器,在上游进行MLM和NSP预训练,之后bert就可以从句子中提取特征,做分类任务。

分词器

对一句话进行处理,首先需要分词:使用tokenizer分词器进行处理

        Tokenizer是一个用于向量化文本,将文本转换为序列的类。计算机在处理语言文字时,是无法理解文字含义的,通常会把一个词(中文单个字或者词)转化为一个正整数,将一个文本就变成了一个序列,然后再对序列进行向量化,向量化后的数据送入模型处理。

        Tokenizer 允许使用两种方法向量化一个文本语料库: 将每个文本转化为一个整数序列(每个整数都是词典中标记的索引); 或者将其转化为一个向量,其中每个标记的系数可以是二进制值、词频、TF-IDF权重等。

分词器将一句话变为很多个字,每个字被转化为:

  • input ids:字在语料库中的下标
  • Mask:它是padding填充,告诉模型这句话有多长,规定需要考虑的长度
  • Seq_ids:句子编码

计算Bert参数

bert的参数来自于Embedding层->bert layers,其中每一层都是self-attention->pooler output->classifier进行分类输出

bert = BertModel.from_pretrained("bert-base-chinese")   #从预训练好的模型中加载出BertModel

计算bert参数量(简洁): 

emb_num = 21128 * 768 + 2 * 768 + 512 * 768  # embedding层的所有参数,忽略了bias
self_att_num = 768 * 768 * 3 + 768 * 768 + 768 * 3072 + 3072 * 768  # self_attention层的所有参数
all_att_num = 12 * self_att_num
pool_num = 768*768
print(emb_num+ all_att_num + pool_num)

 看bert参数:

 for name, para in bert.named_parameters():
     print(name, para.shape)

BERT!BERT!BERT! BERT的基本原理、模型架构、迁移特性、细节说明。BERT详解! 阅读详情

相关推荐

BERT阅读笔记

一、前言 本阅读笔记是在阅读BERT模型过程中觉得需要记录的笔记,也是自己的理解记录。如有错误,欢迎指出纠正讨论,谢谢! 目前该篇仅记录BERT文章的前三章,也就是模型相关介绍,后面的实验以及讨论暂未看完,后期继续更新! 博客中引用的图片全部来自于BERT原文:https://arxiv.org/pdf/1810.04805.pdf 摘要部分 摘要部分主要概括性的介绍BERT的主体: ...

black_shuang的博客 1033

BERT文本相似度实战

BERT文本相似度实战Bert 文本相似度实战(使用详解)参考资料代码准备数据建立config文件run_classifier.py 改造开始实践天天日日夜夜月月日夜近日改天提那天是否 Bert 文本相似度实战(使用详解) 大家好!其实 BERT 的实战代码已经很多了,也被诸多大佬引用和实验过。这篇主要用来记录自己在使用与处理时注意到的点,私以为比较适合BERT小白快速上手。 参考资料 这篇笔记主要参考了一个智能客服的项目,项目地址请点击这里。其中主要借鉴了该项目的子项目chatbot_retrieval中

lixh2100的博客 9152

BERT与Sentence-BERT模型详解

BERT与Sentence-BERT是NLP领域的革命性模型。BERT采用双向Transformer架构,通过MLM和NSP任务预训练,适用于文本分类、NER等任务,但计算句子相似度效率低。Sentence-BERT创新性地使用孪生网络结构和池化方法生成固定维度的句子嵌入,显著提升了语义相似度计算效率,适用于语义搜索、聚类等场景。两者在输出类型、计算复杂度上存在差异:BERT输出token级/句子级向量(O(n²)复杂度),而Sentence-BERT生成固定长度嵌入(O(n)复杂度)。优化方向包括轻量化(

weixin_47242663的博客 2021

Bert实战

这些函数主要用于处理和加载数据集,以便在机器学习或深度学习任务中使用。read_filejdDatasetDatasetLongTensor__len__read_filejdDatasetDataLoader总的来说,这些函数和类的组合使得从文件中读取数据、划分数据集、创建数据加载器的过程变得更加方便,便于后续在PyTorch中进行模型的训练和验证。

m0_69326538的博客 2004

BERT使用详解(实战)

BERT模型,本质可以把其看做是新的word2Vec。对于现有的任务,只需把BERT的输出看做是word2vec,在其之上建立自己的模型即可了。 1,下载BERT BERT-Base, Uncased: 12-layer, 768-hidden, 12-heads, 110M parameters BERT-Large, Uncased: 24-layer, 1024-hidden, 16-he...

foxcow2012的博客 8077

Bert文本分类实战(附代码讲解)

一、Bert简介 BERT全称是Bidirectional Encoder Representations from Transformers,是google最新提出的NLP预训练方法,在大型文本语料库(如维基百科)上训练通用的“语言理解”模型,然后将该模型用于我们关心的下游NLP任务(如分类、阅读理解)。 BERT优于以前的方法,因为它是用于预训练NLP的第一个**无监督,深度双向**系统,从名字我们能看出该模型两个核心特质:依赖于Transformer以及双向,同时它也是木偶动画《芝麻街》里面的角色,

Python,数据分析,机器学习,深度学习 2万+

bert模型简介、transformers中bert模型源码阅读、分类任务实战和难点总结

1、bert模型简介和原理回顾 2、bert模型源码理解 3、bert模型任务实战 4、bert模型一些难点

HUSTHY的博客 1万+

从SAS接口到InfiniBand:一张图看懂数据中心硬件‘黑话’(SFF-8643/8644、QSFP112、NDR/HDR/EDR)

本文深入解析数据中心硬件术语,从SAS接口标准(SFF-8643/8644)到速率标识(NDR/HDR/EDR),帮助工程师快速理解关键性能指标。特别对比了PCIe卡规格(HHHL/FHHL)和光模块选择(QSFP112/OSFP),并探讨InfiniBand在高性能网络中的优势,为硬件选型提供实用指南。

weixin_32103009的博客 430

Bert实战:使用Bert实现文本分类。

1、简介 最近使用Bert实现了文本分类,模型使用的是bert的base版本。本文记录一下实现过程。 数据集:cnews,包含三个文件,分别是cnews.train.txt、cnews.test.txt、cnews.val.txt。类别包含10类,分别是:体育、娱乐、家居、房产、教育、时尚、时政、游戏、科技、财经。 代码参考:https://github.com/BeHappyForMe/Multi_Model_Classification,对代码的一些部分作了修改和注解。关注公众号“AI小浩”,回复“be

AI浩 2万+

嘉立创EDA实战:从点亮第一盏灯到完成首块PCB

本文详细介绍了使用嘉立创EDA从点亮第一盏LED灯到完成首块PCB的全过程。通过实战案例分享,包括原理图绘制、PCB设计、DRC检查、覆铜操作等关键步骤,帮助电子设计爱好者快速掌握嘉立创EDA的使用技巧,并避免常见的设计错误。

weixin_30314793的博客 373

告别黑窗口:XShell+X11转发图形化界面的5分钟保姆级教程(附Xming配置)

本文详细介绍了如何使用XShell和X11转发技术快速实现Linux图形化界面的远程访问。通过5分钟快速配置指南,包括服务端设置、客户端工具选择及XShell+Xming的完美配置,帮助用户高效运行GUI应用程序,提升远程工作效率。特别适合需要图形化操作的开发者和运维人员。

weixin_29223603的博客 328

Bert-实战

参考BERT fine-tune 终极实践教程 Bert 实战 bert在主要分为两个任务:一、训练语言模型和预训练部分(run_pretraining.py),二、训练具体任务的fine-turning部分(run_classifier.py适用于分类情况/run_squad.py适用于问答情况) 一、 下载预训练模型, 预训练模型可以在google的开源界面找到,对于中文可以直接下载对应...

夜阑卧听风吹雨,铁马是你,冰河也是你。 2777

综合能源系统多时间尺度优化调度!诸多创新点让你抓住审稿人的心!

主要介绍综合能源系统的设备组成结构,并针对屋顶光伏系统、冷-热-电联供系统中的燃气轮机、燃气锅炉、光伏溴化锂制冷机、卡琳娜余热发电、中央空调系统,以及外网交互系统的配电网与天然气管网交互关系进行数学建模。1) 源-荷-储协同调度:研究屋顶光伏、燃气轮机、燃气锅炉等源侧设备,中央空调、电-热-冷负荷、可平移电负荷、可削减温控负荷等负荷侧资源,以及储能系统、电动汽车等储能侧设备的协同调度,以提高风光消纳能力,满足社会能源需求。通过电转热、电转冷、电转气等多能耦合方式,可进一步促进可再生能源的应用与发展。

weixin_48747334的博客 1489

Pytorch实战笔记(3)——BERT实现情感分析

本文展示的是使用 Pytorch 构建一个 BERT 来实现情感分析。本文的架构是第一章详细介绍 BERT,其中包括 Self-attention,Transformer 的 Encoder,BERT 的输入与输出,以及 BERT 的预训练和微调方式;第二章是核心代码部分。

LiQZ的博客 1万+

python blp模型 估计_随机系数Logit模型及Stata实现

欢迎投稿(荐稿)计量经济圈,计量相关都行邮箱:econometrics666@sina.cn作者:北京交通大学经济管理学院博士生,王琦珀。欢迎你加入计量经济圈社群,一起探讨前沿计量理论和实证方法。一、随机系数Logit模型1.背景实证产业组织(Empirical Industrial Organization,EIO)是目前产业组织理论的前沿,其中又以Ariel Pakes为带头人,其近期工作论文...

weixin_42298927的博客 2641

钢结构焊接连接工艺

钢结构焊接连接工艺

wwdoffice950426的博客 61

Sentence-BERT实战

本文主要介绍了SBERT作者提供的官方模块的使用实战。

日积月累,天道酬勤 1万+

Codex 桌面端自定义模型列表为空 — 修复记录

摘要:Codex桌面端首次启动正常,但二次启动后出现中文界面且模型列表丢失。问题根源在于Electron的Chromium持久化状态损坏,导致UI渲染异常。解决方案包括:1) 将config.toml中的模型路径改为绝对路径;2) 删除损坏的状态文件.codex-global-state.json;3) 清除Chromium用户数据目录AppData\Roaming\Codex\web。验证显示修改后模型功能恢复正常,重装无效的原因是卸载未清除用户数据目录。

猿小白的博客 1154

bert笔记

BERT是Bidirectional Encoder Representations from Transformers的缩写。bert其实就是由多层的Transformer Encoder堆叠成的,所谓的Bidirectional其实也就是Transformer中的self-attention机制。或者也可以说是Self-Attention Layer和Layer Normalization的堆叠而成。

zh515858237的专栏 7828

【MATLAB例程】基于TDOA定位(两步最小二乘)的三维轨迹定位和UKF滤波,TDOA的锚点可以自适应,附完整代码

该代码实现了一种**融合TDOA(到达时间差)定位与无迹卡尔曼滤波(UKF)**的动态目标轨迹跟踪方案,适用于三维空间中的移动目标定位与滤波。TDOA定位:通过两步加权最小二乘法(TS-WLS)解算目标位置。UKF滤波:对定位结果进行非线性滤波,抑制噪声并提升轨迹平滑性。多维度误差分析:对比滤波前后误差,评估算法性能。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 675

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

BERT论文笔记

BERT预训练模型论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》的阅读笔记 文章目录一、Model Architecture规模BERT、GPT、ELMo三者的区别二、Input Representation三、预训练任务任务1 Masked LM任务2 Next Senten...

m0_37965319的博客 1346

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

BERT学习笔记和实战文本分类

一、阅读记录 (九)再谈embedding——bert详解(实战)上 https://www.jianshu.com/p/109505d2947a (九)再谈embedding——bert详解(实战)中 https://www.jianshu.com/p/261311adce89 (九)再谈embedding——bert详解(实战)下 https://www.jianshu.com/p......

永远飞翔的鸟 1910

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【BERT-多标签文本分类实战】之一——实战项目总览

很多数据集都是英文的,比如多标签文本数据集、层次结构标签文本数据集,想在方向上更进一步的话,必须得学会处理英文文本。而随着近些年的发展,bert算是表现超级好的几种模型之一,所以有必要跑一跑bert相关的模型。目前来看,如果方向是文本分类的话,英文文本分类、中文文本分类都需要掌握。如果需要本组件的源代码,请扫描关注我的公众号,回复“bert实战”。您还可以浏览我的另外一个项目博客【英文单标签文本分类实战】。[4]另一个项目【英文单标签文本分类实战】[3]实战前需要掌握的知识。[2]代码获取地址。......

十一月廿七风雨大作 1万+

bert实战

功能定义基于 BERT 的文本分类模型。关键点使用BertModel加载预训练 BERT 模型。在 BERT 的输出后添加一个全连接层(nn.Linear)用于分类。使用对输入文本进行分词和编码。self.bert = BertModel.from_pretrained(bert_path) # 加载预训练 BERT 模型self.cls_head = nn.Linear(768, num_class) # 分类头。

m0_63057596的博客 1339

Transformer、BERT等模型学习笔记

记录一下刷B站教学视频的一些笔记,目前主刷: 李沐老师的【跟李沐学AI】 公众号-【NLP从入门到放弃】 的视频 文章目录1 Transformer从零详细解读(可能是你见过最通俗易懂的讲解)1.1 整体结构1.2 encoder部分1.2.1 输入部分1.2.2 多头注意力机制1.2.2.1 注意力机制原理1.2.2.2 QKV的获取方式1.2.3 残差1.2.3 layer norm 与BN的差异1.2.4 前馈神经网络1.3 Decoder1.3.1 masked1.3.2 新增的多头注意力机制

素质云笔记 2531
上一篇: 1.16学习日记
下一篇: 深度学习扩展
紫薯粥zzz
博客等级 码龄5年 32粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值