深度学习:bert框架

bert框架的介绍

BERT是一个基于Transformer的双向编码器表示模型,它通过预训练学习到了丰富的语言表示,并可以用于各种自然语言处理任务。

模型结构:

        BERT基于Transformer的编码器部分,采用了多层自注意力机制和前馈神经网络。这种结构使得BERT能够同时考虑文本中的上下文信息,从而捕捉到更加丰富的语义特征。

预训练任务:

        BERT通过两个无监督的预测任务进行预训练,即遮蔽语言模型(Masked Language Model, MLM)和下一句预测(Next Sentence Prediction, NSP)。在MLM任务中,模型需要预测被遮蔽的词;在NSP任务中,模型需要判断两个句子是否是连续的。这两个任务使得BERT能够学习到语言的深层结构和语义信息。

双向性:

        与之前的语言模型(如GPT)主要依赖之前或之后的上下文不同,BERT是双向的。这意味着它在预测一个词时会同时考虑该词前后的上下文,从而更准确地捕捉语义信息。

微调:

        在完成预训练后,BERT可以通过微调来适应各种下游任务。微调是指在特定任务的数据集上对预训练模型进行进一步的训练,以使其更好地适应该任务。BERT的灵活性使得它可以应用于多种自然语言处理任务,如文本分类、命名实体识别、问答等。

表现与影响:

        BERT在各种自然语言处理任务中都取得了显著的成绩,刷新了多项基准测试的记录。它的成功推动了预训练语言模型的发展,为后续更多先进模型(如RoBERTa、ALBERT等)的出现奠定了基础。

bert框架->Transformer->结构

传统RNN网络计算时存在的问题?

1、串联,导致数据必须从h1-h2-…hm。数据训练时间变长,因为需要要等h1的结果出来才能计算h2。

2、并行计算效果不好,也就是不能多台服务器同时训练一个网络。

传统word2vec存在的问题?

1、词向量一旦训练好了,就不会改变

2、不同语境中的词含义不同,例如  【a、台湾人说机车。 b、机车】 因此根据上下文不同的语境,应该有多个不同的词向量。

结构

Encoder-Decoder

Encoder-Decoder:

        也就是编码-解码框架,目前大部分attention模型都是依附于Encoder-Decoder框架进行实现。 在NLP中Encoder-Decoder框架主要被用来处理序列-序列问题。也就是输入一个序列,生成一个序列的问题。这两个序列可以分别是任意长度。

比如:

文本摘要:输入一篇文章(序列数据),生成文章的摘要(序列数据)

文本翻译:输入一句或一篇英文(序列数据),生成翻译后的中文(序列数据)

问答系统:输入一个question(序列数据),生成一个answer(序列数据)

Encoder:

        编码器,对于输入的序列<x1,x2,x3…xn>进行编码,使其转化为一个语义编码C,这个C中就储存了序列<x1,x2,x3…xn>的信息。 编码方法:主要RNN/LSTM/GRU/BiRNN/BiLSTM/BiGRU,

Decoder:

        解码器,根据输入的语义编码C,然后将其解码成序列数据,解码方式也可以采用RNN/LSTM/GRU/BiRNN/BiLSTM/BiGRU。 Decoder和Encoder的编码解码方式可以任意组合

attention

自注意力机制是Transformer架构的核心。它允许模型在序列中的每个位置都计算与其他位置的依赖关系,无论这些位置之间的距离有多远。这种机制使得模型能够捕捉到长距离依赖关系,并且由于其并行化的特性,可以非常高效地处理数据。

一句话中,哪些是重点?如何让计算机关注到话语中的重点?

如何实现slef attention呢?

1、首先输入经过编码后得到的词向量

2、构建三个矩阵,相当于cnn的卷积核, 分别为wQ、wK、wv矩阵。

3、将每一个词向量与矩阵相乘。得到QKV矩阵。 其中Q:为需要查询的 K:为等着被查的 V:实际的特征信息

slef attention如何计算

1、计算一段话中每个词之间的匹配程度。

2、通过匹配程度得到每个词的特征重要性。

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

因此当和不同的词组合成序列,就会得到不同的特征值。因为不同的组合序列语句,注意力不同。

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

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

相关文章

java ssm 防疫用地理位置分析系统 地理坐标系统 定位 源码 jsp

一、项目简介 本项目是一套基于SSM的防疫用地理位置分析系统&#xff0c;主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本、软件工具等。 项目都经过严格调试&#xff0c;确保可以运行&#xff01; 二、技术实现 ​后端技术&…

IDEA启动提示Downloading pre-built shared indexes

Download pre-built shared indexes Reduce the indexing time and CPU load with pre-built JDK shared indexes 翻译&#xff1a; 下载预构建的共享索引 使用预构建的JDK共享索引减少索引时间和CPU负载. 使用预构建的JDK共享索引可以显著减少索引构建时间和CPU负载&#xf…

【1个月速成Java】基于Android平台开发个人记账app学习日记——第7天,申请阿里云SMS短信服务SDK

系列专栏链接如下&#xff0c;方便跟进&#xff1a; https://blog.csdn.net/weixin_62588253/category_12821860.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12821860&sharereferPC&sharesourceweixin_62588253&sharefromfrom_link 同时篇幅…

MySQL8完全卸载方法-Win10系统

今天分享一篇win10系统下&#xff0c;如何完整的卸载MySQL8 第一步&#xff1a;关闭服务 services.msc 随后右键&#xff0c;点击“停止”&#xff0c;这时候通过cmd命令窗口进入MySQL&#xff0c;检测是否关闭成功 mysql -u root -p 如果提示&#xff1a;ERROR 2003(HY000) ca…

使用kalibr_calibration标定相机(realsense)和imu(h7min)

vslam-evaluation/VINS/Installation documentation/4.IMU和相机联合标定kalibr_calibration.md at master DroidAITech/vslam-evaluation GitHub 目录 1.kalibr安装 1.1安装依赖项 1.2创建工作空间 1.3下载kalibr并编译 1.4设置环境变量 2.准备标定板 3.配置驱动和打…

香港航空 阿里滑块 acw_sc__v3 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…

两场核工业盛会召开!VirtualFlow亮相助力核电CFD技术革新

金秋十月&#xff0c;北京迎来了两场核电领域的年度盛会——“中国核学会核反应堆热工流体力学分会第四届学术年会”与“中核核能软件与数字化反应堆工程技术研究中心学术年会暨数字核能2024技术论坛”。来自全国80余家科研院所、高校和企业的800余名专家学者齐聚一堂&#xff…

Linux(CentOS)安装 MySQL

CentOS版本&#xff1a;CentOS 7 MySQL版本&#xff1a;MySQL Community Server 8.4.3 LTS 1、下载 MySQL 打开MySQL官网&#xff1a;https://www.mysql.com/ 直接下载网址&#xff1a;https://dev.mysql.com/downloads/mysql/ 其他版本 2、上传 MySQL 文件到 CentOS&#x…

【Golang】sql.Null* 类型使用(处理空值和零值)

sql.NullString 和 sql.NullInt64 类型&#xff08;以及其他类似的 sql.Null* 类型&#xff09;在处理数据库操作时非常有用&#xff0c;尤其是在 Go 语言的 database/sql 包中。它们的主要用途包括&#xff1a; 表示 NULL 值&#xff1a; 在数据库中&#xff0c;NULL 表示“没…

wincc中全局脚本C(c语言脚本)的研究和解密

文章目录 前言一、分析 前言 很多时候我们在wincc中写全局脚本时会为自己的脚本添加密码&#xff0c;但很久很久以后再想修改密码忘记了怎么办呢。 一、分析 经过分析编码有了下面成功 ![请添加图片描述](https://i-blog.csdnimg.cn/direct/33baf91a49da410e82f16b4fbd746c48…

es自动补全(仅供自己参考)

elasticssearch提供了CompletionSuggester查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。为了提高补全查询效率&#xff0c;对于文档中字段的类型有一些约束&#xff1a; 查询类型必须是&#xff1a;completion 字段内容是多个补全词条形成的数组 P…

了解云计算工作负载保护的重要性及必要性

云计算de小白 云计算技术的快速发展使数据和应用程序安全成为一种关键需求&#xff0c;而不仅仅是一种偏好。随着越来越多的客户公司将业务迁移到云端&#xff0c;保护他们的云工作负载&#xff08;指所有部署的应用程序和服务&#xff09;变得越来越重要。云工作负载保护&…

ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染

一、组件基础 1.什么是ArkTS ArkTS是HarmoyOS优选的助力应用开发的语言&#xff0c;ArkTS围绕应用开发在TypeScript&#xff08;简称TS&#xff09;生态基础上做了进一步的扩展&#xff0c;继承了TS所有的特性&#xff0c;是TS的超集。 扩展的能力如下&#xff1a; 基本语法 …

从 ES Kafka Mongodb Restful ... 取到 json 之后

json 是个好东西&#xff0c;它可以使用公共的文本形式承载了丰富的结构化数据的信息。现代很多技术都在喜欢使用 json 作为数据传输格式&#xff0c;比如 Elastic Search,Restful,Kafka 等&#xff0c;Mongodb 这类对性能较在意的技术则使用了二进制化的 json。 结构化的数据…

Rust-宏编程

巴山楚水凄凉地&#xff0c;二十三年弃置身。 怀旧空吟闻笛赋&#xff0c;到乡翻似烂柯人。 沉舟侧畔千帆过&#xff0c;病树前头万木春。 今日听君歌一曲&#xff0c;暂凭杯酒长精神。 ——《酬乐天扬州初逢席上见赠》唐刘禹锡 【哲理】翻覆的船只旁仍有千千万万的帆船经过&a…

抖音短视频矩阵源码/矩阵系统搭建/短视频矩阵系统源码开发知识分享

短视频矩阵系统架构解析 在构建短视频矩阵系统时&#xff0c;通常会采用三种核心的框架技术&#xff1a;Spring、Struts和Hibernate。每种框架都承担着不同的职责&#xff0c;共同支撑起系统的高效运行。 Spring框架&#xff1a;作为全栈式的Java开发平台&#xff0c;它提供了…

【docker】6. 镜像仓库/镜像概念

Docker Registry&#xff08;镜像仓库&#xff09; 什么是 Docker Registry 镜像仓库 (Docker Registry) 负责存储、管理和分发镜像&#xff0c;并且提供了登录认证能力&#xff0c;建立了仓库的索引。 镜像仓库管理多个 Repository&#xff0c; Repository 通过命名来区分。…

AJAX 全面教程:从基础到高级

AJAX 全面教程&#xff1a;从基础到高级 目录 什么是 AJAXAJAX 的工作原理AJAX 的主要对象AJAX 的基本用法AJAX 与 JSONAJAX 的高级用法AJAX 的错误处理AJAX 的性能优化AJAX 的安全性AJAX 的应用场景总结与展望 什么是 AJAX AJAX&#xff08;Asynchronous JavaScript and XML…

ASP.NET Core 路由规则,自定义特性路由 ,IActionConstraint 路由约束 总结 mvc

资料 资料 路由服务 路由服务是在 Program.cs 中使用 builder.Services.AddRouting()注册的&#xff0c; 只是默认在 builder 之前已经注册过了&#xff0c;无需我们再次注册。 AddRouting()方法必须在 UseRouting()方法之前运行&#xff0c;它是路由的基础服务。 MapContro…

二分法查找(c基础)

二分法查找一个有序数组中是否有某个数 大家看了可以自己写一下 &#xff08; 要用知识点 数组 while循环 scanf 函数 printf函数 &#xff09; //用二分法查找 #include<stdio.h> int main() {char arr[] { 1,2,3,4,5,6,7,8,9,10 };int sz sizeof(arr) / size…