机器学习中的 Transformer

2025年8月13日 | 阅读 4 分钟

Transformer 是一种用于解决自然语言处理(NLP)任务的序列到序列神经网络模型。Transformer 由 Vaswani 在论文“Attention is All You Need”中提出。在本文中,我们将学习机器学习中的 Transformer、其工作原理和应用。

为什么我们需要 Transformer 模型?

Transformer 模型使用自注意力机制,将整个文本转换为单个文本。它克服了各种模型的挑战,例如“循环神经网络(RNN)”和“长短期记忆(LSTM)”。传统的序列模型(如 RNN)存在梯度消失问题,导致长期记忆丢失。RNN 顺序处理句子,一次分析一个文本。

一方面,增加 LSTM 中的记忆单元数量有助于解决梯度消失问题,但它仍然一次处理一个文本。这种顺序文本的处理意味着 LSMT 无法分析整个句子。

传统模型面临上下文依赖问题,而 Transformer 模型则利用其自注意力方法并行处理整个文本并解决这些问题,从而使其在上下文理解方面非常有效。

Transformer 模型架构

Transformer 的架构包含组件:自注意力机制、位置编码、多头注意力、位置前馈网络和解码器架构。下面是详细讨论。

Transformers in Machine Learning

1. 自注意力机制

Transformer 的自注意力机制使其能够找出文本中哪个词对其他词最重要。这是通过缩放点积来评估的。注意力机制着眼于输入序列,并在单个阶段选择序列中的哪些其他部分很重要。

文本中的一个单独的词由三个向量表征。

  • 查询 (Q):我在找什么?
  • 键 (K):我能提供什么?
  • 值 (V):我实际提供什么?

注意力分数通过以下方法进行评估

Transformers in Machine Learning

这些评估应该对其他文本给予多少注意力。

2. 位置编码

与 RNN 相比,Transformer 由于文本的并行处理,在理解词语顺序方面存在固有挑战。为了解决这个问题,使用了位置编码,它添加了 token 嵌入,并提供了关于序列中每个 token 位置的信息。它提供了每个 token 的相对位置。

Transformers in Machine Learning

位置编码使用以下方法进行评估

当 i 为偶数时

Transformers in Machine Learning

当 i 为奇数时

Transformers in Machine Learning

3. 多头注意力

Transformer 使用多头注意力机制而不是单个注意力机制,它并行处理序列。每个头从数据中提取不同的模式,从而增强模型的理解。

4. 位置前馈网络

前馈网络包含两个具有 ReLU 激活函数的线性变换函数。它独立地应用于序列中的每个位置。数学上,它描述为

Transformers in Machine Learning

这有助于改进每个位置的编码表示。

5. 编码器-解码器架构

编码器-解码器架构是 Transformer 模型的基本模块。Transformer 的编码器部分将输入序列处理成一个向量;另一方面,解码器将该向量转换为序列。编码器和解码器的单个层包含自注意力机制和前馈层。在解码器中,集成了编码器-解码器注意力层,该层专注于相关的输入部分。

考虑一个西班牙语句子:“Soy redactor de contenido。”翻译成英文是“I am a content writer”。

编码器方法包含多个层(通常是 6 层)。每层有两个重要组成部分。

  • 自注意力机制:这有助于模型理解单词之间的关系。
  • 前馈神经网络:这会转换表示以供进一步处理。

解码器方法也包含 6 层,但增加了编码器-解码器注意力方法。这使得解码器在产生输出时能够专注于输入文本的重要部分。

举例说明:“The cat didn't chase the mouse because it was not hungry.”(猫没有追老鼠,因为它不饿。)这个词“it”指的是“cat”。自注意力机制有助于模型正确地将“it”与“cat”关联起来,以确保准确理解句子的结构。

Transformer 的应用

以下是一些 Transformer 的应用:

  • NLP 任务:Transformer 用于机器翻译、文本摘要、命名实体识别(NER)和情感分析。
  • 语音识别:Transformer 处理音频信号并将其转换为转录文本。
  • 计算机视觉:Transformer 用于对图片进行分类、识别物体和生成图片。
  • 推荐系统:Transformer 根据用户偏好提供推荐。
  • 文本和音乐生成:它们用于生成文章、博客和音乐等文本。
  • DNA 序列分析:Transformer 用于预测基因突变效应、理解基因数据中的模式,并帮助识别负责某些疾病的 DNA 区域。
  • 蛋白质结构分析:Transformer 模型处理序列数据的能力有助于模拟氨基酸长链折叠成复杂的蛋白质结构。