Bert学习笔记(简单入门版)

目 录

一、基础架构

二、输入部分

三、预训练:MLM+NSP

3.1 MLM:掩码语言模型

3.1.1 mask模型缺点

3.1.2 mask的概率问题

3.1.3 mask代码实践

3.2 NSP

四、如何微调Bert

五、如何提升BERT下游任务表现

5.1 一般做法

5.2 如何在相同领域数据中进行further pre-training

5.3 参数设置Trick

六、如何在脱敏数据中使用Bert等预训练模型


一、基础架构

基础架构为Transformer的Encoder:
具体解释可参考简单易懂的Transformer学习笔记_十七季的博客-CSDN博客

Base bert -12层Encoder堆叠。
 

其中位置编码部分与Trm的positional encoding不同,具体在下面进行解释。

二、输入部分

Input=token \space emb +segment \space emb+position \space emb

CLS向量不能代表整个句子的语义信息

区分句子:上图中第一个句子E_A=0, 第二个句子E_B=1

位置信息:TRM正余弦;Bert随机初始化,模型自学习

三、预训练:MLM+NSP

3.1 MLM:掩码语言模型

没有标签,无监督。

AR:自回归模型,只能考虑单侧信息;GPT
AE:自编码模型,从损坏的输入数据中预测重建原始数据,可以使用上下文信息;Bert

Eg:

3.1.1 mask模型缺点
 

认为两个mask之间是独立的(但实际未必独立)

3.1.2 mask的概率问题
 

3.1.3 mask代码实践

3.2 NSP

NSP样本如下:

  1. 从训练语料库中取出两个连续的段落作为正样本

  2. 从不同的文档中随机创建一对段落作为负样本

缺点:

主题预测(是否属于同一个文档)和连贯性预测合并为一个单项任务

四、如何微调Bert

对输出Softmax

五、如何提升BERT下游任务表现

5.1 一般做法

1.获取谷歌中文Bert

2.基于任务数据进行微调

以微博文本情感分析为例:

  1. 在大量通用语料上训练一个LM(Pretrain);——中文谷歌BERT

  2. 在相同领域上继续训练LM(Domain transfer);——在大量微博文本上继续训练这个BERT

  3. 在任务相关的小数据上继续训训练LM(Task transfer); ——在微博情感文本上(有的文本不属于情感分析的范畴)

  4. 在任务相关数据上做具体任务(Fine-tune)。-

先Domain transfer再进行Task transfer最后Fine-tune性能是最好的

5.2 如何在相同领域数据中进行further pre-training

  1. 动态mask: 每次epoch去训练的时候mask,而不是一直使用同一个。

  2. n-gram mask: 比如ERNIE和SpanBerti都是类似于做了实体词的mask

5.3 参数设置Trick

Batch size:16,32——影响不太大
earning rate(Adam):5e^{-5},3e^{-5},2e^{-5}——尽可能小一点避免灾难性遗忘
Number of epochs:3,4
Weighted decay修改后的adam,使用warmup, 搭配线性衰减

数据增强/自蒸馏/外部知识的融入

六、如何在脱敏数据中使用Bert等预训练模型

对于脱敏语料使用BERT,一般可以分为两种:

  1. 直接从零开始基于语料训练一个新的BERT出来使用;

  2. 按照词频,把脱敏数字对照到中文或者其他语言【假如我们使用中文】,使用 中文BERT做初始化,然后基于新的中文语料训练BERT。

参考资料
BERT从零详细解读,看不懂来打我_哔哩哔哩_bilibili

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

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

相关文章

037、目标检测-算法速览

之——常用算法速览 目录 之——常用算法速览 杂谈 正文 1.区域卷积神经网络 - R-CNN 2.单发多框检测SSD,single shot detection 3.yolo 杂谈 快速过一下目标检测的各类算法。 正文 1.区域卷积神经网络 - R-CNN region_based CNN,奠基性的工作。…

[C++历练之路]vector的介绍以及底层模拟实现

W...Y的主页 😊 代码仓库分享 💕 🍔前言: 我们学习了STL中的string以及其所有重要接口并进行了模拟实现,但是STL中包含的内容不止于此。学习了string之后继续学习STL中的vector,学习成本会大大降低&#…

CentOS7 安装mysql8(离线安装)postgresql14(在线安装)

注:linux系统为vmware虚拟机,和真实工作环境可能有出入,不过正因如此我暴露了NAT转出的IP也没什么大碍 引言 postgresql与mysql目前都是非常受人欢迎的两大数据库,其各有各的优势,初学者先使用简单一张图来说明两者区…

【算法挨揍日记】day31——673. 最长递增子序列的个数、646. 最长数对链

673. 最长递增子序列的个数 673. 最长递增子序列的个数 题目解析: 给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 解题思路: 算法思路: 1. 状态表⽰: 先尝试…

取数游戏2(动态规划java)

取数游戏2 题目描述 给定两个长度为n的整数列A和B,每次你可以从A数列的左端或右端取走一个数。假设第i次取走的数为ax,则第i次取走的数的价值vibi⋅ax,现在希望你求出∑vi的最大值。 输入格式 第一行一个数T ,表示有T 组数据。…

【算法挨揍日记】day27——152. 乘积最大子数组、1567. 乘积为正数的最长子数组长度

152. 乘积最大子数组 152. 乘积最大子数组 题目描述: 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整…

【狂神说Java】Docker概述 | Docker安装 | Docker的常用命令

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :【狂神说Java】 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台&#xff0c…

PS学习笔记——视图调整

文章目录 图片拖动图片旋转图片缩放 视图只是我们在对图片进行操作时所看到的图片状态,并不会实际改变图片的属性。目的是方便我们在操作图片时有最舒服的体验 图片拖动 工具栏中有这样一个抓手工具(快捷键H),选择这个抓手工具便可以在图片放大后能用鼠标…

2023年四川省安全员A证证模拟考试题库及四川省安全员A证理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年四川省安全员A证证模拟考试题库及四川省安全员A证理论考试试题是由安全生产模拟考试一点通提供,四川省安全员A证证模拟考试题库是根据四川省安全员A证最新版教材,四川省安全员A证大纲整理…

BGP联盟和团体属性实验

目录 一、实验拓扑 二、实验要求 三、实验步骤 1、IP地址配置 2、ospf配置 3、BGP建邻 4、宣告网段 5、配置团体属性 一、实验拓扑 二、实验要求 1、按照图示配 IP 地址,R2,R3,R4,R5分别配 Loopbacke 口地址作为OSPF的Ro…

系列六、GC垃圾回收【四大垃圾算法-标记清除算法】

一、概述 标记清除算法分为两个阶段,即:标记和清除两个阶段,先标记出要回收的对象,然后统一回收这些对象。形如: 老年代一般是由标记清除或者标记清除 标记压缩的混合实现。 二、原理 用通俗的话解释一下标记清除算法…

深入解析:开发抖音酒店景区小程序的技术

抖音作为社交媒体平台的佼佼者,其独特的风格和用户基础吸引了无数开发者的目光。在本文中,我们将深入解析开发抖音酒店景区小程序的关键技术,为开发者提供实用指南。 1.抖音风格设计 在开发酒店景区小程序时,首先要注重界面设计…

Leetcode—剑指Offer LCR 140.训练计划II【简单】

2023每日刷题(三十三) Leetcode—LCR 140.训练计划II 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* trainingPlan(struct ListNode* head, int cnt) {str…

C/C++ 获取主机网卡MAC地址

MAC地址(Media Access Control address),又称为物理地址或硬件地址,是网络适配器(网卡)在制造时被分配的全球唯一的48位地址。这个地址是数据链路层(OSI模型的第二层)的一部分&#…

《向量数据库指南》——什么是 向量数据库Milvus Cloud的Range Search?

Range Search 功能诞生于社区。 某天,一位做系统推荐的用户在社区提出了需求,希望 Milvus Cloud 能提供一个新功能,可以返回向量距离在一定范围之内的结果。而这不是个例,开发者在做相似性查询时,经常需要对结果做二次过滤。 为了帮助用户解决这一问题,Milvus Cl…

STL的介绍

STL 是 C 标准模板库(Standard Template Library)的缩写,是 C 标准库中的一个重要组成部分。STL 提供了一组通用的模板类和函数,用于实现常用的数据结构和算法,如向量(vector)、链表&#xff08…

科大讯飞会议笔记本、GoodNotes、E人E本 功能及体验对比

科大讯飞会议笔记本、GoodNotes、E人E本功能及体验对比 【旧文档,怕失传】 通过对科大讯飞会议笔记本、基于iPad的GoodNotes以及E人E本的各项功能指标进行了实际对比,得出了以下结果: 在实际体验中,科大讯飞笔记本在录音方面表…

酷柚易汛ERP - 盘点操作指南

1、应用场景 盘点功能是定期或临期对库存货物进行清点,使账面记录与实际库存相符合,从而随时掌握货物盈亏状态。 2、主要操作 2.1 盘点商品查询 打开【仓库】-【盘点】新增盘点单,筛选需要盘点的日期范围、库存及相应商品 2.2 录入盘点数…

【算法挨揍日记】day30——300. 最长递增子序列、376. 摆动序列

300. 最长递增子序列 300. 最长递增子序列 题目解析: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#…

文件隐藏 [极客大挑战 2019]Secret File1

打开题目 查看源代码发现有一个可疑的php 访问一下看看 点一下secret 得到如下页面 响应时间太短我们根本看不清什么东西,那我们尝试bp抓包一下看看 提示有个secr3t.php 访问一下 得到 我们看见了flag.php 访问一下可是什么都没有 那我们就进行代码审计 $file$_…