Transformer的前世今生 day05(Self-Attention、

2024-03-20 18:04

本文主要是介绍Transformer的前世今生 day05(Self-Attention、,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Self-Attention

前情提要

  • 注意力机制:我们在看一幅图的时候,不会去看它的所有信息,相反我们倾向于看一些重点,并把我们的焦点放到这些重要信息上,过程如下:
    在这里插入图片描述
  • 首先:Q、K相乘求相似度,并做一个Scale缩放(避免未来做softmax的时候出现极端情况),然后通过softmax得到概率,并与V做乘加操作得到新的V’,这个V‘包含了原本的Q中跟K很相似,很重要的信息,也就是新的V’包含了注意力信息

自注意力机制

  • Selft-Attention的关键点在于: X K X_K XK ≈ \approx X V X_V XV ≈ \approx X Q X_Q XQ,这三者同源,都来自于同一个输入X
  • 步骤如下:
    • 通过 W Q W^Q WQ W K W^K WK W V W^V WV三个矩阵来获取 X K X_K XK ≈ \approx X V X_V XV ≈ \approx X Q X_Q XQ
      在这里插入图片描述
  • 之后的步骤和注意力机制一样
  • q 1 q_1 q1 k 1 k_1 k1点乘, q 1 q_1 q1 k 2 k_2 k2点乘得到相似度s
    在这里插入图片描述
  • 先做一个scale缩放,除 d k \sqrt{d_k} dk ,再做softmax得到概率a
    • 注意:由于 x 1 x_1 x1:Thinking和它本身显然要比和 x 2 x_2 x2:Machines更为相似,所以得到的概率也就更大
      在这里插入图片描述
  • 最后,将 q 1 q_1 q1中和每个K点乘得到的的概率,和V相乘,并求总和,得到 z 1 z_1 z1
    • z 1 z_1 z1就是Thinking这个输入的新的V’,且包含了每一个单词和Thinking的相似度,包括Thinking本身。
    • 换句话说:如果我们的输入 x 1 x_1 x1为Thinking的初始词向量,那么我们通过Self-Attention得到的 Z 1 Z_1 Z1仍然是Thinking的词向量,只不过这个词向量包含了Thinking Machines这句话中的每个词跟Thinking的相似度
      在这里插入图片描述
  • 使用Self-Attention的示例如下:
    • 由于its和law、application相似,所以使用Self-Attention后得到的its词向量,会包含一定的law、application信息,即包含了一定的全局关系。
    • 而如果不做自注意力机制,its的词向量就是单纯的its,没有任何的附加信息
      请添加图片描述

参考文献

  1. 10 Self-Attention(自注意力机制)

这篇关于Transformer的前世今生 day05(Self-Attention、的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/830307

相关文章

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

多头注意力机制(Multi-Head Attention)

文章目录 多头注意力机制的作用多头注意力机制的工作原理为什么使用多头注意力机制?代码示例 多头注意力机制(Multi-Head Attention)是Transformer架构中的一个核心组件。它在机器翻译、自然语言处理(NLP)等领域取得了显著的成功。多头注意力机制的引入是为了增强模型的能力,使其能够从不同的角度关注输入序列的不同部分,从而捕捉更多层次的信息。 多头注意力机

2025秋招NLP算法面试真题(二)-史上最全Transformer面试题:灵魂20问帮你彻底搞定Transformer

简单介绍 之前的20个问题的文章在这里: https://zhuanlan.zhihu.com/p/148656446 其实这20个问题不是让大家背答案,而是为了帮助大家梳理 transformer的相关知识点,所以你注意看会发现我的问题也是有某种顺序的。 本文涉及到的代码可以在这里找到: https://github.com/DA-southampton/NLP_ability 问题

算是一些Transformer学习当中的重点内容

一、基础概念         Transformer是一种神经网络结构,由Vaswani等人在2017年的论文Attentions All YouNeed”中提出,用于处理机器翻译、语言建模和文本生成等自然语言处理任务。Transformer同样是encoder-decoder的结构,只不过这里的“encoder”和“decoder”是由无数个同样结构的encoder层和decoder层堆叠组成

Simple-STNDT使用Transformer进行Spike信号的表征学习(一)数据处理篇

文章目录 1.数据处理部分1.1 下载数据集1.2 数据集预处理1.3 划分train-val并创建Dataset对象1.4 掩码mask操作 数据、评估标准见NLB2021 https://neurallatents.github.io/ 以下代码依据 https://github.com/trungle93/STNDT 原代码使用了 Ray+Config文件进行了参数搜

LLM agentic模式之reflection:SELF-REFINE、Reflexion、CRITIC

SELF-REFINE SELF-REFINE出自2023年3月的论文《Self-Refine: Iterative Refinement with Self-Feedback》,考虑到LLM第一次生成结果可能不是最好的输出,提出一种包括反馈(feedback)和改善(refinement)两个步骤的迭代方法来改进LLM的初始输出。 基本思路 对于输入,SELF-REFINE让LLM生成一个

QuantML-Qlib Model | Kansformer: KAN+Transformer时序模型用于股票收益率预测

QuantML-Qlib Model | Kansformer: KAN+Transformer时序模型用于股票收益率预测 原创 QuantML QuantML 2024-06-18 20:57 上海 Content 之前公众号介绍了几篇KAN的文章,也做过KAN相关的模型: What KAN I say?KAN代码全解析 QuantML-Qlib开发版 | 最新神经网络结构KAN用于因

从零对Transformer的理解(台大李宏毅)

Self-attention layer自注意力 对比与传统cnn和rnn,都是需要t-1时刻的状态然后得到t时刻的状态。我不知道这样理解对不对,反正从代码上看我是这么认为的。而transformer的子注意力机制是在同一时刻产生。意思就是输入一个时间序列,在计算完权重后就直接得到状态。 计算注意力机制的参数q,k,v 那么相信大家肯定看不懂上面的,接下来我来说说a(1,n)怎么计算(如图)

【Deep Learning】Self-Supervised Learning:自监督学习

自监督学习 本文基于清华大学《深度学习》第12节《Beyond Supervised Learning》的内容撰写,既是课堂笔记,亦是作者的一些理解。 在深度学习领域,传统的监督学习(Supervised Learning)的形式是给你输入 x x x和标签 y y y,你需要训练一个基于参数 θ \theta θ的神经网络 f θ ( x ) f_\theta(x) fθ​(x)使其能

MCT Self-Refine:创新集成蒙特卡洛树搜索 (MCTS)提高复杂数学推理任务的性能,超GPT4,使用 LLaMa-3 8B 进行自我优化

📜 文献卡 题目: Accessing GPT-4 level Mathematical Olympiad Solutions via Monte Carlo Tree Self-refine with LLaMa-3 8B作者: Di Zhang; Xiaoshui Huang; Dongzhan Zhou; Yuqiang Li; Wanli OuyangDOI: 10.48550/a