首页 > 其他分享 >【论文阅读笔记】Transformer——《Attention Is All You Need》

【论文阅读笔记】Transformer——《Attention Is All You Need》

时间:2024-11-08 19:59:27浏览次数:4  
标签:... Transformer attention text Attention head pos Need

论文地址:https://arxiv.org/pdf/1706.03762
代码地址:https://github.com/huggingface/transformers

目录

Introduction

  1. RNN,LSTM 处理时序信息的局限性:无法并行,部分历史信息会在后面丢弃
  2. 编码器与解码器结构
  3. proposed transformer:纯注意力机制

Background

  1. CNN 替换 RNN:无法对时序信息进行建模——自注意力可以解决;CNN 可以多个输出通道——多头注意力机制
  2. Memory-Network

Model Architecture

图 1:Transformer 架构

  • Encoder:$\text{input}(x_1,...,x_n) \rightarrow \text{output: } \boldsymbol{z}=(z_1,...,z_n) $,其中 \(z_t(1 \le t \le n)\) 为 \(x_t\) 的向量表示
  • Decoder:$\text{input}(z_1,...,z_n) \rightarrow \text{output: } \boldsymbol{y}=(y_1,...,y_m) $:一个一个生成(auto-regression),上一时刻输出为下一时刻输入

Encoder

2 个子层:\(LayerNorm(x+Sublayer(x)) * 2\),每一层输出均为 512 维

LN and BN

  1. 如果 feature 长度不同:BN 更加不稳定!
  1. 预测过程
  • BN:要记录全局的 \(\mu\) 和 \(\sigma\),如果有的 feature 很长训练没见过,\(\mu\) 和 \(\sigma\) 就不合适了
  • LN:每个样本内部计算,不受全局影响,受长度影响很小

Decoder

3 个字层:\(LayerNorm(x+Sublayer(x)) * 3\),自回归

Attention

图 2:dot-product attention 结构

其中 \(Q,K\) 是 \(d_k\) 维,\(V\) 是 \(d_v\) 维,attention计算公式:

\[\text{Attention}(Q,K,V)=\text{softmax}(\frac{QK^T}{\sqrt{d_k}})V \]

为什么是 scaled dot-product attention?

  1. 因为点乘非常简单,两次矩阵乘法易于并行计算
  2. 当 \(d_k\) 比较大,\(\text{softmax}(QK^T)\) 分布发散,梯度比较小收敛慢

Mask 操作

\(QK^T\) 后将 \(t\) 位置之后变为很小的负数(如\(-1e10\)),softmax 后为 0

Multi-head Attention

能够学习到不同的投影,不同特征。计算公式如下:

\[\text{MultiHead}(Q,K,V)=\text{Concat}(head_1,...,head_n)W^o \]

\[where \ \ \ head_i=\text{Attention}(QW_i^Q,KW_i^K,VW_i^V) \]

Feed-Forward

\[\text{FFN}(x)=max(0,xW_1+b_1)W_2+b_2 \]

Postion Encoding

加入时序信息:

\[\text{PE}(pos,2i)=\sin(pos/10000^{2i/d}) \]

\[\text{PE}(pos,2i+1)=\cos(pos/10000^{2i/d}) \]

Why self-attention

标签:...,Transformer,attention,text,Attention,head,pos,Need
From: https://www.cnblogs.com/keanshi/p/18535710

相关文章

  • 【论文阅读笔记】Transformer——《Attention Is All You Need》
    论文地址:https://arxiv.org/pdf/1706.03762代码地址:https://github.com/huggingface/transformers目录IntroductionBackgroundModelArchitectureEncoderLNandBNDecoderAttentionMulti-headAttentionFeed-ForwardPostionEncodingWhyself-attentionIntroductionRNN,L......
  • 首个Mamba+Transformer多模态大模型
    扩展多模态大语言模型(MLLMs)的长上下文能力对于视频理解、高分辨率图像理解以及多模态智能体至关重要。这涉及一系列系统性的优化,包括模型架构、数据构建和训练策略,尤其要解决诸如随着图像增多性能下降以及高计算成本等挑战。该团队将模型架构调整为Mamba和Transformer......
  • 【YOLOv11改进 - 注意力机制】EMA(Efficient Multi-Scale Attention):基于跨空间学习的高
    介绍摘要通道或空间注意力机制在许多计算机视觉任务中表现出显著的效果,可以生成更清晰的特征表示。然而,通过通道维度缩减来建模跨通道关系可能会对提取深度视觉表示带来副作用。本文提出了一种新颖高效的多尺度注意力(EMA)模块。该模块着重于保留每个通道的信息并减少计算开销,我......
  • 顶会新热门:小波变换×Transformer,效率翻倍的AI图像去噪神奇组合
    2024深度学习发论文&模型涨点之——小波变换+Transformer 小波变换与Transformer的结合主要探讨如何利用小波变换的多尺度特性来增强Transformer在处理信号和图像数据时的表现。具体来说,小波变换能够有效提取信号中的局部特征,并在时间和频率域上提供信息,这对于处理复杂的......
  • 【论文精读】BERT: Pre-training of Deep Bidirectional Transformers for Language U
    【论文精读】BERT:Pre-trainingofDeepBidirectionalTransformersforLanguageUnderstanding作者:JacobDevlin,Ming-WeiChang,KentonLee,KristinaToutanova发表会议:NAACL2019论文地址:arXiv:1810.04805BERT是近年来NLP领域影响最大的模型。在CV领域,很早......
  • Transformer大模型加速简介(3)-InFormer
    Transformer模型,即《AttentionisAllyourNeed》这一大作自从被提出以来,已经成为自然语言处理(NLP)和计算机视觉等领域的核心架构(详见https://blog.csdn.net/burstone/article/details/143135395)。然而,由于其对计算和存储的高要求,对于长序列的处理存在很大的性能开销。本......
  • (六)OpenPCDet当中Pointpillars之添加全局注意力机制 (Global Attention Mechanism)-深度
    1.什么是全局注意力机制?      全局注意力机制是一种在深度学习中广泛应用的技术,尤其在激光雷达目标检测中具有重要作用。它通过计算输入数据中各元素之间的相关性,动态地确定在进行目标检测时需要关注哪些部分。全局注意力机制的关键在于通过注意力得分对不同输入部分进......
  • 基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
    文本到图谱的转换是一个具有技术挑战性的研究领域,其核心任务是将非结构化文本数据转换为结构化的图谱表示。这种技术虽然由来已久,但随着大型语言模型(LLMs)的发展,其应用范围得到了显著扩展,并逐渐成为主流技术方案之一。上图展示了信息抽取过程中文本到知识图谱的转换。图左侧展......
  • 【深度学习滑坡制图|论文解读4】基于融合CNN-Transformer网络和深度迁移学习的遥感影
    【深度学习滑坡制图|论文解读4】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法【深度学习滑坡制图|论文解读4】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法文章目录【深度学习滑坡制图|论文解读4】基于融合CNN-Transformer......
  • Transformer中为什么是layer norm不是batch norm
    讨论一下为什么transformer中用layernorm前序知识:常见的归一化层的工作原理 常见的norm之前已经讲过各个常见的归一化层了,不了解的可以去看看这篇文章。首先咱们得了解在NLP中,如果输入的几个句子不是等长的,需要使用Padding技术或者Truncation技术来使句子等长。因此对......