【大模型学习】Transformer(学习笔记)

Transformer介绍

在这里插入图片描述

word2vec

Word2Vec是一种用于将词语映射到连续向量空间的技术,它是由Google的Tomas Mikolov等人开发的。Word2Vec模型通过学习大量文本数据中的词语上下文信息,将每个词语表示为高维空间中的向量。在这个向量空间中,具有相似语境的词语通常被映射到彼此附近的位置,从而使得词语之间的语义关系得以保留。

Word2Vec有两种主要的模型结构:连续词袋模型(CBOW)和Skip-gram模型。CBOW模型试图根据上下文词语预测目标词语,而Skip-gram模型则相反,它试图根据目标词语预测上下文词语。这两种模型都使用了神经网络结构,通常是浅层的前馈神经网络。

通过Word2Vec技术,可以实现词语之间的语义相似度计算、词语之间的关系推断、词语的聚类和分类等任务,是自然语言处理领域中一个重要的基础工具。

RNN不足

在这里插入图片描述
串行,无法并行,不能加速
在这里插入图片描述

词向量的建模

Transformer是一种基于注意力机制的模型,最初用于机器翻译任务,但后来被证明在各种自然语言处理任务中都取得了巨大成功。在Transformer模型中,词向量的建模是通过自注意力机制(Self-Attention Mechanism)来实现的。

在Transformer中,输入的词语首先被转换成词向量(Word Embeddings),然后这些词向量被传递到多个Transformer层中进行处理。在每个Transformer层中,自注意力机制被用来捕捉输入序列中词语之间的关系。通过自注意力机制,模型可以计算每个词语在上下文中的重要性,并将这些重要性作为权重,对每个词语的表示进行加权求和,从而得到更丰富的上下文表示。

在自注意力机制中,每个词语的表示都会考虑到整个输入序列中的所有词语,这使得模型能够在不同位置之间进行信息交互,从而更好地捕捉上下文信息。通过多个Transformer层的堆叠,模型可以逐层地提炼和组织输入序列中的信息,最终得到更具有丰富语义信息的词向量表示。

总的来说,Transformer通过自注意力机制实现了对输入序列中词语的建模,使得模型能够更好地理解和处理自然语言文本。

Transformer网络架构

在这里插入图片描述
基本组件:seq2seq网络
核心架构是中间的网络设计

输入如何编码?

输出结果是什么?

self-attention

自注意力机制进行并行计算,输入和输入都相同。

计算方法

attention是什么?
让计算机关注到有价值的信息。
在这里插入图片描述
self-attention是什么?
关注到与自身相关的信息,融入上下文语境。
在这里插入图片描述
本质就是提取特征。(获取权重值)
在这里插入图片描述
用内积计算两个向量的关系。内积的结果为相关度分数。内积越大,相关度越高。
在这里插入图片描述
softmax用于归一化求概率。

multi-headed

多头,提取多个特征。
通过不同的head得到多个特征表达。
将所有特征拼接在一起。
通过一层全连接来降维。
在这里插入图片描述

位置信息表达

position encoding
加入位置编码

以下结果针对分类任务,其他任务需要而外考虑。
在这里插入图片描述

层归一化和残差连接

层归一化加速模型收敛,使得训练更稳定。
残差网络使得网络可以深层叠加。不同特征的融合(浅层特征和深层特征),防止模型退化。
在这里插入图片描述

mask机制

解决训练和测试的信息不对称。
在这里插入图片描述

softmax 和 linear

在这里插入图片描述

模型梳理

在这里插入图片描述

BERT

在这里插入图片描述

Transformer发家史

在这里插入图片描述

ViT(Vision Transformer)

在这里插入图片描述

对图像数据构建patch序列

图像有空间位置信息,需要添加位置信息。
patch + position embedding

CNN缺陷

为了获得更大的感受野(获取全局信息),需要堆叠很深的卷积核(不断的卷积+池化)。

Transformer

对于训练数据要求很高(数据量大)。
在这里插入图片描述

TNT

在这里插入图片描述

Swin Transformer

在这里插入图片描述

解决问题

在这里插入图片描述

Transformer Blocks

在这里插入图片描述

整体网络架构

在这里插入图片描述

窗口和滑动窗口

W-MSA(Window Multi-head Self Attention)
学习窗口内部的信息

SW-MSA(Shift Window Multi-head Self Attention)
学习窗口之间的信息

Patch Merging

下采样,类似但不同于池化。
把不同维度进行间隔采样后拼接在一起。

DETR

DETR(DEtection TRansformer)是一种基于Transformer架构的目标检测模型,它将目标检测任务转换为一个端到端的Transformer网络。这种方法消除了传统目标检测模型中需要使用特定的子网络(如R-CNN系列中的区域建议网络)的需求,取得了很好的性能。

以往的目标检测算法

Faster R-CNN

Faster R-CNN是一种流行的目标检测算法,它基于区域建议网络(RPN)生成区域建议,并对这些建议中的对象进行分类。它以在图像中检测对象的准确性和效率而闻名。
"proposal"的中文意思是“建议”或者“提议”,在Faster R-CNN中,指的是由Region Proposal Network (RPN) 生成的候选目标区域。

YOLO

YOLO(You Only Look Once)是一种流行的实时目标检测算法,它将目标检测任务视为一个回归问题,通过在单个神经网络中同时预测边界框和类别概率来实现目标检测。与传统的目标检测方法相比,YOLO具有更快的处理速度,因为它只需要在图像上运行一次网络,而不需要使用滑动窗口或区域提议。这使得它非常适合需要实时检测的应用场景,如视频分析和自动驾驶。
“Anchor”(锚点)在目标检测中通常指的是一种预定义的边界框形状和尺寸,在训练过程中用来作为参考,用于生成候选区域或者预测目标边界框的偏移量。在一些目标检测算法中,比如Faster R-CNN和YOLO,锚点被用来定义可能包含目标的区域。这些锚点可以根据数据集和目标的大小进行调整,以提高模型的准确性。

NMS

NMS是非极大值抑制(Non-Maximum Suppression)的缩写,它是一种常用的技术,在目标检测和边界框回归中用于过滤重叠的边界框。该技术通过保留具有最高置信度的边界框,并消除与其高度重叠的其他边界框来优化结果。这样可以确保在输出中每个检测到的目标只有一个边界框与之对应,从而提高检测结果的准确性和可靠性。

DETR基本思想

在这里插入图片描述

整体网络架构

在这里插入图片描述

object queries

decoder中的查询是平行的,同时进行。
在这里插入图片描述
初始化 object queries :0 + 位置编码

输出的匹配

在这里插入图片描述

匈牙利匹配

匈牙利匹配是一个图论中的算法,用于解决二部图的最大匹配问题。在二部图中,顶点集合可以分为两个互不相交的子集,使得图中的每条边的一个端点属于一个子集,另一个端点属于另一个子集。

匈牙利匹配算法旨在找到一个最大的匹配,即图中能够相互连接的边的最大数量。它采用了增广路径的方法,在图中不断寻找增广路径并将其添加到匹配中,直到无法找到增广路径为止。增广路径是一条交替包含未匹配顶点和已匹配顶点的路径,通过不断寻找增广路径,可以不断增加匹配的边数,直到找到最大匹配。

匈牙利匹配算法的时间复杂度为 O(V^3),其中 V 是图中的顶点数量。尽管时间复杂度相对较高,但匈牙利匹配算法在实际应用中被广泛使用,例如在任务分配、资源分配等领域。

参考链接

太…完整了!同济大佬唐宇迪博士终于把【Transformer】入门到精通全套课程分享出来了,最新前沿方向均有涉猎!-人工智能/深度学习

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于用户体验和设计思维

介绍 要开发有效的原型并为用户提供出色的体验,了解用户体验 (UX) 和设计思维的原则至关重要。 用户体验是用户与产品、服务或系统交互并获得相应体验的过程。 设计思维是一种解决问题的方法,侧重于创新和创造。 在启动期实现用户体验和设计思维时&#…

Chinese-CLIP使用教程

目录 一:运行环境 二:代码架构 三:数据集准备 1. 文本数据处理 训练集文本处理 测试集文本处理 2. 图像数据处理 3. 生成LMDB数据库 四、模型微调 五:模型验证与测试 1. 提取图文特征 2. 图文检索 3. 计算召回率 六…

23 JavaScript学习:验证API

JavaScript验证API 举例&#xff1a; <input id"id1" type"number" min"100" max"300" required> <button onclick"myFunction()">验证</button><p id"demo"></p><script>f…

pinctrl和gpio子系统

文章目录 一、pinctrl 子系统简介二、pinctrl子系统的配置形式分析1.主要功能2.配置格式3.pinctrl驱动匹配 三、gpio子系统1.gpio系统使用流程 四、程序举例-led五、总结 一、pinctrl 子系统简介 在led操作设备树的实验中&#xff0c;对于gpio的初始化是直接操作的寄存器&…

idea No versioned directories to update were found

idea如何配置svn以及svn安装时需要注意什么 下载地址&#xff1a;https://112-28-188-82.pd1.123pan.cn:30443/download-cdn.123pan.cn/batch-download/123-820/3ec9445a/1626635-0/3ec9445a25ba365a23fc433ce0c16f34?v5&t1714358478&s171435847804276f7d9249382ba512…

使用Mybatis映射时间 DateTime ==> LocalDateTime

首先查看&#xff0c;数据库字段&#xff1a; 书写映射实体类对象VO&#xff1a; Data public class OrderListVO implements Serializable {private Integer orderId;private String memberName;private String orderNumber;private BigDecimal orderPrice;private String l…

【数据结构与算法】力扣 239. 滑动窗口最大值

题干描述 给你一个整数数组 nums&#xff0c;有一个大小为 k **的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a; nums [1,3,-1,-3,5,3…

C/C++实现高性能并行计算——1.pthreads并行编程(中)

系列文章目录 pthreads并行编程(上)pthreads并行编程(中)pthreads并行编程(下)使用OpenMP进行共享内存编程 文章目录 系列文章目录前言一、临界区1.1 pi值估计的例子1.2 找到问题竞争条件临界区 二、忙等待三、互斥量3.1 定义和初始化互斥锁3.2 销毁。3.3 获得临界区的访问权&…

安卓中对象序列化面试问题及回答

1. 什么是对象的序列化&#xff1f; 答&#xff1a; 序列化是将对象转换为字节流的过程&#xff0c;以便将其存储在文件、数据库或通过网络传输。反序列化则是将字节流重新转换为对象的过程。 2. 为什么在 Android 开发中需要对象的序列化&#xff1f; 答&#xff1a; 在 An…

ctfshow——JWT

文章目录 web 345web 346——算法改为Noneweb 347-348——爆破密匙web 349——非对称加密算法RS256私钥泄漏web 350——泄漏公钥、非对称密码算法改为对称密码算法 web 345 抓个包&#xff0c;可以看到cookie部分使用JWT&#xff08;Json Web Token&#xff09;。 JWT实际上是…

Django后台项目开发实战一

开发环境使用 Anaconda, IDE 使用 pycharm 第一阶段 创建 Django 项目 在 Anaconda Prompt 中逐步输入下面的命令&#xff08;之后的所有命令都在这个&#xff09; 首先创建一个虚拟环境&#xff0c;名称自拟&#xff0c;python 版本我这里使用 3.9.18 关于 python 版本和…

STM32中断之TIM定时器详解

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. TIM简述 2. 定时器类型 2.1 基本定时器 2.2 通用定时器 2.3 高级定时器 3. 定时中断 4. 代码示例1 5. 代码示例2 1. TIM简述 定时器的基本功能&#xff1a;定时器可以在预定的时间间隔内产生周…

经典机器学习法---感知模型机

优质博文&#xff1a;IT-BLOG-CN 1、模型形式 感知机模型主要用于解决二分类问题&#xff0c;即响应变量Y是个二分类变量&#xff08;如性别&#xff09;。其基本思想是拟找出一个超平面S&#xff0c;将样本空间中的训练集分为两个部分&#xff0c;使得位于超平面S合一侧的点具…

启发式搜索算法4 -遗传算法实战:吊死鬼游戏

相关文章: 启发式搜索算法1 – 最佳优先搜索算法 启发式搜索算法2 – A*算法 启发式搜索算法2 – 遗传算法 有一个小游戏叫吊死鬼游戏&#xff08;hangman&#xff09;&#xff0c;在学习英语的时候&#xff0c;大家有可能在课堂上玩过。老师给定一个英文单词&#xff0c;同学们…

2024深圳杯数学建模竞赛A题(东三省数学建模竞赛A题):建立火箭残骸音爆多源定位模型

更新完整代码和成品完整论文 《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓&#xff08;浏览器打开&#xff09; https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc# 2024深圳杯数学建模竞赛A题&#xff08;东三省数学建模竞赛A题&#xff0…

前端性能优化知识梳理

1.重要性 当我们面试的时候&#xff0c;前端性能优化方面算是必考的知识点&#xff0c;但是工作中我们又很少会重点的对项目进行前端优化&#xff0c;它真的不重要吗&#xff1f; 如果我们可以将后端响应时间缩短一半&#xff0c;整体响应时间只能减少5%~10%。而如果关注前端…

手把手实现一个简约酷美美的版权声明模块

1. 导语 版权声明在很多网站都有用到&#xff0c;出场率还是很高的。所以今天就实现一个属于自己分风格的版权声明模块&#xff0c;技术上采用原生的前端三剑客: HTMLCSSJavaScript(可能会用到) 比如CSDN的版权声明是这样的 2. 需求分析 先看看成品吧&#xff0c;这篇文字结…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

强网杯 2019]随便注解题方式

先来看题 这里只有一个提交&#xff0c;那我们就先提交看看情况找找思路 这里提交以后发现也没有什么有用的信息 这样我们只能根据我们的经验先试试 输入1发现有报错 有报错信息就可以试试报错注入了&#xff0c;但是这种ctf题通常会有限制字符所以我使用 1 select 1,2# 来…

c#数据库: 4.修改学生成绩

将4年级的学生成绩全部修改为100分,。修改前的学生信息表如图所示: using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks;namespace StudentUpdate {internal class Program{s…