自然语言处理-BERT处理框架-transformer

devtools/2024/9/20 7:20:46/ 标签: 自然语言处理, bert, transformer

 

目录

 

1.介绍

2.Transformer

        2.1 引言

        2.2 传统RNN网络的问题

        2.3 整体架构

        2.4 Attention

        2.5 Self-Attention如何计算

3.multi-headed机制

4. BERT训练方法


1.介绍

        BERT:当前主流的解决框架,一站式搞定NLP任务。(解决一个NLP任务时的考虑方法之一)

        BERT:google开源的框架

        BERT:自然语言的通用解决框架

                必备知识:Word2vec,RNN(了解词向量模型,RNN模型如何建模)

                重点:Transformer网络架构

                训练方法: BERT训练方法

                google开源提供预训练模型,直接使用

2.Transformer

        2.1 引言

        BERT时基于Transformer框架的,所以了解Tansformer就基本了解BERT。

        提出问题:transformer要做一件什么事呢??

        答:就像将自然语言翻译成计算机语言,让其学习。

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

        2.2 传统RNN网络的问题

        

        可以看出这种依次计算的方式,计算效率不高,且后面的计算需要依赖前面的计算结果。 

预训练好的词向量就不会改变了,这种对于复杂语境应用不好。所以能不能让其并行计算,提高运算效率,且词向量的构成考虑到上下文的语境呢???

        答案:self-Attention机制来考虑进行并行计算,输出结果的是同时你算出来的,现在已经基本取代RNN了。

        2.3 整体架构

        接下来我们将围绕这几个问题来展开对Tansformer的介绍:
        1. 输入如何编码?
        2.输出结果是什么?

        3.Attemtion的目的?

        4.怎样组合在一起?


         2.4 Attention

        对于输入的数据,你的关注点是什么?(不同的数据,关注点不同,比如:一张带背景的人像,关注点是人像而不是背景)

        如何才能让计算机关注到这些有价值的信息?

        Self-Attention是计算机自己判断。

        每个词不能只考虑到自己,在训练的过程中,所有词构成句子,但是每个词分配的权重不同。在编码时,不能只考虑自己,要把上下文都融入,编码成向量。

例如:

        it代表的东西不同,怎么让计算机识别出来呢?每个词都要考虑上下文,结合每个词对它的影响来进行编码。

        2.5 Self-Attention如何计算

        其实,说到底,Self-Attention就是如何编码,提取特征。

         1. 通过Embedding随机或者其他什么方式去初始化词向量表,W^Q,W^K,W^v权重矩阵

         2. 训练这三个矩阵

        得到X*W^Q,Q1,Q2同理得到K1,K2;V1,V2 

 

        当两个向量求内积,若是两个向量垂直表示其线性无关,其值为0,若是两个向量线性相关其值越大表示两个向量相关性越大。那么q_i*k_j(i,j\in n)表示上下文每个词相关性,值越大相关性越大。

         为了不让分值随着向量维度增大而增加,让计算难度增大,最终除以\sqrt{d_k}

        每一个词的Attention计算

        softmax后就得到整个加权结果 

         经过上述一系列分析,Self-Attention解决了并行计算和词向量的构建编码考虑到了上下文语境的问题。

3.multi-headed机制

        

 

4. BERT训练方法

        transformer中Encoder是重要的,就是编码方式。再将其进行下游任务微调,使其变成分类,预测等类型的任务。是自然语言处理的万金油模板。

        

       

        

           


http://www.ppmy.cn/devtools/56234.html

相关文章

【代码随想录数据结构刷题记录】

文章目录 一、代码随想录数据结构刷题记录 一、代码随想录数据结构刷题记录 2024-04-08-代码随想录算法训练营第六天[LeetCode242有效的字母异位词、LeetCode349两个数组的交集 、LeetCode202快乐数 、LeetCode1. 两数之和] 2024-04-09-代码随想录算法训练营第七天[LeetCode4…

Tomcat调优

文章目录 一、JVM组成JVM组成堆和栈的拓展垃圾回收垃圾确定方法垃圾回收基本算法 分代堆内存垃圾回收策略堆内存分代 二、参数调整java 内存调整相关参数Tomcat的JVM的参数设置 在目前流行的互联网架构中,Tomcat在目前的网络编程中是举足轻重的,由于Tomc…

CSS 核心知识点 - grid

思维导图 参考网址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_grid_layout 一、什么是 grid? CSS Grid布局是在CSS3规范中引入的一种新的布局方式,旨在解决传统布局方法(如浮动、定位、表格布局)存在的许多问题。C…

CAN和CANFD数据写入.asc文件的dll

因为工作需要,需要做一些硬件不是CANoe的上位机(比如说周立功CAN,NI-CAN),上位机需要有记录数据的功能,所以用Qt制作了一个记录数据的dll,方便重复使用(因为有的客户指定了编程软件,…

SmartEDA革新来袭:融合Multisim与Proteus精髓,引领电子设计新纪元!

在电子设计领域,每一次技术的革新都如同春风化雨,滋润着设计师们的心田。今天,我们迎来了一个划时代的电子设计自动化(EDA)工具——SmartEDA,它不仅融合了业界知名的Multisim和Proteus的精华,更…

在 Java 中的使用Selenium 测试框架

Selenium 测试框架:在 Java 中的使用 Selenium 测试框架就是这样一个强大的工具,它为 Web 应用的自动化测试提供了全面且高效的解决方案。 一、Selenium 简介 Selenium 是一个开源的自动化测试工具集,专门用于测试 Web 应用程序。它支持多…

nuxt实现vuex持久化

前言: 此处不借助插件实现 store 本地持久化 所有状态持久化 使用 vuex 里面的 replaceState 方法还原 store 的根状态 API 参考 | Vuex 创建 store-cache.js 文件 在 plugins 目录下创建 store-cache.js 文件; store-cache.js export default (ctx) &g…

shell编程实战

1.1 shell脚本编程的步骤 需求分析:确定功能 命令测试:确定脚本需要的关键命令 编辑脚本 测试脚本 1.2 操作 1.2.1 实验一 1.需求描述 (1)统计网络中的服务器的mac 注:ARP,地址解析协议 注: (2)检查哪些主机开…

Ubuntu开机后图像化界面消失只有命令行界面

ubuntu重新安装cpp库时突然黑屏,打开之后,只能手动输入用户名和密码才能登陆,当时最坏的结果就是重新安装系统,但是还是得抢救一下,万幸的是抢救成功了!!! 于是来到第一个博客 参考…

收银系统源码-千呼新零售【分销商城】

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

【cf】Edu Codeforces Round 167(Div.2)题解 A - E

文章目录 A. Catch the CoinB. Substring and Subsequence(贪心)C. Two Movies(贪心)D. Smithing Skill(贪心双指针)E. Distance to Different(dp) A. Catch the Coin y 小于 -1 就…

Talking Web

1. curl 1.1 http curl http://127.0.0.1:80 向目标主机端口发送http请求 1.2 httphead curl -H “Host: 18ed3df584cd48328b5839443aa7b42b” http://127.0.0.1:80 1.3 httppath curl http://127.0.0.1:80/853c64cd218f80d0a59665666fb2ab80 1.4 URL编码路径 &#xff0…

光学相机市场格局:中国光学相机市场评估及未来发展趋势研究报告

欢迎关注GZH《光场视觉》 光学相机行业定义 光学相机是一种利用光学镜头和感光材料(如胶片)或数字传感器来捕捉图像的装置。光学相机,也常被称作传统相机或胶片相机,其工作原理基于光的折射和聚焦。当光线通过相机的镜头进入时&…

从我邮毕业啦!!!

引言 时间过的好快,转眼间就要从北邮毕业了,距离上一次月度总结又过去了两个月,故作本次总结。 PS: https://github.com/WeiXiao-Hyy/blog整理了后端开发的知识网络,欢迎Star! 毕业🎓 6月1号完成了自己的…

# Kafka_深入探秘者(1):初识 kafka

Kafka_深入探秘者(1):初识 kafka 一、kafka 特性 1、Kafka :最初是由 Linkedln 公司采用 Scala 语言开发的一个多分区、多副本并且基于 ZooKeeper 协调的分布式消息系统,现在已经捐献给了 Apache 基金会。目前 Kafka…

【websocket】websocket网课视频记录

仅个人方便回顾。 【WebSocket入门与案例实战-哔哩哔哩】 https://b23.tv/2p1f9t2 课程对应代码仓库: https://gitee.com/duoli-java/websocket-demo.git

[图解]企业应用架构模式2024新译本讲解18-活动记录2

1 00:00:00,940 --> 00:00:04,890 接下来,就是要把这个列表输出到控制台 2 00:00:06,490 --> 00:00:12,280 这里面有3个 3 00:00:15,420 --> 00:00:17,480 Id有了,姓 4 00:00:18,600 --> 00:00:28,500 一个一个取,ID&#xff…

Python 实现Excel转TXT,或TXT文本导入Excel

Excel是一种具有强大的数据处理和图表制作功能的电子表格文件,而TXT则是一种简单通用、易于编辑的纯文本文件。将Excel转换为TXT可以帮助我们将复杂的数据表格以文本的形式保存,方便其他程序读取和处理。而将TXT转换为Excel则可以将文本文件中的数据导入…

不是KVM不支持精简置备的磁盘,而是VMM

正文共:999 字 11 图,预估阅读时间:1 分钟 书接上文(不会吧!KVM竟然不支持磁盘的精简置备!?),我们已经掌握了通过“虚拟系统管理器VMM”创建虚拟机的基本方法&#xff0c…

Kafka Stream 流处理设计概述

Kafka Stream 流处理设计概述 Kafka 流处理是指使用 Kafka 及其生态系统中的组件来处理实时数据流。Kafka Streams 是 Kafka 官方 提供的流处理库,它简化了构建流处理应用程序的过程,并与 Kafka 无缝集成。以下是 Kafka 流处理的设 计原理和相关概念。 1. Kafka 流处理基本…