Self-Attention 及Multi-Head Attention

本文详细介绍了Transformer模型的核心组件——Self-Attention和Multi-Head Attention,以及Positional Encoding的重要性。Transformer由于其并行计算能力和对位置信息的处理,成为自然语言处理领域的关键模型。Self-Attention通过计算query、key和value之间的相关性来捕获序列中的依赖关系,而Multi-Head Attention则通过多个Self-Attention头来捕捉不同子空间的信息。Positional Encoding的引入解决了模型忽略输入顺序的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Transformer是2017年Google在Computation and Language上发表的,当时主要是针对自然语言处理领域提出的(之前的RNN模型记忆长度有限且无法并行化,只有计算完 t_{i} 时刻后的数据才能计算t_{i+1} 时刻的数据,但Transformer都可以做到)。在这篇文章中作者提出了Self-Attention的概念,然后在此基础上提出Multi-Head Attention。

self-attention或者transformer的相关资料,基本上都是贴的原论文中的几张图以及公式

Self-Attention 

假设输入的序列长度为2,输入就两个节点 x_{1}x_{2} ,然后通过Input Embedding也就是图中的 f(x) 将输入映射到a_{1}, a_{2} 。紧接着分别将a_{1} , a_{2}  分别通过三个变换矩阵W_{q}, W_{k} , W_{v}(这三个参数是可训练的,是共享的)得到对应的 q^{i}, k^{i}, v^{i}(这里在源码中是直接使用全连接层实现的,这里为了方便理解,忽略偏执)。

其中

  • q 代表query,后续会去和每一个k 进行匹配
  • k 代表key,后续会被每个q 匹配
  • v 代表从a 中提取得到的信息
  • 后续q 和k 匹配的过程可以理解成计算两者的相关性,相关性越大对应v 的权重也就越大

假设a_{1}=\left ( 1,1 \right )a_{2} =\left ( 1,0 \right )W_{q} =\binom{1 , 1}{0, 1} 那么:

                q^{1} =\left ( 1,1 \right )\binom{1 , 1}{0, 1} = \left ( 1,2 \right )      q^{2} = \left ( 1,0 \right )\binom{1 , 1}{0, 1} = \left ( 1,1 \right )

Transformer是可以并行化的,所以可以直接写成:

                                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值