深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform):输入表示

news2024/12/23 0:27:54

分类目录:《深入理解深度学习》总目录


BERT在预训练阶段使用了《深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform):MLM(Masked Language Model)》和《深入理解深度学习——BERT(Bidirectional Encoder Representations from Transform):NSP(Next Sentence Prediction)任务》所述的两种训练方法,在真实训练的过程中,两种方法是混合在一起使用的。《深入理解深度学习——注意力机制(Attention Mechanism):自注意力(Self-attention)》中介绍的Self-attention不会考虑词的位置信息,因此Transformer需要两套Embedding操作,一套为One-hot词表映射编码(下图中标注为Token Embeddings),另一套为位置编码(下图中标注为Position Embeddings)。同时,在MLM的训练过程中,存在单句输入和双句输入的情况,因此BERT还需要一套区分输入语句的分割编码(下图中标注为Segment Embeddings)。BERT的Embedding过程包含三套Embedding操作,如下图所示。
 BERT的Embedding过程
以下图中的样例数据作为原始输入,可以通过以下5步得到最终的BERT输入表示。

  1. 获得原始输入句对“my dog is cute”和“he likes playing”。
  2. 对输入句子使用WordPiece分词,变成“my dog is cute”和“he likes play##ing”。
  3. 将句对拼接并加上用于分类的特殊标签符和分隔符,得到“[CLS]my dog is cute[SEP]he likes play##ing[SEP]”。
  4. 计算每一个词的Position Embeddings、Segment Embeddings和Token Embeddings,如上图中灰色、绿色和黄色区域所示。
  5. 将三个Embeddings表示相加,得到最终的BERT输入表示。

值得注意的是,Transformer使用的位置编码一般为三角函数,而BERT使用的位置编码和分割编码均在预训练过程中训练得到,其表示位置信息的能力更强。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/676484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++——函数重载

目录 1. 函数重载的概念 2. 函数重载注意点 3. C可以函数重载的原因 4. 总结 1. 函数重载的概念 函数重载:是函数的一种特殊情况。C语言不支持函数重载,而C允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 …

【软件设计师暴击考点】软件工程知识高频考点【一】

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:软件…

基于Springboot+vue的汽车租赁系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

阿里云服务器的可用区和地域选择有哪些考虑因素?如何优化性能?

阿里云服务器的可用区和地域选择有哪些考虑因素?如何优化性能?   选择阿里云服务器时,可用区和地域选择是一个非常关键的环节。本文将为您详细解析在这个过程中需要考虑的因素以及如何优化性能。 一、阿里云服务器的可用区和地域选择的考虑…

PHP基础知识解析:探索PHP编程的核心概念和技巧

目录 PHP简介 什么是PHP 网站基本概念 网站 静态网站特点 动态网站特点 服务器概念 IP 域名 DNS 端口 PHP基础知识 PHP语法 PHP注释 PHP语句分隔符 变量 变量基本概念 变量的使用 命名的命名规则: 预定义变量: 可变变量 变量传值 …

【Linux操作系统】共享内存

文章目录 什么是共享内存?共享内存的原理共享内存的知识点构建创建共享内存的前提-key值共享内存的创建ipcs命令共享内存的释放共享内存的关联与解除代码演示共享内存的大小共享内存的特点 什么是共享内存?共享内存的原理 共享内存让不同进程看到同一份…

C++ --引用与函高级

引用 定义:给变量起别名。 语法:数据类型&别名原名。 int a10; int &ba; //(此时的a和b都指向了同一块空间,都可对里面的元素进行修改) 对这两个变量名字任意一个进行修改,两变量的结果都会发生变化 引用注意事项 1.引…

211大学,4个计算机应届生,真实求职情况~

每年6月,毕业就业是一个绕不开的永恒话题!2024届秋招即将开始,你们都找到工作了吗?是否还在犹豫、焦虑、没有头绪…… 先知先觉的那一批人,总会未雨绸缪,从前辈那里汲取经验。 播妞采访了4位211计算机应届…

vue+leaflet笔记之地图放大镜

vueleaflet笔记之地图放大镜 文章目录 vueleaflet笔记之地图放大镜开发环境使用教程安装依赖库使用简介 详细源码(Vue3) 本文介绍了Web端使用 Leaflet开发库显示地图放大镜的方法 (底图来源:中科星图),结合 leaflet.magnifyingglass插件可以为Leaflet图层添加“放…

SHAP显示原始特征

1.问题描述 SHAP用于特征解释,对于机器学习方法往往需要对原始特征进行编码,而SHAP在绘制单个样本时,会显示每个特征及其取值,而这个取值已经是编码后的,通常无法确定其含义。如: 下图所示的拍卖公司、城市…

【软件设计师暴击考点】数据结构高频考点暴击系列

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:软件…

MarkDown语法学习 —— LaTex数学公式 数学符号

文章目录 01 | 🛑 LaTex公式模式02 | 🚦上下标符号 & 数学符号03 | 🚥 运算符 LaTeX,作为广义上的计算机标记语言(比如HTML),它继承了计算机语言的光荣传统,通过一些简单的代码表…

入门防火墙基本原理

防火墙是可信和不可信网络之间的一道屏障,通常用在LAN和WAN之间。它通常放置在转发路径中,目的是让所有数据包都必须由防火墙检查,然后根据策略来决定是丢弃或允许这些数据包通过。例如: 如上图,LAN有一台主机和一台交…

Nginx基础配置以及实操

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、nginx主配置文件1.全局配置2.I/O事件配置3.HTTP配置4.检查文件是否配置正确5.浏览器测试6.总配置文件图示6.1 nginx总配置文件的三个模块6.2 HTTP文件配置的图示…

通过Python+Selenium获取我的所有文章质量分

文章目录 前言一、背景二、设计三、环境准备四、开发1.查询文章数量1.1请求url1.2响应结果1.3代码 2.获取每页文章列表2.1请求url2.2响应结果 3.获取所有文章url3.1代码 4.保存excle方法4.1代码 5.查询所有文章质量分并写入excle5.1代码 6.程序入口6.1代码 7.需要引入的模块 五…

Copilot是GPT的理想应用模式吗?

自OpenAI发布ChatGPT以来,LLM持续火热,各大公司纷纷入场。但近一段时间以来,我观测到的LLM应用场景,基本都是Copilot的形式,即以对话为基础的辅助应用。尽管体验起来十分的高大上,但我能明确感受到&#xf…

微信小程序发布上线全流程 注册 开发 上传审核

微信小程序接入全流程 微信小程序从零到上线,要经历小程序账号注册开通、完善小程序信息、开发小程序、提交小程序审核及发布四个过程: 以下是微信小程序发布上线的详细流程: 确认小程序信息:在微信公众平台注册并登录后&#…

【C语言进阶】预处理那些事儿

文章目录 📖预定义符号📖预处理指令📖#define 🔖#define定义标识符🔖#define定义宏🔖#define替换规则🔖#和##🔖带有副作用的宏参数🔖宏和函数的对比🔖命名约定…

正点原子 STM32F4/F7水星 开发板资料连载第二十一章LTDC LCD实验

正点原子 STM32F4/F7水星 开发板资料连载第二十一章LTDC LCD实验 - 知乎 (zhihu.com) 本章我们将通过 STM32F767 的 LTDC 接口来驱动 RGBLCD 的显示,另外,STM32F767 的 LTDC 还有DMA2D 图形加速,我们也顺带进行介绍。本节分为三个部分&#…

Kubernetes学习笔记-kubernetes应用扩展(1)-自定义API对象20230622

1、CustomResourceDefinitions介绍 开发者只需要只需向kubernetes api服务器提交CRD对象,即可定义新的资源类型。成功提交CRD之后,就能通过API服务器提交JSON清单或者YAML清单的方式创建自定义资源,以及其他kubernetes资源实例 创建一个CRD…