多头自注意力机制为何有效:数学、直觉和 10+1 个隐藏的见解

通过 10+1 个隐藏的见解和观察,了解有关臭名昭著的 Transformer 的注意力机制的所有知识

来源:AI夏令营

本文面向那些想要真正了解自注意力机制的工作原理和工作原理的好奇人士。在实施或仅解释一篇使用 transformer 的新奇论文之前,我认为展示注意力机制的各种观点会很有趣。

在研究这个主题几个月后,我发现了许多隐藏的直觉,这些直觉可以赋予基于内容的注意力机制意义。

基于内容

我为什么要花时间进一步分析自注意力?

首先,因为我找不到直接的答案来回答我显而易见的问题:为什么多头自注意力机制有效。其次,因为许多顶级研究人员,例如来自 Google 大脑的 hadamaru,认为它是 2018 年后最重要的公式:

hadamaru

TL;DR

TL;DR

有趣的是,自注意力机制中隐藏着两种类型的并行计算:

我们将对两者进行分析。更重要的是,我将尝试从不同角度解释多头自注意力机制为何有效!

为什么

请访问我关于注意力机制和 transformers 的介绍文章,以获得高级概述,或访问我们的开源库以了解实现。

注意力机制 transformers 开源库
想要构建 PyTorch 基础知识吗?向最优秀的人学习如何使用 PyTorch 构建深度学习模型。使用代码 aisummer35 从您最喜欢的 AI 博客获得独家 35% 折扣!

想要构建 PyTorch 基础知识?向最优秀的人学习如何使用 PyTorch 构建深度学习模型。使用代码 aisummer35 从您最喜欢的 AI 博客获得独家 35% 折扣!

使用 PyTorch 的深度学习模型 aisummer35

自注意力作为两个矩阵乘法

数学

我们将考虑没有多个头的自点积注意力以增强可读性。给定我们的输入

X∈Rbatch×tokens×dmodel,\textbf{X} \in \mathcal{R}^{batch \times tokens \times d_{model}} ,X∈Rbatch×tokens×dmodel​, X∈Rbatch×tokens×dmodel,\textbf{X} \in \mathcal{R}^{batch \times tokens \times d_{model}} ,X∈Rbatch×tokens×dmodel​, X R b a t c h ×