Transformer小结

本文详细介绍了Transformer模型的架构与工作原理,包括多头注意力机制、位置编码、前馈神经网络等核心组件,并提供了训练设置及优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Attention is all you need

Transformer

在这里插入图片描述

LayerNorm(x + Sublayer(x))

整理的Transformer 伪代码
输入 Inputs 输出 Outputs

X = Positional_Encoding(Input_Embedding(Inputs))
X = LayerNorm(X + Multi-Head_Attention(X))
X = LayerNorm(X + Feed_Forward(X))

Y = Positional_Encoding(Output_Embedding(Outputs))
Y = LayerNorm(Y + Masked_Multi-Head_Attention(Y))
Y = LayerNorm(Y + Multi-Head_Attention(XQX_QXQ,XKX_KXK,YVY_VYV))
Y = LayerNorm(Y + Feed_Forward(Y))

Y = Linear(Y)
Output Probabilities = Softmax(Y)

在这里插入图片描述

Scaled Dot-Product Attention

Attention(Q, K, V) = softmax(QKTdk\frac{QK^T}{\sqrt{d_k}}dkQKT)V

Multi-Head Attention

MultiHead(Q,K,V) = Concat(head1head_1head1,…,headhhead_hheadh)WOW^OWO

where headihead_iheadi = Attention(QWiQQW_i^QQWiQ, KWiKKW_i^KKWiK, VWiVVW_i^VVWiV)

WiQ∈Rdmodel∗dkW_i^Q ∈ R^{d_{model} \quad * \quad d_k}WiQRdmodeldk
WiK∈Rdmodel∗dkW_i^K ∈ R^{d_{model} \quad * \quad d_k}WiKRdmodeldk
WiV∈Rdmodel∗dvW_i^V ∈ R^{d_{model} \quad * \quad d_v}WiVRdmodeldv
WiO∈Rhdv∗dmodelW_i^O ∈ R^{hd_v \quad * \quad d_{model}}WiORhdvdmodel

In this work we employ h = 8 parallel attention layers, or heads.
For each of these we use dkd_kdk = dvd_vdv = dmodeld_{model}dmodel/h = 64
Due to the reduced dimention of each head, the total computational cost
is similar to that of single-head attention with full dimensionality.

Position-wise Feead-Forward Networks

FFN(x) = max(0, xW1xW_1xW1 + b1b_1b1)W2W_2W2 + b2b_2b2

Positional Encoding

$PE_{(pos, 2i)} = sin(pos/10000^{2i/d_{model}}) $

$PE_{(pos, 2i+1)} = cos(pos/10000^{2i/d_{model}}) $

where pos is the position and i is the dimension.

重新写Transformer的伪代码

输入 Inputs 输出 Outputs

X = Positional_Encoding(Input_Embedding(Inputs))

QXQ_XQX,KXK_XKX,VXV_XVX = X

X = LayerNorm(X + Multi-Head_Attention(QXQ_XQX, KXK_XKX, VXV_XVX))

X = LayerNorm(X + Feed_Forward(X))

QXQ_XQX,KXK_XKX,VXV_XVX = X

Y = Positional_Encoding(Output_Embedding(Outputs))

QYQ_YQY,KYK_YKY,VYV_YVY = Y

Y = LayerNorm(Y + Masked_Multi-Head_Attention(QYQ_YQY,KYK_YKY, VYV_YVY))

QYQ_YQY,KYK_YKY,VYV_YVY = Y

Y = LayerNorm(Y + Multi-Head_Attention(QXQ_XQX,KXK_XKX,VYV_YVY))

Y = LayerNorm(Y + Feed_Forward(Y))

Y = Linear(Y)
Output Probabilities = Softmax(Y)

Hardware and Schedule

We trained our models on one machine with 8 NVIDIA P100 GPUs.
We trained the base models for a total of 100,000 steps or 12 hours.
The big models were trained for 300,000 steps(3.5days)

Optimizer

We used the Adam optimizer with with β1β_1β1 = 0.9, β2β_2β2 = 0.98 and ϵ\epsilonϵ= 10^{−9}$

Regularization

Residual Dropout
Label Smoothing

### Deformable Transformer 的概念 Deformable Transformer 是一种改进版的 Transformer 架构,其核心在于通过引入可变形机制来增强模型的空间感知能力。传统的 Transformer 使用固定的位置编码来进行空间建模,而 Deformable Transformer 则允许动态调整采样位置,从而更好地适应输入数据的变化[^1]。 这种架构最初受到 Deformable Convolutional Networks (DCN) 启发,在视觉领域中被广泛应用于目标检测、图像分割以及视频理解等任务。它通过学习一组偏移量(offsets),使得注意力机制能够聚焦于更相关的关键区域,而不是均匀分布在整个特征图上[^2]。 ### 实现细节 #### 关键组件 以下是 Deformable Transformer 中的主要组成部分: 1. **多头可变形注意模块 (Multi-head Deformable Attention)** 这一模块扩展了标准的自注意力机制,加入了额外的学习参数——即用于调节查询点坐标的偏移向量。具体来说,对于每个查询 Q 和键 K,不仅计算相似度得分,还会估计出一系列局部邻域内的最佳采样位置,并加权聚合这些位置上的值 V。 ```python import torch.nn as nn class MultiHeadDeformableAttention(nn.Module): def __init__(self, d_model, n_heads=8, num_levels=4, num_points=4): super().__init__() self.d_model = d_model self.n_heads = n_heads # 定义权重矩阵和其他必要的层... def forward(self, query, key, value, reference_points): # 查询、键和值经过线性变换后送入 deformable attention 层 pass ``` 2. **参考点生成器 (Reference Points Generator)** 参考点定义了初始关注的重点区域中心坐标。通常由先前阶段预测得到或者基于预设规则设定。例如,在 DETR 模型基础上构建时,可以利用解码器输出作为参考点的基础。 3. **级联结构与层次化设计** 不同尺度下的特征融合是另一个重要特性。为了充分利用多分辨率表示形式的优势,Deformable Transformer 常常采用金字塔形网络布局,逐层提取并综合高低频信息。 #### 应用案例分析 ##### 计算机视觉中的应用 - **对象检测**: 如 DAB-DETR 和 DN-DETR 等方法均采用了类似的思路优化原始 DETR 性能瓶颈问题;它们借助少量高质量候选框代替全排列穷举方式完成实例匹配过程。 - **全景分割**: 在 COCO Panoptic 数据集评测指标下取得显著进步成果表明该技术具备较强泛化潜力。 - **动作识别**: 对时间序列信号处理同样有效果提升作用,尤其是在长期依赖关系捕捉方面表现出色。 ##### 自然语言处理(NLP)方向探索 尽管目前主流仍集中于 CV 领域研究进展较多,但在某些特定场景比如跨模态检索任务里也开始尝试移植此类思想到文本表征上来改善效果。例如 CLIP-like model 结合 visual grounding 技巧进一步强化语义一致性约束条件设置等等。 ### 小结 综上所述,Deformable Transformer 提供了一种灵活高效的新范式解决传统方法难以兼顾效率与精度之间的矛盾难题。随着硬件加速技术和算法理论不断演进完善,未来或许能看到更多创新应用场景涌现出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值