从梯度最大化看Attention的Scale操作

d28d49c282c65334d792bdf9495fa91b.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 月之暗面

研究方向 | NLP、神经网络

我们知道,Scaled-Dot Product Attention 的 Scale 因子是,其中 是 的维度。这个 Scale 因子的一般解释是:如果不除以 ,那么初始的 Attention 就会很接近 one hot 分布,这会造成梯度消失,导致模型训练不起来。然而,可以证明的是,当 Scale 等于 0 时同样也会有梯度消失问题,这也就是说 Scale 太大太小都不行。

那么多大的 Scale 才适合呢? 是最佳的 Scale 了吗?本文试图从梯度角度来回答这个问题。

05d0419efbe267bbf9c2fe8378be15b7.png

已有结果

在《浅谈Transformer的初始化、参数化与标准化》[1] 中,我们已经推导过标准的 Scale 因子 ,推导的思路很简单,假设初始阶段 都采样自“均值为 0、方差为 1”的分布,那么可以算得

ee335795e452453880bcf32be49f3bab.png

于是我们将 除以 ,将 Attention Score 的方差变为 1。也就是说,之前的推导纯粹是基于“均值为 0、方差为 1” 就会更好的信仰来得到的结果,但没有解释让 Attention Score 的方差为 1,也没有评估 是否真的就解决了梯度消失问题。

当然,从已有的实验来看, 至少一定程度上是缓解了这个问题,但这毕竟是实验结果,我们还是希望能从理论上知道“一定程度”究竟是多少。

109026330a013279158a220d351d8349.png

计算梯度

既然涉及到了梯度,那么最好的办法就是把梯度算出来,然后定一个优化目标。设 ,, 是归一化因子,那么可以直接算得:

d2f69c77d99b026a7bf9c47c1439e518.png

或者可以简写成 。很明显,当 时梯度为 0;当 时, 之中只有一个 1、其余都是 0(假设 中只有唯一的最大值),梯度也是 0。

为了更有利

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值