面试题合集(2)

1. Self Attention的时候 Q K T QK^T QKT之后要除以 d ? \sqrt{d}? d ?

参考苏剑林大神:

  1. 浅谈Transformer的初始化、参数化与标准化

    • 模型初始化:介绍了常用的采样分布,包括正态分布、均匀分布和截尾正态分布。并从代数角度理解初始化方法,提出用二阶矩来衡量指标是否“消失”或者“爆炸”,推导出Xavier初始化和He初始化的方法。
    • 激活函数:分析了激活函数对模型初始化的影响,介绍了“微调激活函数的定义”的方法,以sigmoid函数为例,说明了如何通过微调激活函数来保持二阶矩不变。还介绍了selu激活函数,它是基于同样思路进行“微调”后的elu函数。
    • 直接标准化:介绍了Batch Normalization、Instance Normalization、Layer Normalization等标准化方法,说明了它们的作用原理和区别。并指出近来的一些工作逐渐尝试去掉center这一步,甚至有些工作的结果显示去掉center这一步后性能还略有提升。类比Stylegan2 中使用去掉 center之后的 weight demodulation 来替代 Instance Nomalization;RMS Norm为什么比 Layer Normalize 更快,效果也基本一致
    • NTK参数化:介绍了NTK参数化的方法,它可以将所有参数都用标准方差初始化,但依然保持二阶矩不变。并讨论了NTK参数化跟直接用Xavier初始化相比的好处,以及Attention中除以 d \sqrt{d} d 的重要性。在结果上预先使用准方差标准化,使的参数初始化可以直接从符合0~1 分布的高斯分布中随机采样。也解释到了 T5 为什么可以不除以 d \sqrt{d} d
    • 残差连接:讨论了残差 x + F ( x ) x+F(x) x+F(x)的相关设计,指出残差会进一步放大方差,需要想相应的策略缩小其方差。介绍了Post Norm、Pre Norm、SkipInit、ReZero、Fixup等方法,并分析了它们的优缺点。提出 x + α t ∗ F ( x ) x+\alpha_t*F(x) x+αtF(x),可以在训练过程中逐步增加 α t \alpha_t αt的大小,直到为 1。
  2. 从熵不变性看Attention的Scale操作

    • 全文总结:本文从熵不变性的角度重新推导了Transformer架构中Scaled Dot-Product Attention的缩放因子,得到了一个新的缩放因子κlog⁡nd。初步的实验结果显示,新的缩放因子不改变已有的训练性能,并且对长度外推具有更好的结果。
      重要亮点:
    • Transformer注意力机制:当前Transformer架构中使用最多的注意力机制是Scaled Dot-Product Attention,其中“Scaled”是因为在Q,K转置相乘之后还要除以一个 d \sqrt{d} d 再做Softmax。
    • 熵不变性:为了使得模型结果能够更好地泛化到未知长度,Attention机制的设计应该使得ai,j尽量具备熵不变性。
    • 新的缩放因子:根据熵不变性以及一些合理的假设,我们可以得到一个新的缩放因子 κ log ⁡ ⁡ n d \frac{κ\log⁡n}{d} dκlogn,从而得到一种Scaled Dot-Product Attention。
    • 实验结果:在与训练长度一致的情况下,新的缩放因子Attention-E和常规的Scaled Dot-Product Attention Attention-O的效果是很接近的,但是外推到更大的测试长度时,则明显拉开了差距。
    • 相关结果:在阅读ACL2022的投稿论文时,发现上面有一篇《Overcoming a Theoretical Limitation of Self-Attention》,给出了相近的结果。
  3. 从梯度最大化看Attention的Scale操作

    • Attention Scale因子的一般解释:如果不除以d,初始的Attention就会很接近one hot分布,造成梯度消失,导致模型训练不起来。
    • 计算梯度:作者定义了Softmax梯度的优化目标,从最大化该目标的角度探讨了Scale因子的最优值。
    • 正态分布:作者通过遍历一些n,然后数值求解出取最大值时的α∗,发现一定范围内最优点α∗与n大致满足 α ∗ ≈ 0.84 log ⁡ ⁡ n α^*≈0.84\sqrt{\log⁡n} α0.84logn 的关系。
    • 余弦分布:作者通过数值求解最大值,然后再拟合,发现 α ∗ ≈ 3.5 log ⁡ ⁡ n α^*≈3.5\sqrt{\log⁡n} α3.5logn 拟合得也不错。
    • 相关思考:对于双向Attention(Encoder)来说,假设训练样本长度相同,那么n就是一个常数,我们可以根据n算得相应的最优α,然后固定在模型中即可;但是对于单向Attention(Decoder)来说,每个token的n实际上都不一样(位置id加1),所以理论上无法做到对所有token都最大化式(3),不过由于α∗关于n的变化较慢,所以取一个差不多的值就行了。
    • 本文从梯度的角度探讨了Attention Scale因子的选择问题,相关结果既可以用来改进Attention的Scale因子,也可以用来解释cos相似度的对比学习的温度参数。

汇总一下:如果假设均值为 0,方差为 1 的 Attention Score 会带来更好的效果,除以 d \sqrt{d} d 会使的 q k T qk^T qkT之后的Attention Score方差为1。从熵不变性来考虑,给有助于提高模型在长度外推方面的表现,增强泛化能力。从Softmax梯度的优化目标梯度最大化来看的话,这个 scale 应该为 α d \frac{\alpha}{\sqrt{d}} d α相当于在讨论给 softmax 激活函数怎么加上一个合适的温度系数!

为什么用 Attention Score计算输入输出之间的关联,而不是全连接网路?

全连接网络训练成功之后,权重值固定;但是 Attention 可以根据输入来动态的计算输入,从而决定与输出之间的关系。

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值