transformer的新手疑问

Transformer模型的原理主要基于自注意力机制(Self-Attention)编码器-解码器结构。它的设计不依赖传统的循环神经网络(RNN)或卷积神经网络(CNN),而是通过并行的方式处理序列数据,极大提高了训练效率和性能。下面是Transformer的主要原理:

1. 自注意力机制

自注意力机制是Transformer的核心。它可以在序列中找到每个词与其他词的相关性,从而理解上下文关系。计算方法如下:

  • 输入向量转化为Query(Q)、Key(K)和Value(V):每个词通过线性变换生成Q、K、V向量。
  • 计算注意力权重:对每个词的Q与其他词的K进行点积,并归一化得到权重。
  • 生成输出:用权重对V向量加权求和,生成关注的输出。

2. 多头注意力(Multi-Head Attention)

多头注意力是在不同子空间中计算注意力,捕获更多的语义信息。通过多个Q、K、V头(通常8或12个),得到多个注意力输出并进行拼接,提供更丰富的表达。

3. 位置编码(Positional Encoding)

因为Transformer没有顺序处理输入,所以需要加入位置编码来保留序列信息。位置编码是一种向量,通过加到词嵌入上,给出词的位置信息,通常通过正弦和余弦函数计算。

4. 编码器-解码器结构

Transformer分为编码器和解码器:

  • 编码器:输入的序列通过自注意力和前馈神经网络逐层编码,生成每个词的上下文向量。
  • 解码器:解码器通过自注意力机制生成目标序列,使用编码器输出的上下文信息。自注意力用于目标序列中的词彼此关注。

5. 前馈神经网络和残差连接

编码器和解码器层中还有一个前馈神经网络(两层MLP),用于非线性变换。每层之间有残差连接和Layer Normalization,保持梯度稳定和模型深度的效果。

三个权重矩阵即W Q , W K , W V , 这个怎么得出来的?

那为什么dk=dv,那么直接用dk表示不就行了吗 

 

在自注意力机制中,将分数除以一个常数(例如8,通常是键向量维度的平方根),这是为什么?

自注意力层的完善——“多头”注意力机制,引入这个的意义是什么?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值