【深度学习】Transformer,Self-Attention,Multi-Head Attention

必读文章: https://blog.csdn.net/qq_37541097/article/details/117691873

论文名:Attention Is All You Need

文章目录

  • [1、Self-Attention 自注意力机制](#1、Self-Attention 自注意力机制)
  • [2、Multi-Head Attention](#2、Multi-Head Attention)

1、Self-Attention 自注意力机制

Query(Q)表示当前时间步的输入信息,它与Key(K)进行点积操作,用于计算注意力权重。

Key(K)表示序列中所有时间步的信息,与Query(Q)进行点积操作,用于计算注意力权重。

Value(V)包含了序列中每个时间步的隐藏状态或特征表示,根据注意力权重对其进行加权求和,得到最终的上下文向量。

注意力机制计算过程:

  1. 计算注意力分数(Attention Scores)

    注意力分数表示查询Q与键K之间的相关性,计算公式为:

A t t e n t i o n S c o r e ( Q , K ) = Q ⋅ K ⊤ d k Attention Score(Q, K) = \frac{Q \cdot K^\top}{\sqrt{d_k}} AttentionScore(Q,K)=dk Q⋅K⊤

其中,(d_k) 是查询和键的维度。

  1. 计算注意力权重(Attention Weights)

    通过对注意力分数应用softmax函数,将分数转换为注意力权重,使它们归一化并总和为1:

A t t e n t i o n W e i g h t ( Q , K ) = softmax ( A t t e n t i o n S c o r e ( Q , K ) ) Attention Weight(Q, K) = \text{softmax}(Attention Score(Q, K)) AttentionWeight(Q,K)=softmax(AttentionScore(Q,K))

  1. 计算加权值(Weighted Values)

    使用注意力权重对值V进行加权,得到加权值,计算公式如下:

W e i g h t e d V a l u e s ( Q , K , V ) = Attention Weight ( Q , K ) ⋅ V Weighted Values(Q, K, V) = \text{Attention Weight}(Q, K) \cdot V WeightedValues(Q,K,V)=Attention Weight(Q,K)⋅V

在Transformer的编码器和解码器中,Q、K、V的定义稍有不同:

在编码器(Encoder)中:

  • 查询(Q):来自上一层编码器的输出。
  • 键(K):来自上一层编码器的输出。
  • 值(V):来自上一层编码器的输出。

在解码器(Decoder)中,与编码器不同的是,还会使用编码器的输出作为额外的键(K)和值(V):

  • 查询(Q):来自上一层解码器的输出。
  • 键(K):来自编码器的输出。
  • 值(V):来自编码器的输出。

2、Multi-Head Attention

Multi-Head Attention 是 Transformer 模型中的一种注意力机制,它扩展了普通的自注意力机制(Self-Attention)以捕获更丰富的上下文信息。

在 Multi-Head Attention 中,通过使用多组独立的注意力头(attention heads),可以从不同的表示子空间中学习到更多的关系。每个注意力头都有自己对应的 Q、K、V 矩阵,通过独立的线性映射将输入进行转换得到。然后对每个注意力头进行注意力计算,并将它们的输出进行拼接,最后再经过一个线性映射得到最终的输出。

具体而言,Multi-Head Attention 的计算过程如下:

使用多个注意力头可以让模型同时关注不同位置和表示子空间的信息,从而提升模型的表达能力和泛化性能。

相关推荐
文心快码BaiduComate15 分钟前
全运会,用文心快码做个微信小程序帮我找「观赛搭子」
前端·人工智能·微信小程序
ChinaRainbowSea16 分钟前
13. Spring AI 的观测性
java·人工智能·后端·spring·flask·ai编程
2501_9411429321 分钟前
基于区块链的数字身份管理:探索安全与隐私的未来
网络·数据库·人工智能
B站_计算机毕业设计之家25 分钟前
python手写数字识别系统 CNN算法 卷积神经网络 OpenCV和Keras模型 计算机视觉 (建议收藏)✅
python·深度学习·opencv·机器学习·计算机视觉·cnn
骑猪兜风23334 分钟前
谷歌 AI IDE Antigravity 系统提示词分析
人工智能·ai编程·ai ide·gemini3·谷歌gemini3·antigravity
Jing_jing_X42 分钟前
ChatGPT 四种模式:普通对话、推理思考、深度研究、学习模式有什么区别?
人工智能·学习·chatgpt
汀、人工智能42 分钟前
AI Compass前沿速览:Gemini 3、Grok 4.1、GPT-5.1、千问、Lumine-3D开世界AI智能体
人工智能·gemini 3·grok4.1·gpt 5.1
用户51914958484543 分钟前
利用配置错误的postMessage()函数实现DOM型XSS攻击
人工智能·aigc
Valueyou241 小时前
引入基于加权 IoU 的 WiseIoU 回归损失以提升 CT 图像检测鲁棒性
人工智能·python·深度学习·目标检测