AI模型Transformer

一、Transformer架构

AI大模型是如何理解人类的话的,了解到大模型之所以这么聪明是因为用了谷歌2017年发布一篇论文《Attention Is All You Need》里面的Transformer这个架构。

自注意力机制

自注意力/Self-Attention机制是一种让模型能够关注序列内部不同位置之间关系的机制。它的核心思想是让序列中的每个元素都有机会“看到”序列中的其他元素,从而捕捉到它们之间的相互关系。它是一种“自身”的注意力机制,即它只关注序列内部的元素。在这种机制下,序列中的每个元素都会对序列中的其他所有元素进行“关注”,从而形成一个内部的、自关联的表示。

这种机制特别适用于处理序列数据,比如自然语言处理中的文本,因为它能够捕捉到序列内部的长距离依赖关系。

工作原理

自注意力机制的基本思想是,对于输入序列中的每个元素,模型可以根据其他元素的表示来调整其自身的表示。这种机制能够有效处理长距离依赖和上下文信息。

计算步骤

  1. 输入表示:假设我们有一个输入序列 (X),其形状为 ((n, d)),其中 (n) 是序列长度,(d) 是每个词的嵌入维度。
  2. 生成查询、键和值:通过线性变换将输入 (X) 转换为查询(Query)、键(Key)和值(Value):其中,(W_Q)、(W_K) 和 (W_V) 是学习的权重矩阵。
  3. 计算注意力权重:计算查询与键的点积,以获取注意力分数,并进行缩放:其中 (d_k) 是键向量的维度,用于防止点积值过大。
  4. 应用 Softmax 函数:对注意力分数应用Softmax函数,以获取注意力权重。Softmax函数输入为任意实数向量(如 [2.3, -1.5, 0.7]),输出为归一化后的概率向量,向量中的概率和为1(如 [0.72, 0.15, 0.13])。
  5. 加权求和:使用注意力权重对值进行加权求和,生成最终的自注意力输出。

多头自注意力

为了捕捉不同的特征和上下文信息,Transformer 使用了多头自注意力机制。多头注意力为同时运行多个独立的注意力头(如:5个、8个甚至更多),每个头关注不同的特征模式,最终将结果拼接后统一处理。想象一群人(多个头)同时观察一幅画,有人关注颜色,有人关注形状,有人关注构图,最后综合所有视角得出完整理解。

多头注意力具体步骤如下:

  • 多头分离:将输入分为多个头,每个头都有自己的查询、键和值的线性变换。
  • 并行计算:在每个头上独立计算自注意力输出。
  • 拼接和线性变换:将所有头的输出拼接在一起,并通过一个线性层进行变换,以生成最终的输出。 自注意力机制通过允许模型动态地关注输入序列的不同部分,显著提升了模型在处理自然语言等序列数据时的能力。这一机制的成功引领了多个基于Transformer的模型的广泛应用,并推动了深度学习的研究和发展。

应用场景

自注意力机制在多个领域都有广泛的应用:

  • 自然语言处理:在BERT、GPT等预训练语言模型中,自注意力机制使得模型能够捕捉句子中的长距离依赖关系,极大地提高了语言理解的能力。
  • 图像处理:在图像分类和目标检测任务中,自注意力机制可以帮助模型关注图像中的关键部分,提高识别的准确性。
  • 时间序列分析:在金融市场预测、气象数据分析等领域,自注意力机制能够捕捉时间序列中的长期模式,提供更准确的预测。 自注意力机制通过允许模型动态地关注输入序列的不同部分,显著提升了模型在处理自然语言等序列数据时的能力。这一机制的成功引领了多个基于Transformer的模型的广泛应用,并推动了深度学习的研究和发展。

二、参考资料

谁都能听懂的Transformer

LLM张老师

多伦多大学 UofT 07’计算机科学。师从Geoffrey Hinton。Ilya和Karpathy同系校友。大白话讲AI。

发表评论