BERT: 面向语言理解的深度双向Transformer预训练

参考视频:

 BERT 论文逐段精读【论文精读】_哔哩哔哩_bilibili

背景

BERT算是NLP里程碑式工作!让语言模型预训练出圈!

使用预训练模型做特征表示的时候一般有两类策略:

1. 基于特征 feature based (Elmo)把学到的特征和输入一起放进去做一个很好的特征表达

2. 基于微调 fine-tuning (GPT) 

但是都用的是单向语言模型↑ 预测模型,所以限制了语言架构,比如说只能从左往右读

 Masked Language Model

为了接触限制,BERT用的是一个带掩码的语言模型(MLM)(Masked Language Model),随机选字元,盖住,预测盖住的字

看多模态模型的时候有提到过!↑

 next sentence prediction

在原文中随机取两个句子,让模型判断句子是否相邻

贡献

1. 说明双向信息的重要性

 2.假设有比较好的预训练模型就不用对特定任务做特定的模型改动了

主要就是把前人的结果拓展到深的双向的模型架构上

相关工作

1. Unsupervised Feature-based Approches

2. Unsupervised Fine-tuning Approaches(GPT)

3. 在有标号的数据上进行迁移学习 (Transfer Learning from Supervised Data)

方法

模型

本篇工作调整了L:Transformer模块的个数,H:隐藏层的个数以及A:自注意力头的个数

BERT Base(L=12, H=768, A=12)

BERT Large(L=24, H=1024, A=16)

如何把超参数换算成可学习参数的大小?

可学习参数主要来自嵌入层以及Transformer Block

嵌入层

输入:字典的大小

Transformer Block(自注意力,MLP)

自注意力头个数A x 64 

Transformer Block 的可学习参数是H^2 *4 (自注意力)

MLP H^2 *8

此处合起来Transformer的参数是(H^2 *12)*L

输出:隐藏单元的个数H

总参数(36K * H + L*H*12)=110M

输入和输出

输入:

序列(sequence):既可以是句子,也可是句子对

切词方法: WordPiece,节省参数

序列的第一个词永远是序列[CLS],因为bert希望它最后输出代表整个序列的一个信息

把两个句子合在一起的时候需要区分两个句子:

1)把每个句子后面放上特殊的词[SEP]

2) 学一个嵌入层

对每个词元进入BERT的向量表示,是词元本身的embedding,加句子embedding加position embedding

缺点:

与GPT(Improving Language Understanding by Generative Pre-Training)比,BERT用的是编码器,GPT用的是解码器。BERT做机器翻译、文本的摘要(生成类的任务)不好做。

写的不算全,后面看到后面补。

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

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

相关文章

SQLAlchemy关联表删除策略设置

目录 SQLAlchemy关联表 常用的级联选项 外键 SQLAlchemy关联表 SQLAlchemy 是一个 Python 的 ORM(对象关系映射)库,它允许你在 Python 中使用类来表示数据库中的表,从而更方便地进行数据库操作。在 SQLAlchemy 中,可…

idea没有maven工具栏解决方法

背景:接手的一些旧项目,有pom文件,但是用idea打开的时候,没有认为是maven文件,所以没有maven工具栏,不能进行重新加载pom文件中的依赖。 解决方法:选中pom.xml文件,右键 选择添加为…

【CloudComapre】Ubuntu 20.04 下从源码编译后无法导入pcd文件

文章目录 原因解决方法 原因 我直接执行build/qCC/CloudCompare,是无法导入pcd文件的,会弹窗提示: [Load] Cant guess file format: unhandled file extension XXX这是由于没有安装软件,也就是说我们二次开发时必须要安装到系统…

【lesson11】环境变量

文章目录 环境变量的认识main函数参数问题 环境变量的认识 我们知道我们运行自己写的可执行程序的时候,我们必须带路径才能运行,可是执行系统指令的时候不用路径就能运行。 演示: 问题:系统命令可以直接运行,自己写…

作为一名独立开发者,如何获取客户?

很多程序员想成为一名独立开发者,从事自由职业,最大的困难在于如何赚钱,进一步来说,就是如何找到自己的客户,有很多开发者拥有丰富的经验,优秀的能力,但无法吸引客户。这篇文章的灵感正是为此而…

[密码学入门]仿射密码(Affine)

加密算法y(axb)mod N 解密算法x*(y-b)mod N(此处的为a关于N的乘法逆元,不是幂的概念) 如何求,涉及的知识挺多,还没想好怎么写,丢番图方程,贝祖定理(又译裴蜀定理),扩展欧…

【kafka实战】01 3分钟在Linux上安装kafka

本节采用docker安装Kafka。采用的是bitnami的镜像。Bitnami是一个提供各种流行应用的Docker镜像和软件包的公司。采用docker的方式3分钟就可以把我们想安装的程序运行起来,不得不说真的很方便啊,好了,开搞。使用前提:Linux虚拟机&…

使用Python接口自动化测试post请求和get请求,获取请求返回值

引言 我们在做python接口自动化测试时,接口的请求方法有get,post等;get和post请求传参,和获取接口响应数据的方法; 请求接口为Post时,传参方法 我们在使用python中requests库做接口测试时,在做post接口测试…

软件安全测试详细总结

摘要 安全性测试从冷门的话题,随着国内各大知名网站频繁被攻击,重要社区用户信息被泄露,逐步被各方所重视。而具体怎么做软件安全性测试,防止骇客有机可乘,国内普遍处于才起步的状态。今天笔者就自己的经验&#xff0…

大咖共探AGI时代机遇,腾讯云助力大模型规模化应用提速

引言 2023 年,科技圈的“顶流”莫过于大模型。自 ChatGPT 的问世拉开大模型与生成式 AI 产业的发展序幕后,国内大模型快速跟进,已完成从技术到产品、再到商业的阶段跨越,并深入垂直行业领域。 新技术的爆发,催生新的应…

网络安全内网渗透之DNS隧道实验--dnscat2直连模式

目录 一、DNS隧道攻击原理 二、DNS隧道工具 (一)安装dnscat2服务端 (二)启动服务器端 (三)在目标机器上安装客户端 (四)反弹shell 一、DNS隧道攻击原理 在进行DNS查询时&#x…

【Linux is not Unix】Linux前言

目录 二战军工的产物——第一台现代电子数字计算机ENIAC(埃尼阿克) Unix Linux Linux企业应用现状 如今计算机已经应用在我们生活的各个层面,像我们日常使用的笔记本是计算机的一类,可以解决我们生活中遇到的很多问题&#xff…

竞赛 基于视觉的身份证识别系统

0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于机器视觉的身份证识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-sen…

根据文章段落内容自动插入图片php版

每篇内容根据段落判断插入图片代码附上&#xff1a; $chatd"<table>";if(stripos($content,$chatd)0){//随机输出三张图功能if($moduleid!37 &&$thumb){//判断是否存在图$idrand(1,999999);$midrand(1,9999999);$getimg"http://www.nongpin88.co…

c语言练习66:模拟实现offsetof

模拟实现offsetof #define offsetof(StructType, MemberName) (size_t)&(((StructType *)0)->MemberName) StructType是结构体类型名&#xff0c;MemberName是成员名。具体操作方法是&#xff1a; 1、先将0转换为一个结构体类型的指针&#xff0c;相当于某个结构体的首…

【Unity】LODGroup 计算公式

Unity 在配置 LodGroup 时&#xff0c;其分级切换的计算方法是按照物体在相机视野中占据的比例计算的。在运行时&#xff0c;如果相机视野范围&#xff08;Field of View&#xff09;没有改变&#xff0c;那么这个值可以直接换算成物体距离相机的距离。这里就讨论下如何计算得到…

线性表(1)

线性表即“把所有数据按照顺序&#xff08;线性&#xff09;的存储结构方式&#xff0c;存储在物理空间”。 线性表又分为 顺序表链表 单向链表双向链表 一、顺序表 数据依次存储在连续的物理空间中&#xff0c;就比如数组。 顺序表存储数据时&#xff0c;会提前申请一整块足够…

树莓派上使用kettle将文本文档导入mariadb

目录 1 连接MariaDB的前置条件 2 test.txt 3 在mariadb中创建数据库和数据表 4 在kettle中的操作 4.1 新建任务 4.2 连接数据库 4.3 文本文件输入 4.4 表输出 4.5 运行 4.6 结果 1 连接MariaDB的前置条件 首先你的mariaDB要有密码&#xff0c;我当前的用…

MQ - 32 基础功能:消息查询的设计

文章目录 导图概述什么时候会用到消息查询消息队列支持查询的理论基础消息数据存储结构关于索引的一些知识点内核支持简单查询根据 Offset 查询数据根据时间戳查询数据根据消息 ID 查询数据借助第三方工具实现复杂查询第三方引擎支持查询工具化简单查询总结导图 概述 从功能上…

智慧农业系统源码 智慧农业小程序源码

智慧农业系统源码 智慧农业小程序源码 一&#xff1a;智慧农业功能 1、有效改善农业生态环境 将农田、畜牧养殖场、水产养殖基地等生产单位和周边的生态环境视为整体,并通过对其物质交换和能量循环关系进行系 统、精密运算,保障农业生产的生态环境在可承受范围内,如定量施肥不…