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

news2025/1/4 19:18:22

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 函数将其转换为概率分布。然后,该分布用于对值进行加权求和,得到最终的上下文向量。

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

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

相关文章

(四)配置有线网口、SSH登陆、文件传输以及运行交叉编译程序测试

文章目录 配置有线网口原因自动分配不行第一步 设置前先停止网络接口第二步 手动分配ip第三步 使配置的网口ip永久生效第四步 测试一下网络是否通了 SSH登陆文件传输以及运行交叉编译程序测试第一种借助基于SSH的命令行工具SCP传输文件第二种借助基于MobaXterm 软件直接上传测试…

欧美短剧系统出海:小体量撬动大市场

近年来,出海短剧在欧美市场掀起了一阵热潮,成为了全球娱乐产业中一颗冉冉升起的新星。 欧美短剧凭啥爆火? 精准把握碎片化娱乐需求 现代欧美社会生活节奏飞快,人们的时间愈发碎片化。出海短剧每集约 3 分钟的时长,完…

折旧后将成本中心折旧费调整到订单中

背景:设备原作为通用设备,按成本中心折旧,在12月月结正常折旧后才明确为专用设备,需要按内部订单折旧。 问:折旧能不能冲销。 回复: 在SAP中,折旧凭证是无法直接冲销的。如果折旧计提有误&#…

前端CSS3学习

学习菜鸟教程 火狐-moz- 谷歌 Safari -webkit- 前面都加这个,可能才生效 边框 border: 1px solid #ddd 粗细 样式 样色 经常和border-radius 一块用 border-radius: 50px 20px 第一个左右 第二个右左 border-top-left-radius … box-shadow: 10px 5px 10px 0 #88…

【LeetCode Hot100 二分查找】搜索插入位置、搜索二维矩阵、搜索旋转排序数组、寻找两个正序数组的中位数

二分查找 搜索插入位置搜索二维矩阵在排序数组中查找元素的第一个和最后一个位置寻找旋转排序数组中的最小值搜索旋转排序数组寻找两个正序数组的中位数(hard) 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并…

nature reviews genetics | 需要更多的针对不同种族的癌症基因组图谱研究,促进精准治疗和维护治疗公平权益

–https://doi.org/10.1038/s41576-024-00796-w Genomic landscape of cancer in racially and ethnically diverse populations 研究团队和单位 Ulrike Peters–Public Health Sciences Division, Fred Hutchinson Cancer Center Claire E. Thomas–Public Health Scienc…

吾杯网络安全技能大赛——Misc方向WP

吾杯网络安全技能大赛——Misc方向WP Sign 题目介绍: 浅浅签个到吧 解题过程: 57754375707B64663335376434372D333163622D343261382D616130632D3634333036333464646634617D 直接使用赛博橱子秒了 flag为 WuCup{df357d47-31cb-42a8-aa0c-6430634ddf4a} 原神启动…

MySQL中distinct和group by去重的区别

MySQL中distinct和group by去重的区别 在MySQL中,我们经常需要对查询结果进行去重,而DISTINCT和GROUP BY是实现这一功能的两种常见方法。虽然它们在很多情况下可以互换使用,但它们之间还是存在一些差异的。接下来,我们将通过创建测…

LinuxC高级day5

作业: 1.思维导图 2.定义一个find函数,查找ubuntu和root的gid并使用变量接收结果 3.定义一个数组,写一个函数完成对数组的冒泡排序 4.使用break求1-100中的质数(质数:只能被1和他本身整除,如:357)

coredns报错plugin/forward: no nameservers found

coredns报错plugin/forward: no nameservers found并且pod无法启动 出现该报错原因 是coredns获取不到宿主机配置的dns地址 查看宿主机是否有dns地址 resolvectl status 我这里是配置正确后,如果没配置过以下是不会显示出dns地址的 给宿主机增加静态dns地址之后将…

2025加密风云:行业变革与未来趋势全景透视

引言 2024年是加密行业发展历程中的重要一年,诸多事件和趋势为未来的发展奠定了基础。随着全球政策环境的变化、技术的不断进步以及市场参与者的多样化,加密行业在2025年将迎来新的转型与挑战。这篇文章将从政策、技术、市场、应用以及社会影响等多个角…

logback之自定义pattern使用的转换器

目录 (1)场景介绍 (2)定义转换器BizCallerConverter (3)logback配置conversionRule (4)测试效果 前文《logback之pattern详解以及源码分析》已经介绍了pattern,以及…

mac m2 安装 docker

文章目录 安装1.下载安装包2.在downloads中打开3.在启动台打开打开终端验证 修改国内镜像地址小结 安装 1.下载安装包 到官网下载适配的安装包:https://www.docker.com/products/docker-desktop/ 2.在downloads中打开 拖过去 3.在启动台打开 选择推荐设置 …

发那科 PMC 学习与总结

1、CNC 与 PMC CNC(Computerized Numerical Control:计算机控制的数控装置)和PLC(Programmable Logic Controller:可编程顺序逻辑控制器)的各项处理由几部分构成。CNC 中系统的控制软件已安装完毕&#xf…

【机器学习应用】决策树

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:机器学习应用入门到进阶 🌏代码仓库:GitHub平台 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经…

「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统

本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。 关键词 条件筛选动态数据展示状态管理UI交互查询系统 一、功能说明 模拟火车票查询系统包含以下功…

JVM对象内存分配

1 栈上分配 栈空间随着方法执行完毕而回收通过栈上分配对象内存空间的方式,减少对堆空间的使用,从而减少gc的压力,提升程序性能 逃逸分析:分析对象的作用域,判断对象所需内存是否可以在栈上分配当对象没有被外部方法或…

Science Advances:一种多功能软变形和触觉显示器

01 内容概览现有技术缺点无法主动将变形的表面重新配置为各种 3D 形状。设备庞大复杂:机械装置依赖线性致动器和刚性结构,阻碍其小型化和实用性。功能单一:现有软材料驱动方案通常只能变形,缺乏多模态触觉反馈,难以满足…

如何从文档创建 RAG 评估数据集

我们在 Hugging Face Hub 上自动生成的 RAG 评估数据集(来自欧盟的PDF 输入文件,根据CC BY 4.0许可)。图片由作者提供 在本文中,我将向您展示如何创建自己的 RAG 数据集,该数据集包含任何语言的文档的上下文、问题和答…

flux中的缓存

1. cache,onBackpressureBuffer。都是缓存。cache可以将hot流的数据缓存起来。onBackpressureBuffer也是缓存,但是当下游消费者的处理速度比上游生产者慢时,上游生产的数据会被暂时存储在缓冲区中,防止丢失。 2. Flux.range 默认…