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

news2024/11/17 3:55:57

分类目录:《深入理解深度学习》总目录
相关文章:
· BERT(Bidirectional Encoder Representations from Transformers):基础知识
· BERT(Bidirectional Encoder Representations from Transformers):BERT的结构
· BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model)
· BERT(Bidirectional Encoder Representations from Transformers):NSP(Next Sentence Prediction)任务
· BERT(Bidirectional Encoder Representations from Transformers):输入表示
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[句对分类]
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[单句分类]
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[文本问答]
· BERT(Bidirectional Encoder Representations from Transformers):微调训练-[单句标注]
· BERT(Bidirectional Encoder Representations from Transformers):模型总结与注意事项


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/676643.html

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

相关文章

【Linux】MySQL 高级 SQL 语句 (一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 MySQL 高级 SQL 语句 MySQL 高级(进阶) SQL 语句SELECT:显示表格中一个或数个字段的所有数据记录DISTINCT:不显示重复的数据记录WHERE:有条…

CVE-2022-25411

文章目录 CVE-2022-25411一、漏洞介绍二、渗透步骤1、打开网站2、目录扫描3、访问后台4、添加文件后缀5、上传shell6、查看flag值 CVE-2022-25411 一、漏洞介绍 Maxsite CMS文件上传漏洞。 MaxSite CMS是俄国MaxSite CMS开源项目的一款网站内容管理系统。马克斯程序(MaxCMS)以…

【Syncfusion系列】SfDataGrid 轻松实现分页和Excel导出

前言 Syncfusion 封装了一个控件 SfDataGrid ,通过SfDataGrid我们只需要 极少量 代码就能分页和Excel导出。 效果展示 包安装 安装下面三个包 将表格绑定到数据库 这次我使用的是一个本地的小型数据库:sqlit 我通过 sqlit-net 这个包 进行访问 sqlit…

Dify 基于 ChatGPT 构建本地知识库问答应用

一、Dify 自从 ChatGPT 横空出世之后,其极高的语言理解和交互能力不仅让人惊呼,ChatGPT不仅能够处理事实性问题,还能理解和生成情感色彩更浓厚的对话内容,能够识别用户的情感倾向,并据此作出相应的回应。这么好的东西…

Linux——文件基础IO的文件描述符和重定向理解

目录 前言: 首先来回顾一下open函数,即在进程中同时打开多个文件: Linux底层进程与文件的关系 : 2.1关闭stdin: 运行结果: ​编辑由结果知:fd1指向文本文件cyq.txt,原本fd1是默…

机器学习多步时间序列预测解决方案

近年来,随着机器学习与深度学习的发展机器学习平台的成熟,数据科学家们不再需要关心底层的基础设施及构建复杂的训练与推理环境,从而可以把主要的时间与精力放在数据与算法本身。在机器学习变得更容易的今天,越来越多的传统行业已…

HAL库——STM32CubeMX中断相关配置(中断反转LED状态)

STM32CubeMX中断相关配置 文章目录 STM32CubeMX中断相关配置1. 选择你要用的芯片(双击打开)2. 设置串口写入3. 配置时钟树,外部时钟为系统时钟(PLL倍频时钟)4. 查看原理图,找到可以中断控制的器件,或者外接小灯来达到中…

中国版chatGPT【文心一言】

文心一言是一款基于人工智能技术的中文自然语言处理工具,它可以用于文本生成、情感分析、关键词提取等多种应用场景。相比于GPT等其他自然语言处理模型,文心一言有着更多的优势。 首先,文心一言具有更高的准确率和可靠性。它采用了最新的深度…

Redis之RDB和AOF持久化原理解析

Redis之RDB和AOF持久化原理解析 一 RDB持久化原理及缺点 说明: 主进程是没法读取物理内存的,所以会在主进程有一个页表来读取物理内存中的数据子进程共享主进程的数据,会复制页表,写入磁盘中写操作是会拷贝一份在进行写操作 二…

【MySql】MySql事务隔离级别与一致性

文章目录 理解隔离性隔离级别查看与设置隔离性读未提交Read Uncommitted读提交Read Committed可重复读 Repeatable Read串行化serializable一致性(Consistency) 理解隔离性 MySQL服务可能会同时被多个客户端进程(线程)访问,访问的方式以事务方式进行 一个事务可能由…

计算机网络——自顶向下方法(第四章学习记录)

本章学习网络层:数据平面 前一章中我们学习了运输层依赖于网络层的主机到主机的通信服务,提供了各种形式的进程到进程的通信。在本章中我们将看到与运输层和应用层不同的是,在网络中的每一台主机和路由器中都有一个网络层部分。 网络层能够…

【FreeRTOS】FreeRTOS学习笔记 ---- 堆和栈,第1个FreeRTOS程序,创建任务函数及任务管理

🍀作者:阿润菜菜 目录 一、通过故事介绍FreeRTOS1.什么是FreeRTOS?2.FreeRTOS能做什么? 二、如何使用FreeRTOS? --- 第1个FreeRTOS程序三、FreeRTOS的堆和栈1.堆和栈的概念2.堆和栈的分配方式3.堆和栈的溢出检测 四、创…

【创建一个螺旋状的相机轨迹并可视化该轨迹以及每个点的姿态】

文章目录 焦点的作用static const Eigen::Vector3d b_cam_z(0, 0, 1);static const Eigen::Matrix3d R_w_base = (Eigen::Matrix3d() << 0, 0, -1, 1, 0, 0, 0, -1, 0).finished()import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import …

canvas详解03-绘制图像和视频

canvas 更有意思的一项特性就是图像操作能力。可以用于动态的图像合成或者作为图形的背景,以及游戏界面(Sprites)等等。浏览器支持的任意格式的外部图片都可以使用,比如 PNG、GIF 或者 JPEG。你甚至可以将同一个页面中其他 canvas 元素生成的图片作为图片源。 引入图像到 …

canvas详解04-绘制文字

绘制文本 canvas 提供了两种方法来渲染文本: fillText(text, x, y [, maxWidth]) 在指定的 (x,y) 位置填充指定的文本,绘制的最大宽度是可选的。 strokeText(text, x, y [, maxWidth]) 在指定的 (x,y) 位置绘制文本边框,绘制的最大宽度是可选的。 #一个填充文本的示例…

Vue电商项目--购物车操作

购物车动态展示数据 但是这个数据的格式不完美 一层套一层 重新对vuex进行存储处理 这里接口写错 这一块&#xff0c;我们通过计算属性加工一下&#xff0c;重新渲染到页面上 在这里我们考虑一个问题&#xff0c;那就是将计算出来的总值计算到页面上 这里还有一个问题&#x…

qt读写xml文件

Qt使用XML模块&#xff0c;在.pro文件中添加 QT xml Qt 提供了三种读写 XML 文档的方法&#xff1a; QXmlStreamReader/QXmlStreamWriter&#xff1a; 一种快速的基于流的方式访问良格式 XML 文档&#xff0c;特别适合于实现一次解析器&#xff08;所谓“一次解析器”&…

前端vue入门(纯代码)13

【13.Vue的消息订阅与发布】 备注&#xff1a;全局事件总线用的更多些&#xff0c;消息订阅与发布只需了解即可。【注意点1】&#xff1a;由于“消息订阅与发布”可依赖的第三方库太多了&#xff0c;这里使用pubsub-js 问题&#xff1a;“全局事件总线”和“消息订阅与发布”都…

看完这篇 教你玩转渗透测试靶机vulnhub—Emplre: Breakout

Vulnhub靶机Emplre: Breakout渗透测试详解 Vulnhub靶机介绍&#xff1a;Vulnhub靶机下载&#xff1a;Vulnhub靶机安装&#xff1a;Vulnhub靶机漏洞详解&#xff1a;①&#xff1a;信息收集&#xff1a;②&#xff1a;登入后台&#xff1a;③&#xff1a;GetShell&#xff1a;④…

oracle操作xml格式数据

新建一张用来测试的表 -- Create table create table XMLTEST (id NUMBER,content VARCHAR2(4000) );往表中插入数据 insert into XMLTEST (id, content) values (1, <root><app><id>1</id><name>张三</name><age>18</age…