Transformer-Bert---散装知识点---mlm,nsp

news2024/11/24 15:27:06

        本文记录的是笔者在了解了transformer结构后嗑bert中记录的一些散装知识点,有时间就会整理收录,希望最后能把transformer一个系列都完整的更新进去。

1.自监督学习
        bert与原始的transformer不同,bert是使用大量无标签的数据进行预训练,下游则使用少量的标注数据进行微调。预训练使用的就是自监督学习。
        自监督学习直白来说就是对原始数据添加辅助任务来使得数据能够根据自身生成标签。

举几个简单的例子来解释一下常见的自监督学习:(ps:插一嘴,bert使用的是mlm,会在最后的例子中解释)

1.1图像类:

1.1.1填充:

将图片扣掉一块,让模型进行填充。
输入:扣掉一块的图片
输出:填充部分
标签:原图扣掉的部分

1.1.2拼图

选取图片中的一部分图片A以及其相邻的某一部分图片B作为输入,预测图B于图A的相对位置。
输入: (A图) +  (B图)
输出:1-8之间的整数,代表图B相对于图A的位置
标签5(对应原图中数字5的部分)
这类辅助任务就旨在训练模型对于局部特征分布位置的识别能力。

1.2 文本类

1.2.1 完形填空
简单的来说就是在原始数据中扣掉一个或多个单词,让模型进行补充。

原始数据:All the world's a stage, and all the men and women merely players.
输入:All the world's a stage, and all the __ and women merely players.
输出:预测的单词     
标签:men

1.2.2 Masked Language Model (MLM)(划重点拉)
MLM模型会随机的选择需要掩盖的单词(大概15%)(主要用于让模型习得语义语法)
ps:由于是随机的一般我们都会指定一个参数max_pred用来表示一个句子最多被掩盖单词的数量

原始数据:All the world's a stage, and all the men and women merely players.
输入:All the world's a stage, and all the MASK and MASK merely players.
输出:预测的单词     
标签:men, women

为了更好的适应下游任务,bert的作者对与MLM的规则进行了一定的微调。
被替换的单词:men :    MASK-------------------80%
                                         apple(随机单词)------10%
                                         men(保持不变--)------10%
依然还是对标注为MASK的单词进行预测。
下面是论文原文对于这段的描述附上中英文对照

        为了训练一个深度双向表示,我们简单地随机遮盖输入标记的一定比例,然后预测这些被遮盖的标记。我们称这个过程为“遮盖语言建模”(Masked Language Modeling,MLM),尽管文献中通常称之为Cloze任务(Taylor, 1953)。在这种情况下,对应于遮盖标记的最终隐藏向量被馈送到一个标准语言模型中的词汇表上的输出softmax层。在所有实验中,我们随机遮盖每个序列中所有WordPiece标记的15%。与去噪自编码器(Vincent et al., 2008)不同,我们仅预测遮盖的单词,而不是重构整个输入。

        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. We refer to this procedure as a “masked LM” (MLM), although it is often referred to as a Cloze task in the literature (Taylor, 1953). In this case, the final hidden vectors corresponding to the mask tokens are fed into an output softmax over the vocabulary, as in a standard LM. In all of our experiments, we mask 15% of all WordPiece tokens in each sequence at random. In contrast to denoising auto-encoders (Vincent et al., 2008), we only predict the masked words rather than reconstructing the entire input.
        尽管这使我们能够获得一个双向预训练模型,但其缺点是在预训练和微调之间创建了不匹配,因为在微调过程中不存在[MASK]标记。为了减轻这一问题,我们并不总是用实际的[MASK]标记替换“遮盖”的单词。训练数据生成器随机选择15%的标记位置进行预测。如果选择第i个标记,则有80%的概率将第i个标记替换为[MASK]标记,10%的概率将其替换为随机标记,以及10%的概率保持不变。然后,使用交叉熵损失来预测原始标记。我们在附录C.2中比较了这一过程的变化。

        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. To mitigate this, we do not always replace “masked” words with the actual [MASK] token. The training data generator chooses 15% of the token positions at random for prediction. If the i-th token is chosen, we replace the i-th token with (1) the [MASK] token 80% of the time (2) a random token 10% of the time (3) the unchanged i-th token 10% of the time. Then, T i will be used to predict the original token with cross entropy loss. We compare variations of this procedure in Appendix C.2.


2.NSP任务

Bert中的NSP实质上就是一个二分类任务。
主要就是预测句子2是否是句子1的下一句,其中句子2有50%是真,50%是从句库中随机挑选的句子。目的就是为了让模型学习到句子之间的关系。
输入:句子1  'esp'  句子2
ps:esp是词向量层中的特殊符号,表示一句话的结束,也常用来分割句子
输出:0或1
标签:0或1

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

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

相关文章

Spring 整合MongoDB xml解析

beans引用 xmlns:mongo"http://www.springframework.org/schema/data/mongo"xsi:schemaLocation"http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd " 具体…

学习使用Sklearn【LDA】线性判别分析,对iris数据分类!

数据集、代码均来自kaggle。地址:https://www.kaggle.com/datasets/himanshunakrani/iris-dataset?resourcedownload 🚀 揭示线性分类器的力量:线性判别分析的探索 欢迎来到线性分类器的世界和线性判别分析(LDA)的迷人领域!🌟在本笔记本中…

在服务器调用api操作rabbitmq

不同的rabbitmq版本可能api不同,仅做参考,RabbitMQ 3.7.18。同时,我基本没看官方api文档,根据rabbitmq客户端控制台调用接口参数来决定需要什么参数。例如: 1、添加用户 curl -u 用户名:密码 -H “Content-Type: a…

[亲测可用]俄罗斯方块H5-网页小游戏源码-HTML源码

本站的HTML模板资源:所见文章图片即所得,搭建和修改教程请看这篇文章:https://yizhi2024.top/8017.html

Maven 的模块化开发示例

Maven 的模块化开发是一种非常有效的软件开发方式,它允许你将一个大型的项目分割成多个更小、更易于管理的模块(modules)。每个模块都可以独立地构建、测试和运行,这不仅提高了开发效率,也便于团队协作和项目的维护。以…

华为云.云日志服务LTS及其基本使用

云计算 云日志服务LTS及其基本使用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…

如何给7Z分卷文件设置密码?简单几步给文件加上安全锁

在压缩7Z文件的时候,如果文件比较大,很多小伙伴都会把文件压缩成7Z分卷文件,那想要保护7Z分卷文件,要如何设置密码呢?不清楚的小伙伴,一起来看看吧! 我们可以使用7-Zip解压缩文件,在…

安全的备忘录工具有哪些 安全好用的备忘录

在这个数字化的时代,我们的生活中充斥着各种各样的信息,从工作计划到个人琐事,从账号密码到重要日期,这些信息都需要我们牢记。然而,人的记忆毕竟有限,于是,备忘录工具成为了我们日常生活中不可…

easyExcel和poi的版本对应

easypoi3.0.5对应的poi版本_easypoi和poi版本对应-CSDN博客 https://github.com/alibaba/easyexcel/blob/v3.2.0/pom.xml 解决 java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader 报错-CSDN博客 参考这个文档解决的- 引入最佳版本是3.15版本 java.lang.NoClas…

将Excel或CSV文件导入MySQL

数据库信息 版本:mysql-5.7.22 字符集如下 一、将 Excel 文件导入 MySQL,此时 MySQL 中不存在该表。 在数据库中,右键-导入向导

windows下mysql开启慢sql监控

上代码 #开启慢sql监控 SET GLOBAL slow_query_log ON; #设置慢sql日志存储路径 示例 SET GLOBAL slow_query_log_file D:\\javaTools\\mysql-8.0.32-winx64\\mysql-8.0.32-winx64\\slowSql\\slowSql.log; #超时时间 SET GLOBAL long_query_time 10; #查看是否开启慢查询 …

RabbitMQ的学习和模拟实现|GTest测试框架的介绍和简单使用

GTest 项目仓库:https://github.com/ffengc/HareMQ GTest GTest是什么我们需要学习的GTest功能宏断言事件机制 全局测试套件独立测试套件 GTest是什么 GTest是一个跨平台的 C单元测试框架,由google公司发布。gtest是为了在不同平台上为编写C单元测…

数学建模学习(112):FAHP模糊层次分析法

文章目录 一、FAHP方法由来二、模糊层次分析法原理2.1 AHP缺陷2.2 模糊集理论2.3 模糊层次分析法(FAHP)三、模糊层次分析法步骤3.1 问题定义与层次结构建立3.2 构造模糊判断矩阵3.2.1 计算模糊判断矩阵的列和向量3.2.2 计算模糊综合向量3.2.3 计算模糊权重向量3.3 解模糊数3.…

【Python】NumPy简要教程

文章目录 一、简介二、 ndarray 对象三、矩阵拼接四、数值运算4.1 数值选取4.2 单个数组的运算4.21 NumPy定义的常量4.22 单数组运算 4.3 数组之间的运算4.31 常见运算🟢4.32 广播机制:Broadcasting 五、数值类型、类型转换六、文件I/O 一、简介 NumPy …

56 网络层

本节重点 理解网络层的作用,深入理解IP协议的基本原理 对整个TCP/IP协议有系统的理解 对TCP/IP协议体系下的其他重要协议和技术有一定的了解 目录 前置认识ip协议基本概念协议头格式网段划分特殊的ip地址ip地址的数量限制私有ip和公有ip路由路由表生成算法 在复杂…

2024全网最全面及最新且最为详细的网络安全技巧 七之 XSS漏洞典例分析EXP以及 如何防御和修复(2)———— 作者:LJS

目录 8.5 Exploiting XSS with 20 characters limitation(蓝色为翻译)​编辑 Unicode compatibility 20 length limitation problem Taking advantage Next steps 8.6 Intigriti XSS 系列挑战 Writeups 8.6.1 xss challenge 1220 题目概述 思路分析 POC a.有交互 b.无交互 …

Ubuntu22.04安装与卸载nginx

换源 如果是国内的就不用换 中科大的源,由于我这里是Ubuntu,所以我就直接选Ubuntu22.04就行 点击下载,或者你直接复制这个sources.list的内容到linux中的/etc/apt/sources.list也可以,把原来的sources.list备份一下,…

python+pyqt开发海康相机数据采集系统

pythonpyqt开发海康相机数据采集系统 pythonpyqt开发海康相机数据采集系统 1 开发软件功能: 支持搜索相机:Gige相机设备和USB相机设备支持两种触发模式:软件触发和编码器触发支持数据采集过程中图像实时保存支持参数调节和实时预览&#xff…

安装好anaconda,打开jupyter notebook,新建 报500错

解决办法: 打开anaconda prompt 输入 jupyter --version 重新进入jupyter notebook: 可以成功进入进行代码编辑

批量打断相交线——ArcGISpro 解决方法

在数据处理,特别是地理空间数据处理或是任何涉及图形和线条分析的场景中,有时候需要把相交的线全部从交点打断一个常见的需求。这个过程对于后续的分析、编辑、或是可视化展现都至关重要,因为它可以确保每条线都是独立的,避免了因…