首页 > 其他分享 >Transformer

Transformer

时间:2024-08-27 09:03:32浏览次数:10  
标签:Transformer frac sum ik 趋近 partial

Transformer八股

目录

Self-Attention 的注意力分数计算公式

\[score = Softmax(\frac{QK^T}{\sqrt{d_k}}) \]

为什么要进行scaling?

当 \(QK^T\) 的方差很大时,不同的 key 和 query 点积之后的结果可能会相差很大,从而 softmax 之后的分数趋近于 0 或 1,导致 softmax 函数的梯度很小,反向传播时参数无法得到更新。
softmax 公式为:

\[S(x_i) = \frac{e^{x_i}}{\sum_{j=1}^{n}e^{x_j}} \]

求偏导得:

\[\frac{\partial}{\partial x_i}S(x_i)=S(x_i)(1-S(x_i)) \]

\[\frac{\partial}{\partial x_j}S(x_i)=-S(x_i)S(x_j) \]

\(x_i\)为点积后的结果

  • 当 \(x_i\) 相对于其他的 \(x_j\) 特别大时,\(S(x_i)\) 趋近于 1,\(S(x_j)\) 趋近于 0,则\(\frac{\partial}{\partial x_i}S(x_i)\) 和 \(\frac{\partial}{\partial x_j}S(x_i)\) 都趋近于 0
  • 当 \(x_i\) 相对于其他的 \(x_j\) 特别小时,\(S(x_i)\) 趋近于 0,,则\(\frac{\partial}{\partial x_i}S(x_i)\) 和 \(\frac{\partial}{\partial x_j}S(x_i)\) 也都趋近于 0

为什么是 \(\sqrt{d_k}\)?

假设 query 和 key 向量中的元素都是相互独立的均值为 0,方差为 1 的随机变量。

\[\begin{align*} &E(q_i)=E(k_i)=0 \\ &Var(q_i)=Var(k_i)=1 \end{align*} \]

那么这两个向量的内积 \(q^Tk=\sum_{i=1}^{d_k}q_ik_i\) 的期望和方差为:

\[\begin{align*} E(\sum_{i=1}^{d_k}q_ik_i) &= \sum_{i=1}^{d_k} E(q_ik_i) \\ &= \sum_{i=1}^{d_k} E(q_i)E(k_i) \\ &= 0 \\ Var(\sum_{i=1}^{d_k}q_ik_i) &= \sum_{i=1}^{d_k} Var(q_ik_i) \\ &= \sum_{i=1}^{d_k} \left(E[(q_ik_i)^2]-E^2[q_ik_i]\right) \\ &= \sum_{i=1}^{d_k} \left(E(q_i^2)E(k_i^2)-0\right) \\ &= d_k \end{align*} \]

所以除以 \(\sqrt{d_k}\) 使得方差为 1

Position Embedding

参考
https://zhuanlan.zhihu.com/p/454482273
https://kazemnejad.com/blog/transformer_architecture_positional_encoding/
第 \(t\) 个位置编码的向量计算方式:

\[\begin{aligned} &{\overrightarrow{p_t}}^{(i)}=f(t)^{(i)}:= \begin{cases}\sin \left(\omega_k \cdot t\right), & \text { if } i=2 k \\ \cos \left(\omega_k \cdot t\right), & \text { if } i=2 k+1\end{cases}\\ &\omega_k=\frac{1}{10000^{2 k / d}} \end{aligned} \]

Transformer位置编码的性质

  1. 能为每个时间步输出一个独一无二的编码;
  2. 使用多个周期不同的周期函数组成的多维度编码和递增序列编码是等价的;
  3. 不同的位置向量是可以通过线性转换得到的,即能表示相对位置;
  4. 模型能轻松泛化到更长的句子;
  5. 它的值是有界的,取值范围为 \([-1, 1]\) ,并且是确定性的;

标签:Transformer,frac,sum,ik,趋近,partial
From: https://www.cnblogs.com/EIPsilly/p/18381908

相关文章

  • 语言图像模型大一统!Meta将Transformer和Diffusion融合,多模态AI王者登场
    前言 就在刚刚,Meta最新发布的Transfusion,能够训练生成文本和图像的统一模型了!完美融合Transformer和扩散领域之后,语言模型和图像大一统,又近了一步。也就是说,真正的多模态AI模型,可能很快就要来了!欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读......
  • Transformer作者预警:只卖模型玩不过OpenAI!
    前言 只卖模型真的不赚钱!欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。本文转载自量子位仅用于学术分享,若侵权请联系删除CV方向的准研究生们,未来三年如何度过?招聘高光谱图像、语义分割、diffusion等方向论文指导老师谷......
  • LaViT:Less-Attention Vision Transformer的特性与优点
    引言https://arxiv.org/pdf/2406.00427随着计算机视觉领域的发展,视觉Transformer(ViTs)逐渐成为一项重要技术。尽管ViTs在捕捉图像中的长距离依赖关系方面表现出色,但其沉重的计算负担和潜在的注意力饱和问题一直是实际应用的障碍。为解决这些问题,微软提出了Less-AttentionV......
  • 最容易理解的Swin transformer模型(通俗易懂版)
    SwinTransformer:HierarchicalVisionTransformerusingShiftedWindows1.论文信息原文地址:https://arxiv.org/abs/2103.14030官网地址:https://github.com/microsoft/Swin-Transformer2.网络框架2.1swimVSvit 从图中可以得到,Swin相较于ViT的区别在于:Swim模型......
  • 【HuggingFace Transformers】BertSelfAttention源码解析
    BertSelfAttention源码解析1.BertSelfAttention类介绍1.1关键组件1.2主要方法2.BertSelfAttention类源码解析(核心简版)3.BertSelfAttention类源码解析1.BertSelfAttention类介绍BertSelfAttention类是BERT模型的核心组件之一,主要负责实现多头自注意力......
  • iTransformer时序模型改进——基于SENet和TCN的倒置Transformer,性能暴涨
    1数据集介绍ETT(电变压器温度):由两个小时级数据集(ETTh)和两个15分钟级数据集(ETTm)组成。它们中的每一个都包含2016年7月至2018年7月的七种石油和电力变压器的负载特征。 数据集链接:https://drive.google.com/drive/folders/1ZOYpTUa82_jCcxIdTmyr0LXQfvaM9vIy......
  • vit和swin transformer的区别
    ViTvsSwinTransformerViT和SwinTransformer的区别1.架构设计ViT(VisionTransformer):ViT直接将图像分割成固定大小的非重叠小块(patches),然后将每个小块展开成一个向量,并将这些向量序列作为输入送入标准的Transformer架构中。每个小块会被映射到一个高维特征空间,然......
  • Spark MLlib 特征工程系列—特征转换SQLTransformer
    SparkMLlib特征工程系列—特征转换SQLTransformer1.什么是SQLTransformerSQLTransformer是Spark提供的一个特征转换工具,它允许你通过SQL查询来对数据进行灵活的转换。使用SQLTransformer,你可以直接在DataFrame上编写SQL语句,进行特征工程或数据预处理。这种......
  • 力压Transformer,详解Mamba和状态空间模型
    大家好,大型语言模型(LLMs)之所以能够在语言理解与生成上取得巨大成功,Transformer架构是其强大的支撑。从开源的Mistral,到OpenAI开发的闭源模型ChatGPT,都采用了这一架构。然而技术的探索从未止步,为进一步提升LLMs的性能,学界正在研发能够超越Transformer的新架构。其中,Mamba模型以......
  • SLAB:华为开源,通过线性注意力和PRepBN提升Transformer效率 | ICML 2024
    论文提出了包括渐进重参数化批归一化和简化线性注意力在内的新策略,以获取高效的Transformer架构。在训练过程中逐步将LayerNorm替换为重参数化批归一化,以实现无损准确率,同时在推理阶段利用BatchNorm的高效优势。此外,论文设计了一种简化的线性注意力机制,其在计算成本较低的情况下......