♎
Limited AI
  • Machine Learning
    • Linear Model Cheating Sheet
    • Nonlinear Model Cheating Sheet
    • General Linear Model 1
    • General Linear Model 2
    • General Linear Model 3
    • Tree Based Methods
    • Tree Based Methods Supplement
    • XG,Cat,Light__Boosting
    • KNN&PCA
    • Model Performance
    • Model Evaluation
    • Code Practice
      • KNN
      • Decision Tree Python Code
    • Data and Feature Engineering
      • Handle Bias Data
      • Cold Start Problem
  • Deep Learning
    • Summary v2
    • Basic Neural Network
      • From Linear to Deep
      • Perceptron and Activation Function
      • NN network Details
      • Backpropagation Details
      • Gradient Vanishing vs Gradient Exploding
    • Basic CNN
      • Why CNN
      • Filter/ Convolution Kernel and Its Operation
      • Padding& Stride
      • Layers
      • Extra:From Fully Connected Layers to Convolutions
      • Extra: Multiple Input and Multiple Output Channels
    • Advance CNN
      • Convolutional Neural Networks(LeNet)
      • Deep Convolution Neural Networks(AlexNet)
      • Networks Using Blocks (VGG)
      • Network in Network(NiN)
      • Multi-Branch Networks(GoogLeNet&I mageNet)
      • Residual Networks(ResNet) and ResNeXt
      • Densely Connected Networks(DenseNet)
      • Batch Normalization
    • Basic RNN
      • Seq Model
      • Raw Text to Seq
      • Language Models
      • Recurrent Neural Networks(RNN)
      • Backpropagation Through Time
    • Advance RNN
      • Gated Recurrent Units(GRU)
      • Long Short-Term Memory(LSTM)
      • Bidirectional Recurrent Neural Networks(BRNN)
      • Encoder-Decoder Architecture
      • Seuqence to Sequence Learning(Seq2Seq)
    • Attention Mechanisms and Transformers
      • Queries, Keys, and Values
      • Attention is all you need
        • Attention and Kernel
        • Attention Scoring Functions
        • The Bahdanau Attention Mechanism
        • Multi-Head Attention
        • Self-Attention
        • Attention的实现
      • The Transformer Architecture
        • Extra Reading
        • 最短的最大路径长度
      • Large-Scaling Pretraning with Transformers
        • BERT vs OpenAI GPT vs ELMo
        • Decoder Model框架
        • Bert vs XLNet
        • T5& GPT& Bert比较
        • 编码器-解码器架构 vs GPT 模型
        • Encoder vs Decoder Reference
      • Transformers for Vision
      • Transformer for Multiomodal
    • NLP Pretraining
      • Word Embedding(word2vec)
        • Extra Reading
      • Approximate Training
      • Word Embedding with Global Vectors(GloVe)
        • Extra Reading
        • Supplement
      • Encoder(BERT)
        • BERT
        • Extra Reading
      • Decoder(GPT&XLNet&Lamma)
        • GPT
        • XLNet
          • XLNet架构
          • XLNet特点与其他比较
      • Encoder-Decoder(BART& T5)
        • BART
        • T5
  • GenAI
    • Introduction
      • GenAI Paper Must Read
      • GenAI六个阶段
    • Language Models Pre-training
      • Encoder-Decoder Architecture
      • Encoder Deep Dive
      • Decoder Deep Dive
      • Encoder VS Decoder
      • Attention Mechanism
      • Transformers
    • Example: Llama 3 8B架构
    • Fine-Tuning Generation Models
    • RAG and Adavance RAG
    • AI Agent
  • Statistics and Optimization
    • A/B testing
    • Sampling/ABtesting/GradientMethod
    • Gradient Decent Deep Dive
  • Machine Learning System Design
    • Extra Reading
    • Introduction
  • Responsible AI
    • AI Risk and Uncertainty
      • What is AI risk
      • General Intro for Uncertainty Quantification
      • Calibration
      • Conformal Prediction
        • Review the linear regression
        • Exchangeability
        • Split Conformal Prediction
        • Conformalized Quantile Regression
        • Beyond marginal coverage
        • Split Conformal Classification
        • Full Conformal Coverage
        • Cross-Validation +
        • Conformal Histgram Regression
    • xAI
      • SHAP value
  • Extra Research
    • Paper Reading
    • Reference
Powered by GitBook
On this page
  • 掩蔽softmax操作
  • 加性注意力
  • 缩放点积注意力
  1. Deep Learning
  2. Attention Mechanisms and Transformers
  3. Attention is all you need

Attention Scoring Functions

PreviousAttention and KernelNextThe Bahdanau Attention Mechanism

Last updated 8 months ago

前文提到了使用了高斯核来对查询和键之间的关系建模。

  • 之前的高斯核指数部分可以视为注意力评分函数(attention scoring function),简称评分函数(scoring function),然后把这个函数的输出结果输入到softmax函数中进行归一化。

  • 通过上述步骤,将得到与键对应的值的概率分布(即注意力权重)。

  • 最后,注意力汇聚的输出就是基于这些注意力权重的值的加权和。

从宏观来看,上述算法可以用来实现基本的注意力机制框架。然而以下的图说明了如何将注意力汇聚的输出计算成为值的加权和,其中α\alphaα表示注意力评分函数。由于注意力权重是概率分布,因此加权和其本质上是加权平均值。

用数学语言描述,假设有一个查询q∈Rqq \in \mathbb{R}^{q}q∈Rq和mmm个“键-值”对(k1,v1),…,(km,vm)(k_1, v_1), \dots, (k_m, v_m)(k1​,v1​),…,(km​,vm​),其中ki∈Rk,vi∈Rvk_i \in \mathbb{R}^{k}, v_i \in \mathbb{R}^{v}ki​∈Rk,vi​∈Rv。注意力汇聚函数fff就被表示成值的加权和:

f(q,(k1,v1),…,(km,vm))=∑i=1mα(q,ki)vi∈Rvf(q, (k_1, v_1), \dots, (k_m, v_m)) = \sum_{i=1}^{m} \alpha(q, k_i)v_i \in \mathbb{R}^{v}f(q,(k1​,v1​),…,(km​,vm​))=∑i=1m​α(q,ki​)vi​∈Rv

其中查询qqq和键kik_iki​的注意力权重(标量)是通过注意力评分函数α\alphaα将两向量映射成标量,再经由softmax运算得到的:

α(q,ki)=softmax(α(q,ki))=exp⁡(α(q,ki))∑j=1mexp⁡(α(q,kj))∈R\alpha(q, k_i) = \text{softmax}(\alpha(q, k_i)) = \frac{\exp(\alpha(q, k_i))}{\sum_{j=1}^{m} \exp(\alpha(q, k_j))} \in \mathbb{R}α(q,ki​)=softmax(α(q,ki​))=∑j=1m​exp(α(q,kj​))exp(α(q,ki​))​∈R

选择不同的注意力评分函数α\alphaα会导致不同的注意力汇聚操作。

掩蔽softmax操作

  • 据我们所知softmax的操作时用于输出一个概率分布作为注意力权重

  • 在某些情况下,并非所有的值都应该被收纳道注意力汇聚中

  • 比如说在一些高校处理小批量数据集的时候,某些文本序列被填充了没有意义的特殊词元

  • 所以为了能将有意义的词元当作为值来获取注意力的汇聚,可以制定一个有效序列长度(即词元的个数),以便于在计算softmax时候过滤掉超出指定指定范围的位置。

加性注意力

一般来说,当查询和键是不同长度的矢量时,可以使用加性注意力作为评分函数。给定查询 q∈Rqq \in \mathbb{R}^{q}q∈Rq和 键 k∈Rkk \in \mathbb{R}^{k}k∈Rk,加性注意力(additive attention)的评分函数为:

a(q,k)=wv⊤tanh⁡(Wqq+Wkk)∈Ra(q, k) = \mathbf{w_v}^\top \tanh(\mathbf{W_q}q + \mathbf{W_k}k) \in \mathbb{R} a(q,k)=wv​⊤tanh(Wq​q+Wk​k)∈R

其中可学习的参数是 Wq∈Rh×q\mathbf{W_q} \in \mathbb{R}^{h \times q}Wq​∈Rh×q、Wk∈Rh×k\mathbf{W_k} \in \mathbb{R}^{h \times k}Wk​∈Rh×k 和 wv∈Rh\mathbf{w_v} \in \mathbb{R}^{h}wv​∈Rh。将查询和键连接起来后输入到一个多层感知机(MLP)中,感知机包含一个隐藏层,其隐藏单元数是一个超参数 hhh。通过使用 tanh⁡\tanhtanh 作为激活函数,并且禁用偏置项。

缩放点积注意力

使用点积可以得到计算效率更高的评分函数,但是点积操作要求查询和键具有相同的长度 ddd。假设查询和键的所有元素都是独立的随机变量,并且都满足零均值和单位方差,那么两个向量的点积的均值为 0,方差为 ddd。为确保无论向量长度如何,点积的方差在不考虑向量长度的情况下仍然是常量,我们再将点积除以 d\sqrt{d}d​,则缩放点积注意力(scaled dot-product attention)评分函数为:

a(q,k)=q⊤kd.a(q, k) = \frac{\mathbf{q}^\top \mathbf{k}}{\sqrt{d}}. a(q,k)=d​q⊤k​.

在实践中,我们通常从小批量的角度来考虑高效率,例如基于 nnn 个查询和 mmm 个键-值对计算注意力,其中查询和键的长度为 ddd,值的长度为 v0v_0v0​。查询 Q∈Rn×d\mathbf{Q} \in \mathbb{R}^{n \times d}Q∈Rn×d,键 K∈Rm×d\mathbf{K} \in \mathbb{R}^{m \times d}K∈Rm×d 和 值 V∈Rm×v\mathbf{V} \in \mathbb{R}^{m \times v}V∈Rm×v 的缩放点积注意力是:softmax(QK⊤d)V∈Rn×v.\text{softmax} \left( \frac{\mathbf{Q}\mathbf{K}^\top}{\sqrt{d}} \right) \mathbf{V} \in \mathbb{R}^{n \times v}. softmax(d​QK⊤​)V∈Rn×v.