关于transformer的几个为什么

Transformer模型通过self-attention机制处理任意长度序列,使用padding mask避免填充项影响。self-attention允许每个位置关注所有位置,Multi-head attention则增强特征捕获。K和Q使用不同权重矩阵增加表达能力,除以dk的平方根是为了防止softmax梯度消失。LayerNorm用于处理数据分布,位置编码为每个词向量提供唯一位置信息。Transformer的并行运算主要体现在multi-head attention的同步计算,dropout则用于防止过拟合。
摘要由CSDN通过智能技术生成
  1. 如何实现的任意长度序列处理?
    padding mask机制,也就是对于不同长度的句子,按最长sequence length 和最长embedding dimension进行补齐,补齐的是0,但是LN层会有softmax,对于e的0次方并不是0,导致占据一定概率,因而需要处理一下,如补齐的位置设置负无穷,softmax之后也基本为0。

  2. 什么叫self-attention?
    就是自注意机制,当前时刻的输入不止关注该时刻及以前时刻的相关,也关注未来时刻的,也就是关注所有的,计算相关性,得出attention权重矩阵。
    Self-Attention的核心是用文本中的其它词来增强目标词的语义表示,从而更好的利用上下文的信息。

  3. Multi-head attention的作用?
    类似于CNN中的多个滤波器,多头注意力有助于捕捉到更丰富特征。

  4. K,Q为什么使用不同的权重矩阵生成?不同的权重矩阵时如何生成的?看一下API
    attention公式中的softmax是将一组数通过exp进行差距拉大,再归一化,得到一个近似one-hot的向量,如果权重矩阵相同,那么可能得到一个单位矩阵,self-attention可能退化成一个point-wise线性映射,对于注意力的表现力不够,因而K,Q不同是为了在不同空间进行投影,增强表达能力。
    ViT源代码对于X使用不同的权重矩阵W进而生成KQV,这里的权重矩阵是通过linear层实现的,这也说明了attention可训练的原因,正是因为可学习W,使得attention通过训练逐步关注到我们希望关注的点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值