Transformer从零详细解读——DASOU讲AI

1. 从全局角度概括Transformer

transformer的任务是什么?

进一步细化

进一步细化,注意:每个encoder结构相同,参数不同;decoder同理

原论文中的图如下:

2.Encoder

2.1 输入部分

(1)Embedding:

将输入的离散符号(如单词或字符)转换为连续向量表示的关键步骤。

(2)位置编码:

为什么需要位置编码?

与递归神经网络(RNN)和卷积神经网络(CNN)不同,这些传统模型天然地对输入序列的顺序敏感,因为它们通过连续处理或滑动窗口的方式处理数据。

然而,自注意力机制在计算时会同时考虑序列中所有元素之间的关系,这意味着它本身并不具备捕捉元素相对或绝对位置的能力。在原始的 Transformer 模型中,位置编码是通过正弦和余弦函数来实现的。

2.2 注意力机制

详细讲解见下面博客

https://blog.csdn.net/WBingJ/article/details/144832299?spm=1001.2014.3001.5501

原因:传统的序列到序列(Seq2Seq)模型使用一个固定大小的上下文向量来表示整个输入序列,这在处理长序列时可能会导致信息丢失。注意力机制通过允许模型在每个时间步关注输入序列的不同部分,解决了这一问题。

作用:允许模型在处理输入序列时,能够有选择性地聚焦于最相关的部分,而不是对所有部分一视同仁

  • 具体来说,自注意力机制通过计算查询(Query)、键(Key)和值(Value)之间的相似度来生成注意力权重。

残差

  • 新的表示 z1z1​ 和 z2z2​ 通过残差连接与原始输入相加,并经过归一化层。
  • 归一化后的结果再次进入前馈神经网络。

为什么使用残差:
  • 缓解梯度消失/爆炸问题:在非常深的神经网络中,随着层数的增加,反向传播过程中梯度会逐渐变小(梯度消失)或变得非常大(梯度爆炸)。这使得网络难以收敛,甚至无法正常训练。残差连接通过引入直接路径来传递信息,使得梯度可以更容易地从输出层反向传播到输入层。
具体步骤
  1. 输入向量 xx:

    • 输入向量 xx 是残差块的初始输入。
  2. 前馈网络 F(x)F(x):

    • 输入 x 通过第一个权重层和 ReLU 激活函数。
    • 输出再通过第二个权重层和 ReLU 激活函数。
  3. 残差连接:

    • 将原始输入 x 与前馈网络的输出 z 相加

Layer Normalization

Layer Normalization 是一种用于深度学习模型中的正则化和加速训练的技术,它通过归一化每一层的输入来稳定和加速神经网络的训练过程。与 Batch Normalization 不同,Layer Normalization 对每个样本的所有特征进行归一化,而不是在小批量(mini-batch)上对每个特征进行归一化。

2.3 前馈神经网络

3. Decoder

3.1 多头注意力机制Mask

为什么需要mask:解码器中的未来信息屏蔽,在解码阶段,模型不应该看到未来的词,因为这会导致数据泄露,并且不符合实际应用情境。例如,在机器翻译任务中,当翻译一句话时,每个时刻只能基于之前的词语来预测下一个词。

3.2 交互层Cross Attention Layer

作用:交互层的核心是交叉注意力机制,它使得解码器可以在生成每个输出词时参考编码器的所有输入。

  • 查询(Query):来自解码器当前时间步的隐藏状态。
  • 键(Key)和值(Value):由编码器生成的隐藏状态提供。
  • 计算注意力分布:通过计算查询与所有键之间的相似度得分,并使用 Softmax 函数将其转换为概率分布。然后,该分布用于对值进行加权求和,得到最终的上下文向量。

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

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

相关文章

696: Soldiers

曼哈顿距离&#xff08;Manhattan Distance&#xff09; 在二维空间中&#xff0c;两个点 (x1, y1) 和 (x2, y2) 的 曼哈顿距离 是&#xff1a; |x1 - x2| |y1 - y2| 曼哈顿距离描述了在网格上行走的距离&#xff0c;限制只能水平或垂直移动。 #include <iostream>…

自学记录鸿蒙API 13:实现多目标识别Object Detection

起步&#xff1a;什么叫多目标识别&#xff1f; 无论是生活中的动物识别、智能相册中的场景分类&#xff0c;还是工业领域的检测任务&#xff0c;都能看到多目标识别的身影。这次&#xff0c;我决定通过学习HarmonyOS最新的Object Detection API&#xff08;API 13&#xff09…

【Cesium】九、Cesium点击地图获取点击位置的坐标,并在地图上添加图标

文章目录 一、前言二、实现方法三、App.vue 一、前言 查找发现好几种方法可以获取到点击位置的坐标。这里我实现需求就不深究学习了。将几位大佬的方法学习过来稍微整合了一下。 本文参考文章&#xff1a; cesium 4种拾取坐标的方法 【Cesium基础学习】拾取坐标 cesium拾取当…

ts总结一下

ts基础应用 /*** 泛型工具类型*/ interface IProps {id: string;title: string;children: number[]; } type omita Omit<IProps, id | title>; const omitaA: omita {children: [1] }; type picka Pick<IProps, id | title>; const pickaA: picka {id: ,title…

人脑处理信息的速度与效率:超越计算机的直观判断能力

人脑处理信息的速度与效率&#xff1a;超越计算机的直观判断能力 关键词&#xff1a; #人脑信息处理 Human Brain Information Processing #并行处理 Parallel Processing #视觉信息分析 Visual Information Analysis #决策速度 Decision Speed #计算机与人脑比较 Computer v…

CentOS — 目录管理

文章目录 一、目录结构二、切换目录三、查看目录四、创建目录五、复制目录六、剪切目录七、删除目录 目录也是一种文件。 蓝色目录&#xff0c;绿色可执行文件&#xff0c;红色压缩文件&#xff0c;浅蓝色链接文件&#xff0c;灰色其它文件&#xff0c; 点开头的是隐藏文件&…

cursor设备ID修改器,你可以无限试用cursor了!

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…

springboot523基于Spring Boot的大学校园生活信息平台的设计与实现(论文+源码)_kaic

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本大学校园生活信息平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…

RabbitMQ中的异步Confirm模式:提升消息可靠性的利器

在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;扮演着至关重要的角色&#xff0c;它能够解耦系统组件、提高系统的可扩展性和可靠性。RabbitMQ作为一款广泛使用的消息队列中间件&#xff0c;提供了多种机制来确保消息的可靠传递。其中&#xff…

集线器,交换机,路由器,mac地址和ip地址知识记录总结

一篇很不错的视频简介 基本功能 从使用方面来说&#xff0c;都是为了网络传输的标识&#xff0c;和机器确定访问对象 集线器、交换机和路由器 常听到路由器和集线器&#xff0c;下面是区别&#xff1a; 集线器 集线器&#xff1a;一个简单的物理扩展接口数量的物理硬件。…

什么是 GPT?Transformer 工作原理的动画展示

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; 目录 1 图解 “Generative Pre-trained Transformer”&#xff08;GPT&#xff09; 1.1 Generative&#xff1a;生成式 1.1.1 可视化 1.1.2 生成式 vs. 判别式&#xff08;译注&#xff09; 1.2 Pr…

u3d中JSON数据处理

一.认识JSON 1.1 Json概述 JSON&#xff08;JavaScript Object Notation&#xff0c;JavaScript对象表示法&#xff09;JSON和XML是比较类似的技术&#xff0c;都是用来存储文本信息数据的&#xff1b;相对而言&#xff0c;JSON比XML体积更小巧&#xff0c;但是易读性不如XML…

Android 模拟器系统镜像选择指南

Android 模拟器系统镜像选择指南 在选择 Android 模拟器的系统镜像时&#xff0c;根据实际需求选择合适的版本。以下是具体建议&#xff1a; 1. 目标 API Level 如果需要适配最新版本的 Android&#xff1a; 选择&#xff1a;API 35 (Android 14)&#xff08;代号&#xff1…

网络分析工具-tcpdump

文章目录 前言一、tcpdump基础官网链接命令选项详解常规过滤规则tcpdump输出 一、tcpdump实践HTTP协议ICMP状态抓包 前言 当遇到网络疑难问题的时候&#xff0c;抓包是最基本的技能&#xff0c;通过抓包才能看到网络底层的问题 一、tcpdump基础 tcpdump是一个常用的网络分析工…

打造三甲医院人工智能矩阵新引擎(一):文本大模型篇--基于GPT-4o的探索

一、引言 当今时代&#xff0c;人工智能技术正以前所未有的速度蓬勃发展&#xff0c;深刻且广泛地渗透至各个领域&#xff0c;医疗行业更是这场变革的前沿阵地。在人口老龄化加剧、慢性疾病患病率上升以及人们对健康需求日益增长的大背景下&#xff0c;三甲医院作为医疗体系的核…

mysql连接时报错1130-Host ‘hostname‘ is not allowed to connect to this MySQL server

不在mysql服务器上通过ip连接服务提示1130错误怎么回事呢。这个错误是因为在数据库服务器中的mysql数据库中的user的表中没有权限。 解决方案 查询mysql库的user表指定账户的连接方式 SELECT user, host FROM mysql.user;修改指定账户的host连接方式 update mysql.user se…

linux下安装达梦数据库v8详解

目录 操作系统、数据库 1、下载达梦数据库 2、安装前准备 2.1、建立数据库用户和组 2.2、修改文件打开最大数 2.3、挂载镜像 2.4、新建安装目录 3、数据库安装 4、配置环境变量 5、初始化数据库实例 6、注册服务 7、使用数据库 8、卸载数据库 9、多实例管理 10、…

低代码引擎插件开发:开启开发的便捷与创新之路

OneCode授权演示 一、低代码引擎与插件开发的概述 在当今快节奏的软件开发领域&#xff0c;低代码引擎正逐渐崭露头角。低代码引擎旨在让开发人员能够以最少的代码量创建功能丰富的应用程序&#xff0c;而其中的关键组成部分便是插件开发。低代码引擎通过提供可视化的开发环境…

多光谱图像的处理和分析方法有哪些?

一、预处理方法 1、辐射校正&#xff1a; 目的&#xff1a;消除或减少传感器本身、大气条件以及太阳光照等因素对多光谱图像辐射亮度值的影响&#xff0c;使得图像的辐射值能够真实反映地物的反射或发射特性。 方法&#xff1a;包括传感器校正和大气校正。传感器校正主要是根…

贪心算法概述

贪心算法总是作出当前看来最好的选择&#xff0c;是局部最优 可以使用贪心算法的问题一般具有两个重要的性质 贪心选择性质最优子结构性质 贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择来达到 其与动态规划的问题区别在于&#xff0c;动态规划算法通…