深度剖析Transformer核心思想 "Attention Is All You Need"

简介: 深度剖析Transformer核心思想 "Attention Is All You Need"

Transformer 模型及其关键组件的概述。

简介

在这篇博文中,我将讨论本世纪最具革命性的论文“Attention Is All You Need”。首先,我将介绍自注意力机制,然后转向 Transformer 的架构细节。注意力模型使用 2 个 RNN 和一个注意力机制来为编码器的隐藏状态分配权重。在《Attention is all you need》这篇论文中,作者去掉了所有的 RNN。他们引入了一种不使用递归的新架构,而是完全依赖于自注意力机制。先解释一下什么是self-attention机制

自注意力机制

自注意力机制使模型能够通过同时关注所有位置来捕获序列中不同位置之间的依赖关系。注意力分数确定每个键值对对给定查询的重要性或相关性。自注意力机制扩展了这种机制,使其可以在单个序列中运行,而不需要外部输入。

在上图中,可以查看self-attention机制。首先,我们有一个输入x。我们将此输入与可训练权重矩阵(Wq、Wk、Wv)相乘。作为输出,我们得到查询、键和值矩阵。我们使用查询和关键矩阵来查找它们的相似性。上图只采用了点积,但在 Transformer 架构中对其进行了缩放。该点积的输出是注意力权重 (a)。以同样的方式,我们将计算所有输入 x(t) 的注意力权重。计算完所有注意力权重后,应用 softmax 函数对点积进行归一化,生成总和为 1 的注意力权重。从 softmax 运算获得的注意力权重用于计算值向量的加权和。该加权和表示输入序列中每个位置的自参与表示。自注意力的优势在于它能够对序列中的局部和全局依赖性进行建模。它从整个序列中捕获上下文信息,提供对不同位置之间关系的更全面的理解。

缩放点积

正如上段所述,我们不仅仅使用点积来查找相关性。但我们也按关键维度 (dk) 的平方根因子对其进行缩放。这有助于确保查询和键之间的点积对于大 dk 来说不会变得太大。如果点积变得太大,那么 softmax 输出将非常小。为了避免这种情况,我们缩放点积。

多头注意力

多头注意力只是自注意力机制的补充。它允许模型共同关注不同的位置并同时学习输入序列的多种表示。通过并行执行多组注意力计算,多头注意力捕获输入序列的不同方面,并增强模型捕获复杂依赖关系的能力。每个注意力头都有不同的查询、键和值矩阵。

来自不同注意力头的输出通过线性投影进行组合和转换,从而产生整合多个视角信息的最终表示。

Transformer 架构

《Attention Is All You Need》论文中介绍的 Transformer 架构由几个关键组件组成,这些组件协同工作以实现有效的序列建模。主要组件是编码器、解码器、位置编码、残差连接、层归一化、多头注意块、屏蔽多头注意块和前馈网络。

我们已经讨论了多头注意力块。蒙面多头注意力与此相同,但有一点变化。我们屏蔽后续的序列元素。即,只允许参加当前位置(包括当前位置)的位置。这是通过将这些值的 softmax 设置为负无穷来实现的。

  • 编码器:Transformer 架构中的左侧部分是编码器部分。它由一个多头注意力块、一个前馈网络、多个残差连接和层归一化组成。它采用输入序列的嵌入以及添加到其中的位置编码。在原始论文中,他们使用了 6 个编码器。
  • 解码器:Transformer 架构中正确的部分是解码器部分。它由一个屏蔽多头注意块、一个简单多头注意块、一个前馈网络以及多个残差连接和层归一化组成。它采用输出序列的嵌入以及添加到其中的位置编码。在最初的论文中,他们使用了 6 个解码器。
  • 残差连接和层归一化:残差连接,也称为跳跃连接,是绕过神经网络中一个或多个层的直接连接。在 Transformer 架构的上下文中,残差连接用于将子层的输出连接到其输入,从而允许原始输入不变地流经该层。层归一化是一种用于归一化神经网络层内激活的技术。网络。它的目的是通过减少内部协变量偏移来提高训练稳定性和泛化性,内部协变量偏移是指网络学习时激活分布的变化。层归一化独立应用于每个神经元或特征,在小批量维度上对其值进行归一化。
  • 前馈网络:在 Transformer 架构中,前馈网络是在每层内的每个位置上独立且相同地运行的组件。它负责在自注意力机制和位置前馈子层中转换输入序列的表示。在第一次变换之后,将两个线性变换应用到具有 Relu 激活函数的自注意力机制的输出。
  • 位置编码:输入和输出序列的嵌入与位置编码连接在一起。这些编码注入有关序列中元素相对位置的信息。

学习的位置嵌入和通过正弦和余弦函数的嵌入在语言任务中产生几乎相同的结果。

总结

总之,《Attention Is All You Need》论文介绍了一种称为 Transformer 的突破性架构,它彻底改变了序列建模领域。该架构在很大程度上依赖于自注意力的概念,使其能够捕获输入序列中不同位置之间的依赖关系。

Transformer 的注意力机制使其能够对远程依赖关系进行建模、处理可变长度输入,并在各种自然语言处理任务中实现最先进的性能。

相关文章
|
1天前
|
机器学习/深度学习 算法 计算机视觉
YOLOv11改进策略【Conv和Transformer】| 2024 AssemFormer 结合卷积与 Transformer 优势,弥补传统方法不足
YOLOv11改进策略【Conv和Transformer】| 2024 AssemFormer 结合卷积与 Transformer 优势,弥补传统方法不足
12 3
YOLOv11改进策略【Conv和Transformer】| 2024 AssemFormer 结合卷积与 Transformer 优势,弥补传统方法不足
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
《C++ 中 RNN 及其变体梯度问题的深度剖析与解决之道》
在AI发展浪潮中,RNN及其变体LSTM、GRU在处理序列数据上展现出巨大潜力。但在C++实现时,面临梯度消失和爆炸问题,影响模型学习长期依赖关系。本文探讨了这些问题的根源及解决方案,如梯度裁剪、合理初始化、选择合适激活函数、截断反向传播和优化网络结构等,旨在帮助开发者构建更有效的模型。
48 9
|
6月前
|
机器学习/深度学习 API 计算机视觉
4.2 图像分类基本概念和ResNet设计思想
这篇文章介绍了图像分类的基本概念,详细阐述了ResNet(残差网络)的设计思想和实现方法,包括残差单元的结构设计、整体网络结构以及如何使用飞桨框架的高层API快速构建和训练图像分类模型。
|
8月前
|
机器学习/深度学习 编解码 PyTorch
【YOLOv8改进】HAT(Hybrid Attention Transformer,)混合注意力机制 (论文笔记+引入代码)
YOLO目标检测专栏介绍了YOLO系列的改进方法和实战应用,包括卷积、主干网络、注意力机制和检测头的创新。提出的Hybrid Attention Transformer (HAT)结合通道注意力和窗口自注意力,激活更多像素以提升图像超分辨率效果。通过交叉窗口信息聚合和同任务预训练策略,HAT优化了Transformer在低级视觉任务中的性能。实验显示,HAT在图像超分辨率任务上显著优于现有方法。模型结构包含浅层和深层特征提取以及图像重建阶段。此外,提供了HAT模型的PyTorch实现代码。更多详细配置和任务说明可参考相关链接。
|
8月前
|
机器学习/深度学习 编解码 算法
【YOLOv8改进】Polarized Self-Attention: 极化自注意力 (论文笔记+引入代码)
该专栏专注于YOLO目标检测算法的创新改进和实战应用,包括卷积、主干网络、注意力机制和检测头的改进。作者提出了一种名为极化自注意(PSA)块,结合极化过滤和增强功能,提高像素级回归任务的性能,如关键点估计和分割。PSA通过保持高分辨率和利用通道及空间注意力,减少了信息损失并适应非线性输出分布。实验证明,PSA能提升标准基线和最新技术1-4个百分点。代码示例展示了如何在YOLOv8中实现PSA模块。更多详细信息和配置可在提供的链接中找到。
|
9月前
|
机器学习/深度学习 自然语言处理 并行计算
一文搞懂Transformer架构的三种注意力机制
一文搞懂Transformer架构的三种注意力机制
792 1
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
CVPR 2021 | LocalViT:将局部性引入视觉Transformer
CVPR 2021 | LocalViT:将局部性引入视觉Transformer
169 1
|
9月前
|
机器学习/深度学习 存储 人工智能
神经网络算法 —— 一文搞懂Transformer !!
神经网络算法 —— 一文搞懂Transformer !!
387 0
|
9月前
|
机器学习/深度学习 自然语言处理 语音技术
Transformer框架
Transformer框架
118 1
|
机器学习/深度学习 自然语言处理 并行计算
Transformer相比RNN和LSTM有哪些优势?
Transformer相比RNN和LSTM有哪些优势?
561 0

热门文章

最新文章