Refresh

This website www.unite.ai/zh-CN/nlprise-with-Transformer%E6%A8%A1%E5%9E%8B%E5%85%A8%E9%9D%A2%E8%A7%A3%E6%9E%90t5-bert%E5%92%8Cgpt/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

关注我们.

人工智能

NLP 随 Transformer 模型兴起 | T5、BERT、GPT综合分析

mm

发布时间

 on

NLP 指南

近年来,自然语言处理 (NLP) 经历了一些最具影响力的突破,这主要归功于 Transformer 架构。这些突破不仅增强了机器理解和生成人类语言的能力,还重新定义了从搜索引擎到对话式人工智能等众多应用程序的格局。

为了充分理解 Transformer 的重要性,我们必须首先回顾一下为这一革命性架构奠定基础的前辈和构建模块。

早期 NLP 技术:Transformers 之前的基础

词嵌入:从 One-Hot 到 Word2Vec

在传统的 NLP 方法中,单词的表示通常是字面的,缺乏任何形式的语义或句法理解。 One-hot 编码是这一限制的一个典型例子。

One-hot 编码是一种将分类变量转换为二进制向量表示的过程,其中只有一位是“热”(设置为 1),而所有其他位都是“冷”(设置为 0)。 在 NLP 的上下文中,词汇表中的每个单词都由 one-hot 向量表示,其中每个向量是词汇表的大小,并且每个单词由一个在与该单词对应的索引处全 0 和一个 1 的向量表示。词汇表。

One-Hot 编码示例

假设我们的词汇量很小,只有五个单词:[“国王”,“女王”,“男人”,“女人”,“孩子”]。 每个单词的 one-hot 编码向量如下所示:

  • “国王”-> [1, 0, 0, 0, 0]
  • “皇后” -> [0, 1, 0, 0, 0]
  • “男人”-> [0, 0, 1, 0, 0]
  • “女人”-> [0, 0, 0, 1, 0]
  • “孩子”-> [0, 0, 0, 0, 1]

数学表示

如果我们表示 作为我们词汇量的大小和 作为词汇表中第 i 个单词的 one-hot 向量表示,其数学表示为 将会:

其中第 i 个位置为 1,所有其他位置均为 0。

one-hot 编码的主要缺点是它将每个单词视为一个孤立的实体,与其他单词没有关系。 它会产生稀疏且高维的向量,这些向量不会捕获有关单词的任何语义或句法信息。

词嵌入(最著名的是 Word2Vec)的引入是 NLP 的关键时刻。 Word2013Vec 由 Tomas Mikolov 领导的 Google 团队于 2 年开发,在密集向量空间中表示单词,根据大型文本语料库中的上下文捕获句法和语义单词关系。

与 one-hot 编码不同,Word2Vec 生成密集向量,通常具有数百个维度。 出现在相似上下文中的单词(例如“king”和“queen”)将具有在向量空间中彼此更接近的向量表示。

为了便于说明,我们假设我们已经训练了一个 Word2Vec 模型,现在在假设的 3 维空间中表示单词。 嵌入(通常超过 3D,但为了简单起见减少了)可能看起来像这样:

  • “国王”-> [0.2, 0.1, 0.9]
  • “女王”-> [0.21, 0.13, 0.85]
  • “男人”-> [0.4, 0.3, 0.2]
  • “女人”-> [0.41, 0.33, 0.27]
  • “孩子”-> [0.5, 0.5, 0.1]

虽然这些数字是虚构的,但它们说明了相似的单词如何具有相似的向量。

数学表示

如果我们将单词的 Word2Vec 嵌入表示为 ,我们的嵌入空间有 尺寸,那么 可以表示为:

语义关系

Word2Vec 甚至可以捕获复杂的关系,例如类比。 例如,Word2Vec 嵌入捕获的著名关系是:

向量(“国王”) – 向量(“男人”) + 向量(“女人”)≈向量(“女王”)

这是可能的,因为 Word2Vec 在训练期间调整单词向量,以便在语料库中共享公共上下文的单词在向量空间中紧密定位。

Word2Vec 使用两种主要架构来生成单词的分布式表示:连续词袋 (CBOW) 和 Skip-Gram。 CBOW 根据周围的上下文单词预测目标单词,而 Skip-Gram 则相反,根据目标单词预测上下文单词。 这使得机器能够开始以更细致的方式理解单词的用法和含义。

序列建模:RNN 和 LSTM

随着该领域的发展,焦点转向理解文本序列,这对于机器翻译、文本摘要和情感分析等任务至关重要。循环神经网络 (RNN) 成为这些应用程序的基石,因为它们能够通过维护某种形式的内存来处理顺序数据。

然而,RNN 也并非没有局限性。 由于梯度消失问题,信息在长序列中丢失,使得学习遥远事件之间的相关性变得具有挑战性。

长短期记忆网络 (LSTM),由 Sepp Hochreiter 和 Jürgen Schmidhuber,1997 年,用更复杂的架构解决了这个问题。 LSTM 具有控制信息流的门:输入门、遗忘门和输出门。 这些门决定存储、更新或丢弃哪些信息,从而使网络能够保留​​长期依赖性并显着提高各种 NLP 任务的性能。

变压器架构

随着 Vaswani 等人在具有里程碑意义的论文《Attention is All You Need》中引入 Transformer 模型,NLP 的面貌经历了巨大的转变。 2017 年。Transformer 架构脱离了 RNN 和 LSTM 的顺序处理,而是利用一种称为“自注意力”的机制来权衡输入数据不同部分的影响。

变压器的核心思想是它可以立即处理整个输入数据,而不是顺序处理。 这允许更多的并行化,从而显着提高训练速度。 自注意力机制使模型能够在处理文本时关注文本的不同部分,这对于理解上下文和单词之间的关系至关重要,无论它们在文本中的位置如何。

Transformer 中的编码器和解码器:

在最初的 Transformer 模型中,正如论文中所描述的“注意力就是你所需要的Vaswani 等人提出,该架构分为两个主要部分:编码器和解码器。 两个部分均由具有相同总体结构但具有不同用途的层组成。

编码器:

  • 角色:编码器的作用是处理输入数据并创建一个表示来捕获元素之间的关系(例如句子中的单词)。 这部分变压器不会生成任何新内容; 它只是将输入转换为解码器可以使用的状态。
  • Functionality:每个编码器层都有自注意力机制和前馈神经网络。 自注意力机制允许编码器中的每个位置关注编码器前一层中的所有位置,因此,它可以学习每个单词周围的上下文。
  • 上下文嵌入:编码器的输出是一系列向量,表示高维空间中的输入序列。 这些向量通常被称为上下文嵌入,因为它们不仅编码单个单词,还编码它们在句子中的上下文。

解码器:

  • 角色:解码器的作用是根据从编码器接收到的输入以及迄今为止生成的内容,按顺序生成输出数据,一次生成一部分。 它专为文本生成等任务而设计,其中生成顺序至关重要。
  • Functionality:解码器层也包含自注意力机制,但它们被屏蔽以防止位置关注后续位置。 这确保了特定位置的预测只能依赖于其之前位置的已知输出。 此外,解码器层还包括第二个注意机制,该机制关注编码器的输出,将输入中的上下文集成到生成过程中。
  • 顺序生成能力:这是指解码器在已生成的序列的基础上一次生成一个元素的能力。 例如,在生成文本时,解码器根据编码器提供的上下文以及它已经生成的单词序列来预测下一个单词。

编码器和解码器中的每个子层对于模型处理复杂 NLP 任务的能力至关重要。 特别是,多头注意力机制允许模型选择性地关注序列的不同部分,从而提供对上下文的丰富理解。

利用变形金刚的热门模型

在 Transformer 模型取得初步成功之后,基于其架构构建的新模型呈爆炸式增长,每个模型针对不同的任务都有自己的创新和优化:

BERT(来自变压器的双向编码器表示):Google 于 2018 年推出的 BERT 彻底改变了上下文信息集成到语言表示中的方式。 通过使用掩码语言模型和下一句预测对大型文本语料库进行预训练,BERT 捕获了丰富的双向上下文,并在各种 NLP 任务上取得了最先进的结果。

BERT

BERT

T5(文本到文本传输变压器): 介绍者 2020年的Google,T5将所有NLP任务重新定义为文本到文本的问题,使用统一的基于文本的格式。 这种方法简化了将模型应用于各种任务的过程,包括翻译、摘要和问答。

t5架构

T5建筑

GPT(生成式预训练变压器): 由开发 OpenAI,GPT 系列模型从 GPT-1 开始,到 4 年达到 GPT-2023。这些模型使用大量文本数据的无监督学习进行预训练,并针对各种任务进行微调。他们生成连贯且上下文相关文本的能力使他们在学术和商业人工智能应用中都具有巨大影响力。

GPT

GPT架构

下面对 T5、BERT 和 GPT 模型在各个维度进行更深入的比较:

1. 标记化和词汇

  • BERT:使用 WordPiece 标记化,词汇量约为 30,000 个标记。
  • GPT:采用具有大词汇量的字节对编码(BPE)(例如,GPT-3 的词汇量为175,000)。
  • T5:利用 SentencePiece 标记化,将文本视为原始文本,不需要预先分段的单词。

2. 预训练目标

  • BERT:掩码语言模型(MLM)和下一句预测(NSP)。
  • GPT:因果语言模型(CLM),其中每个标记预测序列中的下一个标记。
  • T5:使用去噪目标,其中随机的文本范围被哨兵标记替换,并且模型学习重建原始文本。

3. 输入表示

  • BERT:将 Token、Segment 和 Positional Embedding 组合起来表示输入。
  • GPT:令牌和位置嵌入相结合(没有段嵌入,因为它不是为句子对任务设计的)。
  • T5:仅在注意操作期间添加相对位置编码的令牌嵌入。

4.注意力机制

  • BERT:使用绝对位置编码并允许每个标记关注左侧和右侧的所有标记(双向关注)。
  • GPT:也使用绝对位置编码,但仅限制对先前标记的注意力(单向注意力)。
  • T5:实现变压器的变体,它使用相对位置偏差而不是位置嵌入。

5. 模型架构

  • BERT:具有多层变压器块的纯编码器架构。
  • GPT:仅解码器架构,也具有多层,但专为生成任务而设计。
  • T5:编码器-解码器架构,其中编码器和解码器均由变压器层组成。

6. 微调方法

  • BERT:根据需要使用附加输出层调整下游任务的预训练模型的最终隐藏状态。
  • GPT:在变压器顶部添加一个线性层,并使用相同的因果语言建模目标对下游任务进行微调。
  • T5:将所有任务转换为文本到文本格式,其中模型经过微调以从输入序列生成目标序列。

7. 训练数据和规模

  • BERT:接受过 BooksCorpus 和英语维基百科的培训。
  • GPT:GPT-2 和 GPT-3 已经在从互联网上提取的不同数据集上进行了训练,GPT-3 则在一个更大的名为 Common Crawl 的语料库上进行了训练。
  • T5:在“Colossal Clean Crawled Corpus”上进行训练,这是 Common Crawl 的大型且干净的版本。

8. 上下文和双向性的处理

  • BERT:旨在同时理解两个方向的上下文。
  • GPT:经过训练可以向前(从左到右)理解上下文。
  • T5:可以在编码器中建模双向上下文,在解码器中建模单向上下文,适用于序列到序列任务。

9. 下游任务的适应性

  • BERT:需要特定于任务的头层并针对每个下游任务进行微调。
  • GPT:本质上是生成性的,可以在对其结构进行最小改变的情况下提示执行任务。
  • T5:将每个任务视为“文本到文本”问题,使其具有固有的灵活性并适应新任务。

10. 可解释性和可解释性

  • BERT:双向性质提供了丰富的上下文嵌入,但可能更难以解释。
  • GPT:单向上下文可能更容易理解,但缺乏双向上下文的深度。
  • T5:编码器-解码器框架提供了清晰的处理步骤分离,但由于其生成性质,分析起来可能很复杂。

Transformers 对 NLP 的影响

Transformer 使模型能够并行处理数据序列,从而极大地提高了训练大型神经网络的速度和效率,从而彻底改变了 NLP 领域。 他们引入了自注意力机制,允许模型权衡输入数据每个部分的重要性,而不管序列内的距离如何。 这导致了一系列 NLP 任务的前所未有的改进,包括但不限于翻译、问答和文本摘要。

研究不断突破基于变压器的模型所能实现的界限。由于架构和训练方法的进步,GPT-4 及其同时代产品不仅规模更大,而且效率更高、能力更强。诸如少样本学习(模型以最少的示例执行任务)等技术以及更有效的迁移学习方法处于当前研究的前沿。

像基于转换器的语言模型从可能包含偏差的数据中学习。 研究人员和从业者正在积极努力识别、理解和减轻这些偏见。 技术范围从精心策划的训练数据集到旨在公平和中立的训练后调整。

在过去的五年里,我一直沉浸在机器学习和深度学习的迷人世界中。 我的热情和专业知识使我为 50 多个不同的软件工程项目做出了贡献,特别关注人工智能/机器学习。 我持续的好奇心也吸引了我对自然语言处理的兴趣,这是我渴望进一步探索的领域。