当前位置: 首页 > news >正文

多模态基础---BERT

1. BERT简介

BERT用于将一个输入的句子转换为word_embedding,本质上是多个Transformer的Encoder堆叠在一起。

其中单个Transformer Encoder结构如下:
在这里插入图片描述
BERT-Base采用了12个Transformer Encoder。
BERT-large采用了24个Transformer Encoder。

2. BERT的输入

原始的句子中包含[CLS] 和 [SEP]两个字符,其中 [SEP]是两个句子间的分隔符,[CLS]则用于做二分类任务,即判断前后两个句子是否相邻。

BERT的输入由三部分组成:
Input = Token Embedding + Segment Embedding + Position Embedding

Token Embedding:将原始句子(包含字符)进行编码
Segment Embedding :第一个句子中每个word彼此编码一致,第二个句子中每个word彼此编码一致,
Position Embedding:位置编码,不同于原始Transformer中的positional encoding的正余弦编码方式,这里采用可学习参数的编码方式。

在这里插入图片描述

3. BERT的预训练

BERT的训练任务包括:

  1. 预测被遮挡的单词
  2. 预测两个句子是否是相邻的句子

1和2是同时训练的

3.1 MLM 任务(Model Language Mask)

在这里插入图片描述
由于BERT在预训练时的数据集很多都是无标签的,因此采用无监督学习方式。

常见的无监督模型包括:

  1. Auto Regressive(AR),自回归模型,只能考虑单侧信息,典型的就是GPT。

    在这里插入图片描述
  2. Auto Encoding, 自编码模型,可使用上下文信息,BERT使用的就是AE。

    在这里插入图片描述

AE的缺点:忽略了mask和mask之间的联系

在这里插入图片描述

3.2 NSP 任务 (Next Sentence Prediction)

在这里插入图片描述

3.2.1 NSP样本

  1. 正样本:从训练语料库中取出两个连续的段落作为正样本。
  2. 负样本:从不同文档中随机创建一对段落作为负样本。

缺点:
将主题预测和连贯性预测合并为一个单项任务。由于主题预测任务比较简单,因此降低了整体任务的难度。

改进方式:
从同一篇文档中抽取两个不连续的段落作为负样本

4. BERT的四种用法

  1. 预测句子的类别:输入一个句子,输出一个类别
  2. 预测句子中每个单词的类别:输入一个句子,输出每个单词的类别
  3. 预测两个句子是否相邻:输入两个句子,输出判断是否相邻的类别
  4. 预测某个问题在文章中的答案:输入一个问题和一篇文章,输出问题在文章中答案的位置(索引)didj

case1:

在这里插入图片描述
case2:

在这里插入图片描述case3:

在这里插入图片描述case4:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/301094.html

相关文章:

  • 图表示学习 Graph Representation Learning chapter2 背景知识和传统方法
  • OpenMVG(计算两个球形图像之间的相对姿态、细化重建效果)
  • 【QT+QGIS跨平台编译】之三十四:【Pixman+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • 2.17学习总结
  • Unity类银河恶魔城学习记录7-7 P73 Setting sword type源代码
  • 安卓版本与鸿蒙不再兼容,鸿蒙开发工程师招疯抢
  • 《白话C++》第9章 泛型,Page842~844 9.4.2 AutoPtr
  • 服务流控(Sentinel)
  • 点亮代码之灯,程序员的夜与电脑
  • ClickHouse--07--Integration 系列表引擎
  • 前端架构: 脚手架框架之yargs的11种基础核心特性的应用教程
  • MySQL性能调优篇(6)-主从复制的配置与管理
  • Linux第49步_移植ST公司的linux内核第1步_获取linux源码
  • 怎样学习Windows下命令行编写
  • 数据结构第十六天(二叉树层序遍历/广度优先搜索(BFS)/队列使用)
  • 6.s081 学习实验记录(八)Networking
  • 图解贝塞尔曲线生成原理
  • 租房招聘|在线租房和招聘平台|基于Springboot的在线租房和招聘平台设计与实现(源码+数据库+文档)
  • 简单试验:用Excel进行爬虫
  • SQL 精讲-MySql 常用函数,MySQL语句精讲和举例
  • nlp中如何数据增强
  • python:xml.etree,用 xmltodict 转换为json数据,生成jstree所需的文件
  • C#log4net日志保存到Sqlserver数据库表(16)
  • SpringCloud-Nacos集群搭建
  • 第十五届蓝桥杯全国软件和信息技术专业人才大赛个人赛(软件赛)软件测试组竞赛规则及说明
  • 【算法与数据结构】496、503、LeetCode下一个更大元素I II
  • 当AGI遇到人形机器人
  • Pytorch卷积层原理和示例 nn.Conv1d卷积 nn.Conv2d卷积
  • Qt 实现无边框窗口1.0
  • Flume(二)【Flume 进阶使用】