Transformer神经网络模型

一、定义:

Transformer是一种基于完全注意力机制编码器-解码器架构的深度学习模型。将一个序列转换为另一个序列,并在转换过程中深度理解输入序列内部的上下文关系,以及输入与输出序列之间的复杂映射关系。

二、核心思想:

在Transformer出现之前(2017年以前),处理序列数据(如自然语言)的主流模型是RNN(循环神经网络) 和它的变体LSTM、GRU。

RNN的核心问题:

  1. 顺序处理:必须一个字一个字地处理输入序列,无法并行计算,训练速度慢。

  2. 长程依赖问题:当序列很长时,早期信息在传递过程中会逐渐丢失或淡化,模型难以记住句子开头的内容。

Transformer的解决方案:

  1. 完全并行化:整个序列的所有词同时被处理,极大地提升了训练速度。

  2. 自注意力机制:直接计算序列中任意两个词之间的关系,无论它们相隔多远。这使得模型能够真正地"理解"上下文。

三、核心架构:

Transformer是一个编码器-解码器 架构。

1. 编码器

编码器负责将输入序列(如源语言句子)转换为一组富含上下文信息的表示向量

输入处理

  1. 词嵌入:将输入词转换为向量。

  2. 位置编码 :由于Transformer没有内置的顺序概念,我们需要手动添加位置信息。这是通过一个固定的或可学习的"位置编码"向量加到词嵌入上实现的,让模型知道每个词的位置。

编码器层(N个堆叠,原论文中N=6):

  • 多头自注意力层:如上所述,让每个词关注输入序列中的所有词。

  • 残差连接与层归一化:将层的输入直接加到输出上,然后进行层归一化。这有助于稳定训练,缓解梯度消失问题。

  • 前馈神经网络:一个简单的全连接网络,对每个位置的向量进行独立、相同的非线性变换。

  • 再次残差连接与层归一化

编码器的最终输出是每个输入词对应的、融入了整个序列上下文信息的向量。

2. 解码器

解码器负责根据编码器的输出,逐个生成输出序列(如目标语言句子)。

输入处理

  • 使用输出序列的偏移版本(在训练时)。例如,生成第t个词时,输入是前t-1个已经生成的词。

  • 同样进行词嵌入和位置编码。

解码器层(同样N个堆叠):

  • 掩码多头自注意力层:与编码器类似,但为了防止模型在训练时"偷看"未来的答案,通过一个掩码(Mask)将当前词之后的所有词盖住,确保预测第t个词时只能看到1到t-1的词。

  • 残差连接与层归一化

  • 编码器-解码器注意力层(多头注意力):这是连接编码器和解码器的桥梁。

    • Query 来自解码器上一层的输出。

    • KeyValue 来自编码器的最终输出。

    • 这一层的作用是让解码器在生成每一个词时,都能有选择地关注输入序列中最相关的部分(类似于传统机器翻译中的"对齐")。

  • 前馈神经网络

  • 再次残差连接与层归一化

3. 编码器-解码器注意力层(跨注意力)

  • 作用:连接编码器和解码器。它允许解码器在生成每一个词时,有选择地从编码器的输出中提取最相关的信息。

  • 工作方式

    • Query:来自解码器上一层的输出(当前已生成的部分)。

    • Key 和 Value :来自编码器的最终输出(源序列的表示)。

    • 这本质上是一个跨序列的多头注意力机制,但它每个头内部的运算是相同的注意力公式。

解码器的最终输出通过一个线性层和一个Softmax层,转换为下一个词的概率分布。

四、核心机制:多头自注意力

自注意力机制的本质是:让序列中的每一个元素(如一个词)都能与序列中的所有其他元素进行直接"对话",从而根据整个上下文来动态地计算该元素的新的表示。

多头自注意力机制:是自注意力机制的增强版和工程实现 。它将自注意力过程并行执行多次,然后将结果合并,以期捕获更丰富、多元的依赖关系。

1)自注意力机制的核心作用

1. 解决长程依赖问题
  • 问题:在RNN中,信息需要一步一步地传递。如果序列很长,开头的信息在传递到末尾时可能会变弱或失真(即梯度消失/爆炸)。

  • 自注意力的解决方案:自注意力通过一步计算直接捕捉序列中任意两个位置之间的关系,无论它们相隔多远。

    • 例子:在句子"The law that was passed last year by the government... is very controversial."中,要理解"is"的主语是"law",模型需要连接句首和句尾。自注意力可以直接计算"is"和"law"之间的关联,不受距离限制。
2. 动态权重计算与上下文建模
  • 问题:传统的词嵌入(如Word2Vec)是静态的,一个词在任何语境下都有相同的向量表示。这无法处理一词多义。

  • 自注意力的解决方案 :自注意力为序列中的每个词计算一个基于上下文的、独特的向量表示

    • 例子:对于"苹果"这个词:

      • 在句子"我吃了一个苹果"中,自注意力机制会使"苹果"的向量更接近"吃"、"水果"等概念的表示。

      • 在句子"我买了一部新苹果"中,自注意力机制会使"苹果"的向量更接近"手机"、"科技"等概念的表示。

    • 这是通过加权求和实现的:模型会学习到在第一个句子里,"苹果"应该更关注"吃";在第二个句子里,它应该更关注"手机"。

3. 并行化计算
  • 问题:RNN的顺序依赖性导致无法并行处理整个序列,训练速度慢。

  • 自注意力的解决方案 :自注意力机制中的所有计算(Query, Key, Value向量的生成,注意力分数的计算)都可以通过矩阵运算同时对整个序列进行。这极大地利用了GPU等硬件的并行计算能力,加快了训练速度。

4. 模型可解释性的侧窗
  • 自注意力计算出的权重矩阵可以被可视化,成为我们理解模型决策过程的"窗口"。

    • 例子:在机器翻译任务中,当我们可视化编码器-解码器注意力时,常常能看到在生成目标语言某个词时,模型重点关注了源语言句子中哪个部分的词。这非常类似于传统翻译中的"词对齐",为我们提供了模型工作的直观证据。

其应用场景几乎覆盖了所有需要处理结构化数据(尤其是序列和集合)的领域。从让机器理解人类语言,到"看懂"图片和视频,再到连接不同感官信息,自注意力机制已经成为现代人工智能模型不可或缺的核心组件。

2)自注意力的计算步骤:

假设我们的输入序列是:["动物", "没有", "过", "马路", "因为", "它", "太", "累了"]

  1. 创建三个向量:对于输入序列中的每个词,我们都会创建三个向量:

    • Query:代表"我正在寻找什么?"

    • Key:代表"我是谁?我包含什么信息?"

    • Value:代表"我实际的信息内容是什么?"

    • (这些向量是通过将词嵌入与三个不同的可训练权重矩阵相乘得到的。)

  2. 计算注意力分数:我们想计算"它"这个词对于序列中所有词的关注程度。

    • 用"它"的 Query 向量,与序列中每一个词 (包括它自己)的 Key 向量进行点积。这个分数表示当编码"它"时,应对其他词投入多少注意力。

    • 例如:"它"的Query与"动物"的Key点积分数会很高,而与"马路"的点积分数会很低。

  3. 归一化并加权求和

    • 将所有分数进行缩放和Softmax归一化,得到一组权重(总和为1)。

    • 用这些权重对所有词的 Value 向量进行加权求和。

    • 这个加权求和后的向量就是"它"在这个上下文中的新表示,它包含了关于"动物"的强烈信息

最终效果 :序列中的每个词都得到了一个新的表示向量 ,这个向量不是孤立存在的,而是融合了全局上下文信息的"增强版"词向量。

"多头"注意力:为了捕捉不同种类的依赖关系(例如,"它"指代"动物"是语法依赖,而"累了"描述"动物"是语义依赖),Transformer使用多个并行的自注意力层(即多个"头"),每个头学习在不同子空间中的关注模式,最后将结果拼接起来。

Transformer模型通过在其编码器、解码器的掩码部分以及编码器-解码器连接处使用多头自注意力机制,实现了对序列数据强大而高效的并行化处理与深度理解

相关推荐
CoovallyAIHub5 小时前
突破性开源模型DepthLM问世:视觉语言模型首次实现精准三维空间理解
深度学习·算法·计算机视觉
Cathy Bryant5 小时前
大模型微调(四):人类反馈强化学习(RLHF)
笔记·神经网络·机器学习·数学建模·transformer
大千AI助手6 小时前
神经网络中的随机高斯初始化技术
人工智能·深度学习·神经网络·高斯分布·正态分布·参数初始化·随机高斯初始化
sensen_kiss6 小时前
INT301 Bio-computation 生物计算(神经网络)Pt.4 多层感知机(Multilayer Perceptron,MLP)
人工智能·深度学习·神经网络
CoovallyAIHub6 小时前
ICCV 2025 最佳论文出炉:CMU 团队用「AI 积木大师」BrickGPT 摘得桂冠!
深度学习·算法·计算机视觉
Coovally AI模型快速验证8 小时前
IDEA研究院发布Rex-Omni:3B参数MLLM重塑目标检测,零样本性能超越DINO
人工智能·深度学习·yolo·目标检测·计算机视觉·目标跟踪
deephub15 小时前
深入BERT内核:用数学解密掩码语言模型的工作原理
人工智能·深度学习·语言模型·bert·transformer
PKNLP15 小时前
BERT系列模型
人工智能·深度学习·bert
格林威16 小时前
偏振相机在半导体制造的领域的应用
人工智能·深度学习·数码相机·计算机视觉·视觉检测·制造