BERT预训练模型学习笔记

news2025/7/13 12:04:07

1.Transforme

1.1 要做一件什么事

  • 基本组成依旧是机器翻译模型中常见的Seq2Seq网络
  • 输入输出都很直观,其核心架构就是中间的网络设计了
  • MxN,输入M,输出N

1.2 传统的RNN网络有什么问题

在这里插入图片描述

  • 传统RNN是一个时序模型,下一个RNN的输入依靠上一个RNN的输出,不能做到并行计算
  • 由于不能并行计算,到时无法在工业级进行大规模数据处理使用

1.3 Self-Attention机制

  • Self-Attention机制来进行并行计算,在输入和输出都相同

  • 输出结果是同时被计算出来的,现在基本已经取代RNN了

  • 在这里插入图片描述

  • 传统的word2vec表示向量时有什么问题? 预训练好的向量就永久不变了

  • 不同语境中相同的词如何表达?

对于输入的数据,你的关注点是什么?如何才能让计算机关注到这些有价值的信息?对于一句话,在不同的语境中所关注的地方也不一样,例如这两句话中的it:

在这里插入图片描述

1.4 self-attention如何计算?

  1. 输入经过编码后得到向量

  2. 想得到当前词语上下文的关系,可以当作是是加权

  3. 构建三个矩阵分别来查询当前词跟其他词的关系,以及特征向量的表达。

    在这里插入图片描述

    三个需要训练的矩阵:Q: query,要去查询的;K: key,等着被查的;V: value,实际的特征信息

    在这里插入图片描述

    q与k的内积表示有多匹配;输入两个向量得到一个分值;K: key,等着被查的;V: value,实际的特征信息

    在这里插入图片描述

    每个词的Attention计算,每个词的Q会跟整个序列中每一个K计算得分,然后基于得分再分配特征

    在这里插入图片描述

    Attention整体计算流程:

    • 每个词的Q会跟每一个K计算得分
    • Softmax后就得到整个加权结果
    • 此时每个词看的不只是它前面的序列而是整个输入序列
    • 同一时间计算出所有词的表示结果

1.5 multi-headed机制

一组q,k,v得到了一组当前词的特征表达;通过不同的head得到多个特征表达;将所有特征拼接在一起;可以通过再一层全连接来降维

在这里插入图片描述

堆叠多层,计算方法都是相同的

在self-attention中每个词都会考虑整个序列的加权,所以其出现位置并不会对结果产生什么影响,相当于放哪都无所谓,但是这跟实际就有些不符合了,我们希望模型能对位置有额外的认识。

  1. 加入归一化Normalize 2. 连接:基本的残差连接方式

2.BERT

BERT(Bidirectional Encoder Representations from Transformers),说白了就是transformer的encoder部分,并不需要标签,有预料就能训练了

2.1 如何训练BERT

方法1:句子中有15%的词汇被随机mask掉

交给模型去预测被mask的家伙到底是什么

词语的可能性太多了,中文一般是字

如果BERT训练的向量好,那分类自然OK

在这里插入图片描述

方法2:预测两个句子是否应该连在一起

[seq]:两个句子之前的连接符,[cls]:表示要做分类的向量

在这里插入图片描述

2.2 如何使用BERT

  • github已经开源,直接使用训练好了的模型就行
  • 所需的任务融入BERT中即可,它俩一起训练的!
  • 端到端的输入输出方式,直接套用深度学习模型关注输入输出

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

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

相关文章

野火FPGA入门(4):时序逻辑电路

文章目录第11讲:寄存器第12讲:阻塞赋值与非阻塞赋值第13讲:计数器第14讲:分频器:偶分频第15讲:分频器:奇分频第16讲:按键消抖组合逻辑存在竞争冒险 第11讲:寄存器 寄存…

【Debug】关于 nginx 上传文件时出现 413 及 500 错误码解决方法

先简单介绍一下 Nginx…   Nginx 作为一个高性能的 HTTP 和 反向代理 web 服务器具有占用内存少, 并发能力强等特点,可以说 Nginx 专为性能和效率而生, 如 tomcat 的并发量大约在 100 多, 而 Nginx 的并发量可以达到 5 万之多;   Nginx 的主要作用还是反向代理, 实现负载均衡…

什么是扩散模型(Diffusion Model)?

扩散模型是什么?如何工作以及他如何解决实际的问题 在计算机视觉中,生成模型是一类能够生成合成图像的模型(文本生成图像【DALL2、Stable Diffusion】、图像生成图像【Diffusion-GAN】)。例如,一个被训练来生成人脸的…

2023年天津市大学软件学院高职升本科联合招生专业考试大纲

天津市大学软件学院 2023年“高职升本科”联合招生专业考试大纲一、考试性质 天津市大学软件学院“高职升本科”联合招生专业考试是由合格的高职高专毕业生参加的选拔性考试。高等院校根据考生的成绩,按照已确定的招生计划,德、智、体全面衡量&#xff0…

MATLAB if...else...end 语句

在MATLAB的 if...else...end 语句中&#xff0c;if 语句后面可以跟一个可选择的 else 语句&#xff0c;当执行的表达式为假的时候&#xff0c;执行 else 语句。 if...else...end 语句语法&#xff1a; MATLAB 中一个 if ... else 语句的语法示例&#xff1a; if <expressio…

【python】一篇玩转正则表达式

目录 前言 正则表达式 行定位符 1.^ 2.$ 元字符 常见的元字符 限定符 常用的限定符 字符类 排除字符 选择字符 转义字符 &#xff08;&#xff09; python使用正则表达式 匹配字符串 match() search() findall() sub() 替换敏感字符 split() 前言 正则表…

柯桥托业TOEIC考试和PETS哪个含金量高?

说到对职场有益的证书&#xff0c;无外乎托业和BEC证书。但还有一种面向社会人士的考试&#xff0c;也有很多小伙伴很感兴趣。那就是PETS考试。 很多小伙伴也很好奇托业和PETS的区别&#xff0c;今天来给大家科普下喽。 TOEIC-托业考试 托业考试由美国教育考试服务中心(ETS)开…

LaTeX使用(公式,表格,图片,中文字符)

是一种基于ΤΕΧ的排版系统&#xff0c;由美国计算机学家莱斯利兰伯特&#xff08;Leslie Lamport&#xff09;在20世纪80年代初期开发&#xff0c;利用这种格式&#xff0c;即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能&#xff0c;能在几天、甚至…

HTML小游戏8 —— 小霸王游戏机网页版(附完整源码)

&#x1f482; 网站推荐:【神级源码资源网】【摸鱼小游戏】&#x1f91f; 风趣幽默的前端学习课程&#xff1a;&#x1f449;28个案例趣学前端&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计算机相关知…

RabbitMQ-04 Hello,World

首先我们还是先看一下Rabbitmq的工作原理图 从图上我们可以看到&#xff0c;无论是生产者还是消费者我们都需要进行connection并且获取相应的channel&#xff0c;所以为了方便&#xff0c;建议把这部分操作抽取成一个工具类RabbitMqUtils。 工具类RabbitMqUtils public class…

【C++笔试强训】第二十五天

&#x1f387;C笔试强训 博客主页&#xff1a;一起去看日落吗分享博主的C刷题日常&#xff0c;大家一起学习博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a;夜色难免微凉&#xff0c;前方必有曙光 &#x1f31e;。 &#x1f4a6;&a…

S7-1200通过MODBUS转PROFINET网关控制英威腾GD200A变频器的具体方法示例

S7-1200通过MODBUS转PROFINET网关控制英威腾GD200A变频器的具体方法示例 需要的设备: 西门子S7-1200PLC一台 MODBUS转PROFINET网关一台 英威腾GD200A变频器一台 具体配置方法: 1、 如下图所示,打开博途软件,新建项目并添加网关的gsd文件; 2、 如下图所示,建立profinet连…

Gradle介绍1-入门和IDEA整合(Gradle Wrapper)

1. Gradle 入门 1.1、Gradle 简介 Gradle 是一款Google 推出的基于 JVM、 通用灵活的项目构建工具&#xff0c; 支持 Maven&#xff0c;JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件&#xff0c;转而使用简洁的、支持多种语言(例如&#xff1a;java、gr…

前端—微信小程序开发

随着微信的普及和微小程序的广泛应用&#xff0c;微信小程序开发越来越多受到人们的关注&#xff0c;正在成为新工科和人工智能背景下当代大学生的必备技能。 适应对象 该课程适合电子信息类专业学生进行学习。 微信小程序开发课程共六章&#xff0c;通过对微信小程序开发的…

Java继承

一、知识点 继承是Java面向对象编程的一块基石&#xff0c;因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。 如果类A是类B的父类&#xff0c;而类B是类C的父类&#xff0c;我们也称C是A的子类&#xff0c;类C是从类A继承而来的。在Java中&a…

理解case when then else end 的使用,基础概念,建表语句,用例讲解

文章目录一、基础概念二、建表语句三、用例讲解参考文档一、基础概念 case &#xff1a;表示需要处理的字段when &#xff1a;表示条件then &#xff1a;表示当when执行为true时&#xff0c;再执行的语句else &#xff1a;表示当所有的when执行为false时&#xff0c;再执行的语…

Go分布式缓存 一致性哈希(hash)(day4)

Go分布式缓存 一致性哈希(hash)(day4) 1 为什么使用一致性哈希 今天我们要实现的是一致性哈希算法&#xff0c;一致性哈希算法是 GeeCache 从单节点走向分布式节点的一个重要的环节。那你可能要问了&#xff0c; 童鞋&#xff0c;一致性哈希算法是啥&#xff1f;为什么要使用…

基于几何约束的传动机构设计

本文介绍如何使用参数化 CAD 软件中几何约束的强大功能来加速机构的开发。 许多 CAD 程序提供了用于分析和改进机制的工具。但是&#xff0c;这些假设你已经有了初始设计。合成机构的经典图形方法提供了确定连杆长度和关节位置以产生特定运动的方法。 这些方法可以使用参数化…

工作这么久了,还不懂多线程吗?

浩哥Java多线程整理学习系列之01 基础知识整理 浩哥Java多线程整理学习系列之01基础知识整理1. 如何查看电脑核数及线程数Linux查询CPU核心数2. 线程和进程、协程之间的区别3. 时间片轮转&#xff08;RR&#xff09;调度算法4. 并行和并发的区别5. 系统限制线程数6. 并发的优缺…

[go学习笔记.第十四章.协程和管道] 1.协程的引入,调度模型以及运行cpu数目,协程资源竞争问题

1.先看一个需求 需求&#xff1a; 要求统计 1~9000000000 的数字中&#xff0c;哪些是素数&#xff1f; 分析思路&#xff1a; (1).传统的方法&#xff0c;就是使用一个循环&#xff0c;循环的判断各个数是不是素数.(很慢) (2).使用并发或者并行的方式&#xff0c;将统计素数的…