我是靠谱客的博主 可爱唇彩,最近开发中收集的这篇文章主要介绍transformer中的缩放点积注意力为什么要除以根号d,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前段时间在看transformer的时候,看到他的self-attention机制的公式里需要除以维度的算术平方根,想了一会没有想明白。

回去看原论文。作者认为,当d较大时,点积的幅度也就变大,容易进入softmax函数的梯度消失区域。

什么叫点积的幅度变大?这里作者指的应该是方差会变大。点积之后,数据的方差会改变,不等同于原分布。这就需要我们进行一个操作使方差等同于原分布。假设原分布是标准正态分布,那为什么需要除以根号d来归一化到标准正态分布呢?我尝试自己推导一下公式:

波浪线那块我是直接将各个qi*ki之间看成是相互独立的,但是,并没有严格的证明过程。(要是有懂的大佬可以在评论区教我一下) 

综上,除以维度的算术平方根会使得分布重新归一化到数据原分布,防止出现梯度消失。

最后

以上就是可爱唇彩为你收集整理的transformer中的缩放点积注意力为什么要除以根号d的全部内容,希望文章能够帮你解决transformer中的缩放点积注意力为什么要除以根号d所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部