Transformer(一)简述(注意力机制,NLP,CV通用模型)

news2025/2/10 22:34:14

目录

1.Encoder

1.1简单理解Attention

1.2.什么是self-attention

 1.3.怎么计算self-attention

 1.4.multi-headed

 1.5.位置信息表达

 2.decorder(待补充)

参考文献


1.Encoder

1.1简单理解Attention

比方说,下图中的热度图中我们希望专注于小鸟,而不关注背景信息。那么如何关注文本和图像中的重点呢。

具体而然比方说下面的文本she is eating a green,用不同的颜色表示其向量,然后对每一个向量进行重构,比方说she本来由红色向量表示,重构之后,其向量包含上下文其他向量的部分(按照相关程度,比重各不相同),其实这一块就是算出权值,每个词对其他词的贡献,再根据这个权值整合每个词自身的向量。

1.2.什么是self-attention

如下图所示,两句话中的it根据上下文语句不同,指代前面的名词也不同,所以希望用注意力机制,来专注他们之间的关系。

自注意力机制:如下图所示,有两句话,以it为例只计算本句中每个词和自己的关系

注意力机制:如下图所示,it会计算其他句和自己的关系。

同样如下图右侧所示,以it为例,线条越深和自身关系越强

 1.3.怎么计算self-attention

如下图所示,有两个文本Thinking,Machines,在进行计算时,我们要知道每一个词和自己的关系以及和其他词的关系,也就是说要计算Thinking和自身的关系,以及和Machines的关系,以及Machines和自身的关系,以及和Thinking的关系然后将其向量化表示为x1和x2。接下来为了实现注意力机制,我们提供了三个向量,q,k,v,以Thinking为例,当Thinking想要寻找和自己的关系以及和Machines的关系时,必须要知道它要查什么,所以需要一个查找对象也就是q,同样Thinking和Machines自身作为被查找的单位,当被查询时,也需要提供我有或者没有被查东西的证据,也就是k,具象化理解,可以理解为,古代官府追查杀手,必然会拿着杀手画像q,那么每家每户都要提供自己的身份信息k,证明自己是不是杀手。v后面补充。

 再看一下q,k,v是咋来的,对于单词向量x1和x2用一个权重矩阵w分别得到q,k,v。

 再看一下词与词之间的匹配程度如何确定,先说一个概念,内积相乘越大两者关系越近,所以当计算Thinking和自己的匹配程度时,用q1*k1=112,计算Thinking和Machines匹配程度时用q1*k2=96计算,很明显和自己的匹配程度更高

再进一步计算

首先看softmax(Q*K/\sqrt{d_{k}})*V,\sqrt{d_{k}}这样理解,当高维Q*K的结果必然比低维相乘大,但在实际应用中,维数并不应该对结果产生影响,所以用\sqrt{d_{k}}消除维度影响。对照下图左侧的公式,来看下图右侧,在得到112和96之后,进行维度消除操作,得到14和12,然后得到彼此的影响概率,0.88和0.12,再利用v对x重构得到v。

 

 流程如下图所示Q和每一个K相乘再结合相应的V最后加权得到Attention Value

 1.4.multi-headed

上面我们发现一个x只能得到一个z,现在希望一个x可以得到不同z,所以用不同的w得到不同的q,k,v。假设一个x最后得到8个不同的z,将其拼接在一起太大了,所以用全连接层再对其降维。

 举个例子

 1.5.位置信息表达

前面我们发现计算时会对每一个单词进行计算,所以没考虑位置因素,但在这里希望把位置因素考虑进去,位置用p表示,最后加入到重构后的z中

 2.decoder(待补充)

前面是处理输入得到不同的组合z,这回需要对z进行输出操作。 此时输出层提供q,查询模型需要啥。k和v由输入提供。具体我们可以看下图右侧流程图,左为Encoder输入K,V。右下为decoder输入Q。

 再说一下MASK机制,简单理解,此时标签出了I am a,那么对于a可以利用前三个词,但对于第四个没出的不能使用,所以要给它掩盖起来。

 

 3.BERT

替代encoder

 

 

参考文献

1.Transformer原理精讲_哔哩哔哩_bilibili

2.67 自注意力【动手学深度学习v2】_哔哩哔哩_bilibili 

3. 68 Transformer【动手学深度学习v2】_哔哩哔哩_bilibili

4.(重点)2023年AI爆火方向:基于Transformer模型的计算机视觉实战集锦【医疗图像分割、VIT算法、swintransformer、DETR目标检测...】_哔哩哔哩_bilibili 

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

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

相关文章

【Windows API】获取卷标、卷名

1、卷->卷标 使用FindFirstVolume()和FindNextVolume()函数体系,枚举系统所有卷(Volume)的例子,然后获取卷标、卷类型。这个方式可以枚举出没有驱动器号(卷标)的卷。 int TestMode1() {HANDLE hVolume…

DAY19

题目一 空间尝试模型 一个样本做行一个样本做列 范围尝试模型 以....做分隔 dp[i][j] 为以i为左界限 以j为右界限 求这个范围内的计算值(不对 是方法数) 这& | ^ 都是双目运算符 观察一下规律 整体字符数量一定为奇数(包括运算符和数字) 对应到数组中 数组的位一定是偶数…

CosmosAI欧盟数字超算新时代战略合作签约仪式在伦敦举行

据英国权威媒体获悉,由分布式超算网络服务商CosmosAI主办的欧盟数字超算新时代战略合作签约仪式将于8月14日英国伦敦历史悠久的莱福士OWO酒店隆重举办,该酒店曾作为爱德华七世国王加冕仪式以及丘吉尔二战办公室享誉盛名。 本次活动CosmosAI基金会联合创…

海思ss928部署手写数字识别模型

大致流程--------------------------------------------------------------------------------------------------------------------- 模型转换---------------------------------------------------------------------------------------------------- 1:准备MNI…

QPainter - 八卦时钟

QPainter - 八卦时钟 上一篇我们在画时钟的时候,已经把基本的钟表指针和刻度都绘制过了 想要完成八卦时钟,就要绘制这个里面的八卦了。 先上个图: 有人和我说八卦不能转 再来一张图: 背景的绘制 我们需要删除之前所绘制的白色…

攻防世界-web-getit

1. 题目描述 菜鸡发现这个程序偷偷摸摸在自己的机器上搞事情,它决定一探究竟。 获取到文件后,先查看文件信息 说明是一个可执行程序,没啥思路,先逆向 2. 思路分析 逆向后,找到main函数,查看逻辑 通过逆…

智安网络|网络安全:危机下的创新与合作

随着信息技术的迅猛发展和互联网的普及,我们进入了一个高度网络化的社会。网络在提供便利和连接的同时,也带来了许多安全隐患和挑战。 一、网络安全的危险 **1.数据泄露和隐私侵犯:**网络上的个人和机构数据存在遭受泄露和盗取的风险&#…

C#,入门教程(42)——各种括号“()[]{}<>“的用法总结

(成对的)括号是各种编程语言的核心要素。很多年前就想着写这样一篇专门关于各种括号的技术文章。一直未动笔,因为总想着偷懒,但凡有一个人写了,就无需我动手了。可惜的是,等了十多年,也没有出现…

集成接近和环境光传感器市场调查报告

集成接近和环境光传感器在单个传感器中集成接近和环境光感应功能。该传感器广泛应用于物联网 (IoT) 设备、消费电子产品和可穿戴设备,集成接近和环境光传感器可以自动调整屏幕亮度并根据接近情况打开/关闭屏幕,以降低设备功耗。集成接近和环境光传感器广…

【嵌入式学习笔记】嵌入式入门4——独立看门狗IWDG

1.IWDG简介 IWDG的全称:Independent watchdog,即独立看门狗,IWDG的本能:产生系统复位信号的计数器IWDG的特性:递减的计数器,时钟由独立的RC振荡器提供(可在待机和停止模式下运行) 看…

16bit、8 通道、500kSPS、 SAR 型 ADC——MS5188N

MS5188N 是 8 通道、 16bit 、电荷再分配逐次逼近型模数 转换器,采用单电源供电。 MS5188N 拥有多通道、低功耗数据采集系统所需的所有 组成部分,包括:无失码的真 16 位 SAR ADC ;用于将输入配 置为单端输入&#xff0…

水力发电厂测量装置配置选型及厂用电管理系统

NB/T 10861-2021《水力发电厂测量装置配置设计规范》对水电厂的测量装置配置做了详细要求和指导。测量装置是水力发电厂运行监测的重要环节,水电厂的测量主要分为电气量测量和非电量测量。电气测量指使用电的方式对电气实时参数进行测量,包括电流、电压、…

linux下实现生产者和消费者 pv操作

线程同步与线程安全 生产者和消费者特点图示理解编程实现测试结果 生产者和消费者 特点 1.解耦:因为多了一个缓冲区,所以生产者和消费者并不直接相互调用,这样生产者和消费者的代码发生变化,都不会对对方产生影响。这样其实就是把生产者和消…

使用 Gradio 构建生成式 AI 应用程序(一): 图片内容读取app

今天我们来学习DeepLearning.AI的在线课程:Building Generative AI Applications with Gradio,该课程主要讲述利用gradio来部署机器学习算法应用程序, 今天我们来学习第一课:Image captioning app,该课程主要讲述如何从图片中读取…

优秀项目团队最突出的5项重要特征

一个优秀的开发团队,对于软件项目而言,其重要性不言而喻。否则项目团队一盘散沙,直接影响项目准时保质保量地交付。一般从大家的认可度来说,优秀团队最突出的特征,主要集中在以下几个方面: 1、目标明确 优秀…

oracle连表查询in后边跟另一张表中的字符串字段

今天在做通过in进行连表查询的时候发现以下问题记录下 我的需求是A,B两张表连接查询,A中有一个FOOD_TYPES字段 存的值类型为1,2,3 B表中的字段是FOOD_TYPE 存的是单个数字字符串 我需要where b.food_type in a.food_types 但是无论怎么写都…

Live800:客服常用的6大提问技巧,帮助客服服务更高效

作为企业最前线的客服,提升服务质量是必须要做到的,而如何提升服务质量呢?其中一项关键点就是提问技巧。在客户沟通中,提问的方式和技巧直接影响着客户对企业服务的满意度。下面,本文将介绍客服常用的6大提问技巧&…

go语言的database/sql结合squirrel工具sql生成器完成数据库操作

database/sql database/sql是go语言内置数据库引擎,使用sql查询数据库,配置datasource后使用其数据库操作方法对数据库操作,如下: package mainimport ("database/sql""fmt"_ "github.com/Masterminds…

Android简单封装Matrix工具类

Android简单封装Matrix工具类 1.简介: Matrix 是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化…

整数中1出现的次数(从1到n整数中1出现的次数)

解题思路1: 设定整数点(如1、10、100等等)作为位置点i(对应n的各位、十位、百位等等),分别对每个数位上有多少包含1的点进行分析。 第一步:对n进行分割,分为两部分:高位…