NLP:BERT的介绍

1. BERT

1.1 Transformer

  Transformer架构是一种基于自注意力机制(self-attention)的神经网络架构,它代替了以前流行的循环神经网络和长短期记忆网络,已经应用到多个自然语言处理方向。
  Transformer架构由两个主要部分组成:编码器(Encoder)和解码器(Decoder)。编码器和解码器均是由多个层(layer)堆叠而成,其中每层均由多个子层组成:比如自注意力机制和前馈神经网络。(本篇先不介绍解码器部分。)
在这里插入图片描述

1.1.1 编码器

  Transformer中的编码器的作用是提取原句中的特征值。Transformer的编码器不止一个,而是由一组 N N N个编码器串联而成。一个编码器的输出作为下一个编码器的输入。编码器由两部分组成:多头注意力层和前馈网络层。

1.1.1.1 多头注意力层

  要理解Transformer的多头注意力层,就必须先理解Transformer中的自注意力机制(self-attention)。Transformer中的自注意力机制一种能够使模型在处理序列数据时,通过计算序列中每个元素与其他所有元素之间的相关性,并据此对元素进行加权求和,从而生成包含所有元素信息但更侧重于重要部分的表示的机制。多头注意力机制就是自注意力机制的扩展,它通过并行计算多个自注意力头来捕捉不同子空间中的信息,最终将这些头的输出进行拼接和线性变换。
  自注意力机制的计算过程如下图。其中 Q Q Q为查询矩阵、 K K K为键矩阵、 V V V为值矩阵。
在这里插入图片描述

1.1.1.2 位置编码

  Transformer中的位置编码用于为输入序列中的每个词提供位置信息,以弥补模型中缺少顺序感的缺陷,使模型能够捕捉词汇的相对顺序和位置信息。

1.1.1.3 前馈网络层

  Transformer架构中的前馈网络由两个有ReLU激活函数的全连接层组成。前馈网络的参数在句子的不同位置上是相同的,但在不同的编码器模块上是不同的。

1.1.1.4 叠加和归一化组件

  叠加和归一组件实际上包含一个残差连接与层的归一化。层的归一化可以防止每层的值剧烈变化,从而提高了模型的训练速度。

至此,完整的编码器框架如下:
在这里插入图片描述

1.2 BERT模型

  BERT(Bidirectional Encoder Representations from Transformers,多Transformer的双向编码器表示法)模型是由谷歌发布的预训练语言模型。

1.2.1 预训练的BERT

  谷歌对外公开了其预训练的BERT模型,用户可以直接下载使用。其下载地址如下:https://huggingface.co/google-bert
在这里插入图片描述
BERT模型名称中的的uncased表示不区分大小写,cased表示区分大小写。在不区分大小写时,所有标记都转化为小写;在区分大小写时,标记大小写不变,直接用于训练。不区分大小写的模型是最常用的模型,但如果我们正在执行某些任务,比如命名实体识别(named entity recognition, NER),则必须保留大小写,使用区分大小写的模型。

1.2.2 Bert架构

  完整的BERT架构可以分为三大部分:输入层、中间层(Transformer编码器层)和输出层。这里重点介绍输入层和输出层。

1.2.2.1 输入层

  输入层将文本转换为 BERT 能够处理的形式,主要包括以下三个部分:

  • Token Embeddings: 将输入的每个词或子词(通过WordPiece分词)映射为对应的词向量;
  • Segment Embeddings:会分别给第一个句子的所有Token都分配0作为ID,用来标记它们属于第一个句子。给第二个句子的所有Token都分配1作为ID,用来标记它们属于第二个句子。
  • Position Embeddings:因为BERT不使用传统的RNN或CNN结构,而是基于自注意力机制,所以需要显式添加位置编码,表示词的相对位置,帮助模型捕捉词序信息。
    在这里插入图片描述
1.2.2.2 输出层

  BERT的输出层根据不同任务进行调整。BERT本身是一个通用的预训练模型,通过微调来适应各种下游任务。常见的任务主要包含以下几种:

  • 文本分类任务:使用[CLS]的输出,添加一个全连接层,将[CLS]的输出传入该层,再通过softmax进行分类。
  • 序列标注任务:在每个token的输出上添加全连接层,对每个token进行分类。
  • 问答任务:模型的输出是两个位置预测,一个表示答案的起始位置,另一个表示答案的结束位置,分别对每个token进行位置预测。

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

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

相关文章

【HarmonyOS】应用引用media中的字符串资源如何拼接字符串

【HarmonyOS】应用引用media中的字符串资源如何拼接字符串 一、问题背景: 鸿蒙应用中使用字符串资源加载,一般文本放置在resoutces-base-element-string.json字符串配置文件中。便于国际化的处理。当然小项目一般直接引用字符串,不需要加载s…

python爬虫:从12306网站获取火车站信息

代码逻辑 初始化 (init 方法): 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法): 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法): 从服务器响应中提取车站信息字符串。去掉字符串末尾的…

如何通过Dockfile更改docker中ubuntu的apt源

首先明确我们有一个宿主机和一个docker环境,接下来的步骤是基于他们两个完成的 1.在宿主机上创建Dockerfile 随便将后面创建的Dockerfile放在一个位置,我这里选择的是 /Desktop 使用vim前默认你已经安装好了vim 2.在输入命令“vim Dockerfile”之后,…

知识付费APP开发指南:基于在线教育系统源码的技术详解

本篇文章,我们将探讨基于在线教育系统源码的知识付费APP开发的技术细节,帮助开发者和企业快速入门。 一、选择合适的在线教育系统源码 选择合适的在线教育系统源码是开发的关键一步。市场上有许多开源和商业化的在线教育系统源码,开发者需要…

花都狮岭寄宿自闭症学校:开启孩子的生命之门

在花都狮岭这片充满温情的土地上,有一所特别的学校,它像一把钥匙,轻轻旋转,为自闭症儿童们开启了一扇通往无限可能的生命之门——这就是广州星贝育园自闭症儿童寄宿制学校。这所学校不仅是知识的摇篮,更是孩子们心灵成…

React 启动时webpack版本冲突报错

报错信息: 解决办法: 找到全局webpack的安装路径并cmd 删除全局webpack 安装所需要的版本

Python(六)-拆包,交换变量名,lambda

目录 拆包 交换变量值 引用 lambda函数 lambda实例 字典的lambda 推导式 列表推导式 列表推导式if条件判断 for循环嵌套列表推导式 字典推导式 集合推导式 拆包 看一下在Python程序中的拆包:把组合形成的元组形式的数据,拆分出单个元素内容…

影响上证50股指期货价格的因素有哪些?

上证50股指期货,作为反映上海证券交易所最具代表性50只股票整体表现的期货合约,其价格同样受到一系列复杂因素的驱动。以下是对影响上证50股指期货价格的主要因素进行的详细分析。 因素一、期货合约的供求关系 股指期货市场是一个由多头和空头双方共同…

具身智能综述:鹏城实验室中大调研近400篇文献,深度解析具身智能

具身智能是实现通用人工智能的必经之路,其核心是通过智能体与数字空间和物理世界的交互来完成复杂任务。近年来,多模态大模型和机器人技术得到了长足发展,具身智能成为全球科技和产业竞争的新焦点。然而,目前缺少一篇能够全面解析…

面试遇到的质量体系10个问题(深度思考)

在某大型公司的招聘面试中关于质量体系本身及建设实践方面的10个问题,这些问题都是偏理论性强一些,但是可以通过这些问题来了解大型公司对质量体系的一些想法和预期的内容,本期先抛出来这10个问题,不附答案,目的就是让…

AI绘画:Stable Diffusion 终极炼丹宝典:从入门到精通

前言 我是Lison,以浅显易懂的方式,与大家分享那些实实在在可行之宝藏。 历经耗时数十个小时,总算将这份Stable Diffusion的使用教程整理妥当。 从最初的安装与配置,细至界面功能的详解,再至实战案例的制作&#xff…

使用mendeley生成APA格式参考文献

mendeley 是一款文献管理工具,可以在word中方便的插入引用文献。 效果对比: 注:小绿鲸有三种导出格式,分别为复制、导出为Bibtex和导出为Endnote三种。 mendeley 下载与安装 Download Mendeley Reference Manager For Desktop mac…

98问答网是一个怎样的平台?它主要提供哪些服务?

98问答网是一个集知识分享、问题解答与社区交流为一体的综合性在线问答平台。该平台旨在通过汇聚来自各行各业的专家、学者以及广大网友的智慧,为用户提供一个快速获取准确信息、解决生活工作中遇到的各种问题的渠道。 主要服务包括: 问题提问与解答&am…

10.C++程序中的循环语句

C中提供了三种循环语句(for循环,while循环以及do-while循环)来使程序员可以更方便地对数据进行迭代操作。 if语句 for语句的格式为: for(初始化语句;循环条件;迭代语句) { 代码块 &#x…

【中级通信工程师】终端与业务(十一):市场营销计划、实施与控制

【零基础3天通关中级通信工程师】 终端与业务(十一):市场营销计划、实施与控制 本文是中级通信工程师考试《终端与业务》科目第十一章《市场营销计划、实施与控制》的复习资料和真题汇总。终端与业务是通信考试里最简单的科目,有效复习通过率可达90%以上…

RabbitMQ高级特性-发送方确认

对于发送方发送消息到RabbitMQ的可靠性机制 引入:在持久化的消息正确存⼊RabbitMQ之后,还需要有⼀段时间(虽然很短,但是不可忽视)才能存⼊磁盘中.RabbitMQ并不会为每条消息都进⾏同步存盘(调⽤内核的fsync⽅法)的处理, 可能仅仅保存到操作系统缓存之中⽽不是物理磁…

流量新密码?AI宠物定制写真在小红书爆火,有人搞了10W+

大家好,我是灵魂画师向阳 不知道大家发现没?消费者对于情感价值的需求猛增,宠物服务行业衍生出越来越多的“拟人化”新业态。 宠物摄影和写真成为宠物经济中的新兴行业,吸引了越来越多的摄影师和养宠人的关注。 一些摄影师和摄…

gitlab修改访问端口

目录 1.找到gitlab.rb文件,一般在/etc/gitlab/路径下 2.打开配置文件,加上代码 3.重新配置 4.重启gitlab 1.找到gitlab.rb文件,一般在/etc/gitlab/路径下 2.打开配置文件,加上代码 打开文件 sudo vi gitlab.rb 加上默认端口配…

DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL(附源码)

1、项目功能演示 DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL 2、项目功能描述 基于springboot问卷调查管理系统包括以下功能: 1、系统登录、系统注册 2、创建题目、题目信息查看 3、创建问卷、我的问卷信息查看 4、创建活动、我的活动信息…

机器学习 | Scikit Learn中的普通最小二乘法和岭回归

在统计建模中,普通最小二乘法(OLS)和岭回归是两种广泛使用的线性回归分析技术。OLS是一种传统的方法,它通过最小化预测值和实际值之间的平方误差之和来找到数据的最佳拟合线。然而,OLS可以遭受高方差和过拟合时&#x…