深度学习中的多注意力机制与神经图灵机技术解析
1. 多头注意力机制
在Transformer架构里,块中的权重矩阵是通过学习得到的。在训练期间,这些矩阵会尝试找出标记(tokens)之间的关系。虽然Transformer表现出色,确实能学习到一些模式,但有时我们并不清楚它具体学到了什么。
就像在图像特征检测中使用多个卷积滤波器能增加正确分类图像的概率一样,在Transformer块中,为了捕捉尽可能多的有用语言模式,我们可以训练多组查询(query)、键(key)和值(value)权重矩阵,这就是多头自注意力机制(Multi-Head Attention)。
每一组权重矩阵被视为一个“头”(head)。一个具有h个头的Transformer块拥有h组权重三元组,形式为 ${ {W_q^1, W_k^1, W_v^1}, \ldots, {W_q^h, W_k^h, W_v^h}}$。这h组参数矩阵会并行计算自注意力(在合适的硬件上可以同时进行)。
多头Transformer块类似于多滤波器的卷积神经网络(CNN)层。在完成h次并行的自注意力计算后,h个向量会通过拼接操作组合在一起:
$Y = Y_1 \oplus \cdots \oplus Y_h \in \mathbb{R}^{n\times h\cdot d}$
这种拼接是按行进行的,即列数会增加。但这里会出现一个维度问题,拼接后的 $Y$ 维度与输入向量或期望的输出向量维度不匹配,它有 $d \times h$ 列。而Transformer的输入和输出,包括Transformer块的输入和输出,必须具有相同的维度,因为Transformer块可以任意堆叠。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



