Transformer 模型的自注意力(Self-Attention)机制本身是**置换不变的(permutation-invariant)**

从零手撕Transformer:自注意力机制与编码器-解码器架构详解 在自然语言处理领域,从序列到序列的建模曾长期被RNN、LSTM等循环神经网络主导。然而,这些模型在处理长序列时,普遍面临梯度消失/爆炸和难以并行计算的瓶颈。2017年,一篇名为《Attention Is All You Need》的论文横空出世,彻底改变了这一格局。Transformer架构摒弃了循环结构,完全依赖自注意力机制来捕捉序列内部的依赖关系,不仅在机器翻译任务上取得了突破性进展,其强大的并行能力和对长距离依赖的建模能力,更使其成为当今深度学习,特别是大语言模型(LLM)和视觉Transformer 阅读详情

Transformer 模型的自注意力(Self-Attention)机制本身是置换不变的(permutation-invariant),即它对输入 token 的顺序不敏感:打乱输入序列的顺序,注意力输出在数学上可能完全相同(忽略位置编码影响)。因此,原始 Transformer 并不具备内在的序列顺序感知能力。

为弥补这一缺陷,Transformer 引入了位置编码(Positional Encoding)——通常是正弦/余弦函数生成的固定编码(如原论文中),或可学习的位置嵌入(Learned Positional Embedding)——将其加到词嵌入(Token Embeddings)上,从而为模型显式注入位置信息。这样,模型才能区分“猫追狗”和“狗追猫”这类依赖词序的语义差异。

简言之:
✅ 自注意力 → 捕获全局依赖,但无视原始顺序;
✅ 位置编码 → 补充序数信息,使模型具备时序/序列建模能力。

import torch
import math

def sinusoidal_positional_encoding(seq_len, d_model):
    # 生成标准 Transformer 正弦位置编码 (seq_len, d_model)
    pe = torch.zeros(seq_len, d_model)
    position = torch.arange(0, seq_len, dtype=torch.float).unsqueeze(1)
    div_term = torch.exp(torch.arange(0, d_model, 2).float() * (-math.log(10000.0) / d_model))
    pe[:, 0::2] = torch.sin(position * div_term)
    pe[:, 1::2] = torch.cos(position * div_term)
    return pe.unsqueeze(0)  # (1, seq_len, d_model)

相对位置编码(Relative Position Encoding, RPE)的核心思想是:模型不应直接依赖 token 的绝对位置索引(如第1位、第100位),而应建模任意两个 token 之间的相对距离(如 i−j = +3 或 −5)及其方向。相比绝对位置编码(Absolute PE),RPE 更符合语言的局部性与平移不变性直觉(例如,“动词后紧跟宾语”这一模式不依赖于句子开头,而取决于相对偏移),从而在长程依赖建模、序列长度外推和泛化性上更具优势。

以下是主流相对位置编码机制的关键实现逻辑与优势对比:

🔹 T5 中的 Bias-based RPE(可学习相对位置偏差)

  • 不显式编码位置,而是在自注意力的 logits 上添加一个可学习的偏置项:
    [
    \text{Attention}(Q,K,V){i,j} \propto \exp\left( \frac{Q_i K_j^\top}{\sqrt{d_k}} + b{i-j} \right)
    ]
  • 其中 (b_{i-j}) 是维度为 (2k+1) 的可学习向量((k) 为最大相对距离,如128),超出范围的距离被截断或映射到边界桶(bucketing)。
    ✅ 优势:参数少、计算轻量、天然支持变长推理;
    ❌ 局限:需预设最大相对距离,超距关系建模受限。

🔹 RoPE(Rotary Position Embedding,如 LLaMA、Qwen、Phi 等采用)

  • 将位置信息以旋转矩阵形式融入 Q 和 K 的向量空间:对每个 head 的 query/key 向量按维度分组,应用角度随位置线性增长的二维旋转变换:
    [
    \begin{bmatrix}
    x_{2i} \ x_{2i+1}
    \end{bmatrix}
    \mapsto
    \begin{bmatrix}
    \cos m\theta_i & -\sin m\theta_i \
    \sin m\theta_i & \cos m\theta_i
    \end{bmatrix}
    \begin{bmatrix}
    x_{2i} \ x_{2i+1}
    \end{bmatrix}
    ]
    其中 (m) 是 token 位置索引,(\theta_i = 10000^{-2i/d})。
  • 关键性质:(Q_i^\top K_j) 的内积结果自动包含 (\cos(m_i - m_j)) 项,即隐式编码了相对位置差。
    ✅ 优势:理论支持无限外推、无距离截断、保留绝对位置的几何结构、与 RoFormer/RoFormerV2 一脉相承;
    ✅ 实践效果:显著提升长文本理解(如 128K 上下文)、减少幻觉、增强位置鲁棒性。

🔍 对比小结:

维度绝对位置编码T5 Bias RPERoPE
位置建模方式每个位置独立嵌入logits 偏置(i−j 查表)Q/K 向量旋转(隐式相对)
长程外推能力差(需插值/重训)中(受 max_distance 限)极强(理论无界)
参数量O(L×d) 或 O(d)O(k)(k ≪ L)零参数(确定性旋转)
是否破坏注意力平移等变性否(但非本质)是(引入位置偏差)否(保持旋转等变性)

因此,RPE(尤其是 RoPE)并非简单“替代”绝对编码,而是通过更符合序列建模本质的几何约束与归纳偏置,使模型在训练分布外(如更长上下文、跨文档推理)仍能稳定捕获远距离依赖。

在这里插入图片描述

Vision Transformer(ViT)架构解析与实战指南 Transformer架构最初在自然语言处理(NLP)领域大放异彩,其核心的自注意力机制能够有效建模长距离依赖关系。这一特性使其在计算机视觉(CV)领域展现出巨大潜力,Vision Transformer(ViT)通过将图像分割为patch序列并应用标准Transformer编码器,实现了从局部特征提取到全局关系建模的范式转变。ViT的动态全局感受野和卓越的可扩展性使其在大规模视觉任务中超越传统CNN,特别适合图像分类、目标检测等需要全局上下文理解的应用场景。文章详细解析了ViT的Patch Embeddi 阅读详情

相关推荐

一文搞懂Transformer与Self-Attention,讲解神经网络算法最好的一篇文章!

VIT模型(Vision Transformer),这是一篇Google于2021年发表在计算机视觉顶级会议ICLR上的一篇文章。它首次将Transformer这种发源于NLP领域的模型引入到了CV领域,并在ImageNet数据集上击败了当时最先进的CNN网络。这是一个标志性的网络,代表transformer击败了CNN和RNN,同时在CV领域和NLP领域达到了统治地位,此后基本在ImageNet排行榜上都是基于transformer架构的模型了。

weixin_44162814的博客 1006

【深度学习】关于Permutation Invariant的解释

Permutation Invariant指的是特征之间没有空间位置关系. 如多层感知机,改变像素的位置对最后的结果没有影响. f((x1,x2,x3))=f((x2,x1,x3))=f((x3,x1,x2))f((x_1,x_2,x_3))=f((x_2,x_1,x_3))=f((x_3,x_1,x_2))f((x1​,x2​,x3​))=f((x2​,x1​,x3​))=f((x3​,x1​,x2​)) 但对卷积网络而言,特征之间则有空间位置关系. 以上解释参考以下问题的回答. What does “p

恒治学 3983

Transformer

Seq2seq transformer其实是一种序列到序列的转换,但是我们不知道输出的长度,应该由机器来自己决定,一个例子就是 语音辨识,输入时声音讯号,其实就是一串vector,

m0_55217431的博客 529

机器学习/深度学习论文中常出现的Permutation Invariant解释

Permutation Invariant指的是特征之间没有空间位置关系,例如多层感知机,改变像素的位置对最后的结果没有影响 f((x1,x2,x3))=f((x2,x1,x3))=f((x3,x2,x1))f((x1,x2,x3))=f((x2,x1,x3))=f((x3,x2,x1))f((x1,x2,x3))=f((x2,x1,x3))=f((x3,x2,x1)) 但是对卷积网络情况就不同了...

Nin7a的博客 1万+

Self-Attention与Transformer

1.由来 在Transformer之前,做翻译的时候,一般用基于RNN的Encoder-Decoder模型。从X翻译到Y。 但是这种方式是基于RNN模型,存在两个问题。 一是RNN存在梯度消失的问题。(LSTM/GRU只是缓解这个问题) 二是RNN 有时间上的方向性,不能用于并行操作。Transformer 摆脱了RNN这种问题。 2.Transformer 的整体框架 输入的x1,x2x_{1},x_{2}x1​,x2​,共同经过Self-attention机制后,在Self-attention中实现了信息的交互,分别得到了z1,z2z_{1},z_{2}z1​,z2​,将z1,z2

告别概念晕眩:用TC3xx SMU和TLF35584的配置实例,搞懂ASIL D功能安全落地

本文通过英飞凌TC3xx系列MCU的SMU模块与TLF35584电源管理芯片的协同配置实例,详细解析了如何实现符合ASIL D功能安全标准的刹车辅助ECU。文章涵盖SMU报警源配置、响应动作类型、TLF35584的安全状态管理,以及构建完整安全闭环的实践方法,帮助工程师将抽象的安全概念落地为具体设计方案。

weixin_30647065的博客 437

机器学习词汇

1 .permutation-invariant:空间不相关的 local permutation-invariant aggregation:局部的无空间相关性的聚集 例子:convolution neural network 就是 permutation-related. 词汇来自 https://arxiv.org/abs/1902.06673 2. Region of...

小沙粒看未来 2893

保姆级教程:用ROS2 Humble + Gazebo Classic 从零搭建一个能键盘控制的差分AGV模型

本文提供了一份详细的ROS2 Humble与Gazebo Classic教程,指导用户从零开始搭建一个键盘控制的差分AGV模型。内容涵盖环境配置、Xacro文件设计、Gazebo仿真集成以及键盘控制实现,特别针对常见问题提供解决方案,帮助开发者快速掌握ROS2机器人仿真技术。

weixin_30387423的博客 168

【点云处理之论文狂读经典版5】—— Deep Sets

Deep Sets摘要1.引言2.Permutation Invariance and Equivariance2.1 Problem Definition2.2 Structure2.3 Related Results3. Deep Sets3.1 Architecture4.实验4.1.3Point Cloud Classification生词 摘要 我们研究了定义在sets上的机器学习任务模型设计问题 考虑了定义在sets上的目标函数,该函数是permutation-invariant的 主要理论定

yuanmiyu6522的博客 2946

野火STM32F407(骄阳)+无刷直流驱动板+永磁同步电机控制学习记录(四)(基于HAL库)

以上内容都是参考别人资料自学的,很多地方都是凭感觉,因为理论部分不太会算,只要电机能转就行,其他性能指标都没考虑,因为不会,所以这纯属是学习记录帖。带宽在500时,电流波动小,但是响应很慢,就是堵转后不太容易恢复转动。速度环带宽设定小了,响应不够快,带宽设定大了波动比较大,电机感觉起来也震一点,而且,当带宽设到200的时候,启动直接就锁死了,应该是PI增益设定太大了。电流环带宽的试验:去掉速度环,让Iq_Set=2,Ud=0,此时电机是电流环闭环控制,用手堵转电机然后松开,看电流的波动以及响应情况。

XUEXIDEXIAOhai的博客 4553

GprMax正演模拟:为什么你的反射波‘消失’了?可能是直达波在捣鬼(附Python后处理脚本)

本文深入探讨了GprMax正演模拟中反射波信号被直达波淹没的现象,并提供了Python后处理脚本的实战指南。通过时域置零、自适应增益控制、频域滤波等多种技术,有效增强反射波信号,帮助用户解决探地雷达模拟中的常见问题。文章还包含详细的代码示例和效果评估方法,适合GPR数据处理的研究人员和工程师参考。

weixin_29305313的博客 232

【自然语言处理】self-attention和Transformer的详解

本文主要对李宏毅机器学习的课程进行了简单的总结。首先是解释了self-attention自注意力机制的原理,还有multi-head attention多头注意力机制、masked multi-head attention掩膜多头注意力机制,自注意力机制和CNN、RNN的区别。其次是解释了Transformer的原理,包括encoder、decoder的流程。最后介绍了AT、NAT的区别,copy mechanism,guided mechanism,beam search等。

qq_45792472的博客 2702

Ubuntu24.04下Librenms的完整安装与配置指南

本文提供了在Ubuntu 24.04 LTS系统上完整安装与配置LibreNMS网络监控系统的详细指南。内容涵盖系统环境准备、依赖安装、源码获取、PHP/数据库/Nginx配置、Composer安装、网页向导设置以及设备添加与日常使用,帮助用户快速部署一套功能强大的开源网络监控解决方案。

tgb3456789的博客 1139

Attention机制如何动态重构词语语义关系

Attention是一种核心的神经网络机制,用于建模序列中元素间的动态依赖关系。其原理是通过Query-Key匹配计算相关性得分,再用Softmax归一化后加权聚合Value信息,实现上下文感知的表征学习。该机制赋予模型对长距离依赖、多义词消歧和语法结构的精准捕捉能力,技术价值在于替代传统RNN的线性记忆瓶颈,支撑Transformer架构的并行化与可扩展性。典型应用场景包括大语言模型的文本生成、代码理解、跨模态对齐及长上下文推理。本文以‘我喜欢苹果’为例,深入剖析Self-Attention、Multi-

weixin_33971977的博客 262

YOLO系列算法改进 | 自研篇 | C3k2融合Circulant Attention注意力模块 | 给局部特征提取器装上了全局动态卷积核,兼顾效率、精度与泛化能力!| AAAI 2026

YOLO系列算法改进 | 自研篇 | C3k2融合Circulant Attention注意力模块 | 给局部特征提取器装上了全局动态卷积核,兼顾效率、精度与泛化能力!| AAAI 2026 (以YOLO26最新目标检测模型为基础,融合C3k2_Circulant创新模块改进Backbone)

2502_91881744的博客 242

Graphviz安装及使用:决策树可视化

Python大数据分析与机器学习学习笔记 Graphviz安装及使用:决策树可视化

算法工程师 1万+

从零实现Vision Transformer:PyTorch代码实战与自注意力机制解析

在深度学习领域,自注意力机制是一种能够建模序列中任意元素间全局依赖关系的核心技术。其原理是通过计算查询、键、值向量之间的相似度,动态地为每个位置分配权重,从而聚合全局信息。这一机制的技术价值在于突破了传统卷积神经网络(CNN)局部感受野的限制,实现了对长距离依赖关系的显式建模,为处理复杂模式识别任务提供了新范式。在计算机视觉中,Vision Transformer(VIT)创新性地将图像分割为块序列,并应用自注意力机制,成功将Transformer架构迁移至图像分类等任务,展现了强大的性能。本文将通过PyT

weixin_33748818的博客 407

通信原理 | 随机数仿真 | 均匀、正态、双高斯、瑞利、莱斯、对数正态、nakagami、Suzuki分布的随机数仿真(matlab)

信道建模在通信系统设计和分析中扮演着至关重要的角色。它指的是使用数学和物理模型来描述和模拟无线或有线通信路径中的信号传播特性。

若北辰 1987

Transformer架构深度拆解:从数学原理到工程落地

Transformer是一种基于自注意力机制的序列建模架构,其核心在于摒弃RNN/CNN的归纳偏置,通过QKV计算、位置编码与前馈网络实现全局依赖建模。原理上,它依赖缩放点积注意力保障梯度稳定,正弦位置编码注入序列顺序信息,并以LayerNorm和残差连接构建通畅梯度流。技术价值体现在模块化设计、并行友好性及跨模态泛化能力,广泛应用于NLP、视觉(ViT)与多模态任务。实际落地需关注多头注意力维度对齐、位置编码类型选择(如RoPE)、Pre-LN/Post-LN结构差异及FFN容量配置等关键细节。本文聚焦T

weixin_34417183的博客 328

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

CNN与Transformer视觉模型选型实战指南:精度、速度与硬件的平衡术

视觉模型架构演进已从单纯比拼准确率,转向精度、延迟、显存、数据效率与硬件适配的多维权衡。卷积神经网络(CNN)凭借平移等变性、局部性与权重共享三大归纳偏置,在小样本、低延迟及结构化任务中仍具不可替代的工程优势;而视觉Transformer(ViT/Swin)通过自注意力实现动态全局建模,尤其在长程依赖、大尺度遥感或高噪声大数据场景展现鲁棒性。Swin Transformer的移位窗口机制,正是对‘局部-全局协同’这一视觉本质的工程回应——它不是取代CNN,而是重构建模粒度与计算效率的边界。本文聚焦工业落地中

weixin_30580341的博客 506

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Vision Transformer模型规格与源码实现全解析

Transformer架构凭借其强大的自注意力机制,已成为处理序列数据的通用范式。其核心原理在于通过多头注意力并行建模序列元素间的长距离依赖关系,突破了传统循环神经网络和卷积神经网络在全局建模上的局限。这一技术价值在于实现了从领域专用架构到通用架构的范式转变,显著提升了模型在各类任务上的泛化能力和可扩展性。在计算机视觉领域,Vision Transformer(ViT)通过将图像分割为块序列并引入位置编码,成功将Transformer应用于图像识别任务,开创了视觉Transformer的新时代。本文聚焦于V

weixin_30239339的博客 368

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NLP基础:从分词、嵌入到注意力机制,构建大模型的坚实基石

自然语言处理(NLP)是人工智能的核心领域,其基础技术决定了模型理解与生成文本的能力。其核心原理在于将文本转化为机器可处理的数值表示,并通过算法捕捉语义关系。在技术价值上,扎实的NLP基础是构建高效、鲁棒大语言模型(LLM)的前提,直接影响模型性能与泛化能力。典型应用场景包括机器翻译、文本生成、智能问答与信息检索。本文聚焦于其中的关键基石:分词(Tokenization)将文本切分为有意义的单元,如广泛采用的BPE算法;嵌入(Embedding)为这些单元赋予高维向量表示,构建语义空间;注意力机制(Atte

weixin_33912453的博客 516

Transformer位置编码:三角函数如何赋予模型位置感知能力

在序列建模任务中,模型对输入元素顺序的理解至关重要。自注意力机制作为Transformer架构的核心,虽然能有效捕捉长距离依赖,但其本身具有置换不变性,无法区分序列顺序。为解决这一问题,位置编码被引入,旨在向词嵌入向量中注入位置信息。其中,基于正弦和余弦函数的位置编码方案因其独特的数学特性而成为标准设计。该方案通过线性可加性使模型能轻松学习相对位置关系,实现强大的长度外推泛化能力;其有界平滑性保证了训练稳定性;多频率特性则让模型能同时捕捉细粒度和粗粒度的位置信息。这些特性共同作用,使Transformer模

weixin_30813225的博客 274

self-attention(transformer)

在传统的CNN中,都是对感受野内部的事情进行关联后理解。感受野实际上关乎了模型对全局信息的理解。而本质上,感受野是一种特殊的注意力机制,也就是说感受野是一种受限的、具有特定参数的注意力。之前的内容如DANet,则更加接近广义的注意力机制。在这种机制的作用下,,通过注意力权重矩阵,对图像中全局的信息进行提取和理解。而《attention is all your need》这篇文章中,提出了一种全新的注意力机制,其意义在于:1. 从原理上解释了CNN和RNN的一般形式。

qq_54809548的博客 1475

Self-attention(自注意力机制)、Transformer

文章根据李宏毅老师的视频讲解总结而成。本文,主要讲解了自注意力机制,以及著名的Transformer模型。

zhanghongbin159的博客 2197

超详解!Transformer + self-attention

‍‍点击上方“机器学习与生成对抗网络”,关注星标获取有趣、好玩的前沿干货!来源https://zhuanlan.zhihu.com/p/432814387作者Ziyang Li 东北电力大...

idol24的博客 2451
上一篇: Python 3.12(于2023年10月2日发布)是Python的最新稳定版本之一,相比此前版本(如3.11、3.10等)
下一篇: Oracle Health 是甲骨文(Oracle)推出的面向医疗健康行业的全新云原生应用套件
Bol5261
Bol5261 新星创作者: Java技术领域 新星创作者: Java技术领域 优质创作者: 学术研究与理论基础技术领域 优质创作者: 学术研究与理论基础技术领域
博客等级 码龄7年 4万+粉丝 1万+原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值