BERT论文解读及实现(一)

BERT: Pre-training of Deep Bidirectional Transformers for
Language Understanding

1 论文解读

1.1 模型概览

  • There are two steps in our framework: pre-training and fine-tuning.
    bert由预训练模型+微调模型组成。
    pre-training, the model is trained on unlabeled data over different pre-training tasks.
    预训练模型是在无标注数据上训练的
    For fine-tuning, the BERT model is first initialized with
    the pre-trained parameters,
    and all of the parameters are fine-tuned using labeled data from the downstream tasks
    微调模型在有监督任务上训练的,不通下游任务训练不同的bert模型,尽管预训练模型一样,不同下游任务都有单独的微调模型

下图中,左边为预训练的bert模型,右边为问题答案匹配微调模型。
在这里插入图片描述

1.2 模型架构

  • BERT’s model architecture is a multi-layer bidirectional Transformer encoder
    bert模型架构是基于原始transorformer的encoder层

常用参数表示:
L : Transformer blocks 的层数
H: embedding的维度大小
A: 多头注意力机制中的头数,代表使用多少个self attention
BERTBASE (L=12, H=768, A=12, Total Parameters=110M) and BERTLARGE (L=24, H=1024,A=16, Total Parameters=340M).

模型输入:

  • 将两个句子拼接在一起,组成单个句子,句子之间使用 [SEP] token连接

  • 在句子第一个位置加入 [CLS] token ,代表了这个句子的聚合信息。

  • 单独构建句子token 拼接句子用0,1和来表示每个字是属于句子1,还是句子0。

For a given token, its input representation is constructed by summing the corresponding token,segment, and position embeddings。
对应给定的一个token,embedding 表征由三部分组成,分别由字embeddign, segment(句子) embedding,和位置embedding相加而成。,如下图所示。

在这里插入图片描述

1.3 预训练BERT

模型完成两个任务;
任务①: Task #1: Masked LM
任务②:下一个句子预测
Task #1: Masked LM
-In order to train a deep bidirectional representation, we simply mask some percentage of the input tokens at random, and then predict those masked tokens.
为了学习句子的双向表征,通过一定比例随机mask句子中的一些token,然后去预测这些token。

  • In all of our experiments, we mask 15% of all WordPiece tokens in each sequence at random
    我们在每个句子中随机mask 掉15%的tokens

  • Although this allows us to obtain a bidirectional pre-trained model, a downside is that we are creating a mismatch between pre-training and fine-tuning, since the [MASK] token does not appear during fine-tuning.
    尽管这种mask机制可以解决双向模型训练问题,但是由于在模型fine-tuning时,并没有mask tokens,导致pre-training 和 fine-tuning节点不一致。

  • 我们采样如下策略处理上面问题
    ① 每个句子随机选择15%的token进行mask
    ② 在选择的mask token中,其中80%替换为[mask],10%被随机替换为其他词,剩下10%保持原token不变

Task #2: Next Sentence Prediction (NSP)
背景:许多下游任务是基于2个句子完成的,如 Question Answering (QA) 、 Natural Language Inference (NLI)。

In order to train a model that understands sentence relationships, we pre-train for a binarized next sentence prediction task

任务设计:

  • 对每一个训练,样本选择句子A和句子B
  • 50%的句子B,真的是句子A的下一句,label=IsNext
  • 50%的句子B随机从预料库中选择的,label=NotNext

1.4 Fine-tuning BERT

For applications involving text pairs, a common pattern is to independently encode text pairs before applying bidirectional cross attention BERT instead uses the self-attention mechanism to unify these two stages, as encoding a concatenated text pair with self-attention effectively includes bidirectional cross attention between two sentences.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于simulink处理监控视频以选择包含运动的帧(附源码)

一、前言 此示例演示如何处理监控视频以选择包含运动的帧。安全问题要求使用摄像机对重要位置进行持续监控。为了有效地记录、查看和存档这些海量数据,您可以减小视频帧大小或减少录制的视频帧总数。此示例说明了后一种方法。在其中,相机视野中的运动会…

使用GitHub Actions 来进行项目远程服务器部署

由于项目源码是托管在github的,而部署是放在远程服务器上,并且使用nginx部署。 现在的部署流程时,需要更新时,在本地切换到master分支,执行构建操作,拿到构建出的dist目录,将其上传到远程服务的…

【HTTP】HTTP协议 HTTPS 协议

目录 一、HTTP 🌷1、HTTP是什么? 🌷2、HTTP的工作过程 🌷3、 抓包工具Fiddler的使用 🌷4、HTTP的协议格式(重点) 🌷5、HTTP请求 5.1 请求地址URL 5.2 方法method 5.3 认识 …

常见面试题之垃圾收回

1. 简述Java垃圾回收机制?(GC是什么?为什么要GC?) 为了让程序员更专注于代码的实现,而不用过多的考虑内存释放的问题,所以,在Java语言中,有了自动的垃圾回收机制&#x…

权限管理系统后端实现1-SpringSecurity执行原理概述

spring security的简单原理: SpringSecurity有很多很多的拦截器,在执行流程里面主要有两个核心的拦截器 1,登陆验证拦截器AuthenticationProcessingFilter 2,资源管理拦截器AbstractSecurityInterceptor 但拦截器里面的实现需要…

Android Studio实现内容丰富的安卓公交线路查询平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号084 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 开发语言:java 2.功能介绍 安卓端: …

前端:运用html+css+js实现虎牙直播上的轮播图效果

前端:运用htmlcssjs实现虎牙直播上的轮播图效果 1. 我的实现效果2. 前端界面设置3. 图片动画效果实现4. 总的代码 1. 我的实现效果 近段时间看虎牙直播看的多,发现这上面的一个轮播图效果不错,如是打算运用纯htmlcssjs实现一下上述那个运行效果&#xff…

spring boot项目如何自定义参数校验规则

spring boot项目对参数进行校验时,比如非空校验,可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验,自带的校验规则无法满足要求,此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样&…

LangChain大型语言模型(LLM)应用开发(三):Chains

LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

IP 协议(网络层协议)

IP协议 IP 协议作用地址管理动态分配 IP 地址NAT 机制IPv6IP 地址的组成 路由选择 IP 协议作用 主要有两点 : 地址管理 为每个上网的设备分配一个唯一地址. 路由选择 两台主机间的信息交互, 具体走哪条线路. 地址管理 先来看看 IP协议 报文格式 : IP 协议最主要就是 32 位的…

香橙派4和树莓派4B构建K8S集群实践之七: Jenkins

目录 1. 说明 2. 步骤 2.1 准备工作 2.2 安装 2.2.1 用jenkins原站for k8s的安装仓方法安装 2.2.2 Helm 安装 3. 相关命令 4. 遇到的问题 5. 参考 1. 说明 在k8s上部署jenkins,并用 jenkins.k8s-t2.com访问在namespace为devops下安装在指定节点k8s-master-…

任天堂 Switch 六月销量破纪录,极有可能成为日本市场销量冠军

任天堂于2017年发布的游戏机Switch已进入第六个年头。虽然该游戏机在硬件性能和品控方面受到一些评价不佳,但销售数据表明绝大多数玩家仍然乐意购买Switch游戏机。 根据日本经济新闻报道,今年6月Switch在日本销售了380,000台机器,同比增长68%…

【KingbaseES】如何查看表结构

SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name test_szie;

ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、农业、大气等领域数据分析

查看原文>>> ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、农业、大气等领域数据分析 【内容简述】: 注:请提前自行配置上课环境 【其它相关推荐】: GEE遥感云大数据林业应用典型案例实践及GPT模型应用 基…

TCP的十个核心机制

目录 前言一 到 三四. 滑动窗口五. 流量控制六. 拥塞控制七. 延时应答八. 捎带应答九. 面向字节流十. 异常处理总结 前言 TCP协议是传输层的重点协议, 负责将数据从发送端传输到接收端. TCP协议是传输控制协议, 顾名思义也就是对数据的传输进行控制的协议. TCP 协议有很多, 我…

云端安全由繁到简,亚马逊云科技护航业务创新新局面

数字化愿景与现实存在的差距困扰着诸多企业,但造成这种差距的一个重要因素却一直被很多管理者所忽视,那就是企业未能建立应有的数字安全与合规体系。应用迭代的速度加快、数据快速膨胀、企业云原生道路上遭遇的种种困境,与数字安全部门有限的…

Kubernetes的Pod中进行容器初始化

Kubernetes的Pod中进行容器初始化 在很多应用场景中,应用在启动之前都需要进行如下初始化操作: 等待其他关联组件正确运行(例如数据库或某个后台服务)。 基于环境变量或配置模板生成配置文件。 从远程数据库获取本地所需配置,或者将自身注…

【网络技术】计算机网络介绍

写在前面 计算机网络是指将多台计算机连接起来,使它们能够相互通信和共享资源的系统。 它是现代计算机科学中的重要分支之一,为全球范围内的信息交流和数据传输提供了基础。 本文将介绍计算机网络的基础概念、体系结构、协议、常见问题等的知识。 一、基…

[LeetCode]2178.拆分成最多数目的偶整数之和

2178.拆分成最多数目的偶整数之和 题目 思路 首先,奇数是不可拆分成多数目的偶整数,这种情况返回一个空数组。 累加2以组合一个最多不同数目偶整数,当拆分的最后一个偶整数,总和大于原数时,将差值累加到最后一位偶整…

flutter RepaintBoundary 截屏图片下载,保存图片不清晰的问题

flutter RepaintBoundary 截屏图片下载,保存图片不清晰的问题 前言一、什么是RepaintBoundary二、RepaintBoundary 能干什么三、RepaintBoundary 保存图片模糊的问题四、RepaintBoundary 使用小demo总结 前言 最近工作中,突然遇到截屏保存图片的问题&…