摇来摇去摇碎点点的金黄
伸手牵来一片梦的霞光
南方的小巷推开多情的门窗
年轻和我们歌唱
摇来摇去摇着温柔的阳光
轻轻托起一件梦的衣裳
古老的都市每天都改变模样
🎵 方芳《摇太阳》
自注意力机制(Self-Attention)是一种在Transformer等大模型中经常使用的注意力机制。该机制通过对输入序列中的每个元素计算与其他元素之间的相似性,并根据相似性来决定每个元素对整个序列的注意力权重。
在自注意力机制中,输入序列被分为三个不同的向量:查询(query)、键(key)和值(value)。通过计算查询与键之间的相似性,可以得到查询对键的注意力分数。然后,将这些注意力分数与值进行加权求和,得到对各个值的加权表示,即通过自注意力机制得到的输出。具体来说,自注意力机制的计算过程如下:
-
首先,为了计算查询与键之间的相似性,可以使用点积(dot product)、缩放点积(scaled dot product)或者双线性(bilinear)函数。
-
然后,将查询与键之间的相似性通过softmax函数进行归一化,得到查询对键的注意力分布。
-
最后,将注意力分布与值进行加权求和,得到对各个值的加权表示作为自注意力机制的输出。
自注意力机制的优点在于它能够在计算每个元素的注意力权重时同时考虑到与其他元素的关系,而不是仅仅依赖于位置信息。这种全局的注意力机制使得模型能够更好地捕捉到输入序列中各个元素之间的长距离依赖关系,帮助提升模型的表达能力。因此,自注意力机制在自然语言处理任务中,如机器翻译和文本生成等,取得了很好的效果。