您当前的位置:首页 > 电脑百科 > 人工智能

一文读懂 Transformer 神经网络模型

时间:2023-09-18 15:30:54  来源:微信公众号  作者:架构驿站

Hello folks,我是 Luga,今天我们来聊一下人工智能(AI)生态领域相关的技术 - Transformer 神经网络模型 。

自从最新的大型语言模型(LLaM)的发布,例如 OpenAI 的 GPT 系列、开源模型 Bloom 以及谷歌发布的 LaMDA 等,Transformer 模型已经展现出了其巨大的潜力,并成为深度学习领域的前沿架构楷模。

一、什么是 Transformer 模型 ?

在过去几年中,Transformer 模型已经成为高级深度学习和深度神经网络领域的热门话题。自从其在 2017 年被引入以来,Transformer 深度学习模型架构已经在几乎所有可能的领域中得到了广泛应用和演进。该模型不仅在自然语言处理任务中表现出色,还对于其他领域,尤其是时间序列预测方面,也具有巨大的帮助和潜力。

那么,什么是 Transformer 神经网络模型?

Transformer 模型是一种深度学习架构,自 2017 年推出以来,彻底改变了自然语言处理 (NLP) 领域。该模型由 Vaswani 等人提出,并已成为 NLP 界最具影响力的模型之一。

通常而言,传统的顺序模型(例如循环神经网络 (RNN))在捕获远程依赖性和实现并行计算方面存在局限性。为了解决这些问题,Transformer 模型引入了自注意力机制,通过广泛使用该机制,模型能够在生成输出时权衡输入序列中不同位置的重要性。

Transformer 模型通过自注意力机制和并行计算的优势,能够更好地处理长距离依赖关系,提高了模型的训练和推理效率。它在机器翻译、文本摘要、问答系统等多个 NLP 任务中取得了显著的性能提升。

除此之外,Transformer 模型的突破性表现使得它成为现代 NLP 研究和应用中的重要组成部分。它能够捕捉复杂的语义关系和上下文信息,极大地推动了自然语言处理的发展。

二、Transformer 模型历史发展

Transformer 在神经网络中的历史可以追溯到20世纪90年代初,当时 Jürgen Schmidhuber 提出了第一个 Transformer 模型的概念。这个模型被称为"快速权重控制器",它采用了自注意力机制来学习句子中单词之间的关系。然而,尽管这个早期的 Transformer 模型在概念上是先进的,但由于其效率较低,它并未得到广泛的应用。

随着时间的推移和深度学习技术的发展,Transformer 在2017年的一篇开创性论文中被正式引入,并取得了巨大的成功。通过引入自注意力机制和位置编码层,有效地捕捉输入序列中的长距离依赖关系,并且在处理长序列时表现出色。此外,Transformer 模型的并行化计算能力也使得训练速度更快,推动了深度学习在自然语言处理领域的重大突破,如机器翻译任务中的BERT(Bidirectional Encoder Representations from Transformers)模型等。

因此,尽管早期的"快速权重控制器"并未受到广泛应用,但通过 Vaswani 等人的论文,Transformer 模型得到了重新定义和改进,成为现代深度学习的前沿技术之一,并在自然语言处理等领域取得了令人瞩目的成就。

Transformer 之所以如此成功,是因为它能够学习句子中单词之间的长距离依赖关系,这对于许多自然语言处理(NLP)任务至关重要,因为它允许模型理解单词在句子中的上下文。Transformer 利用自注意力机制来实现这一点,该机制使得模型在解码输出标记时能够聚焦于句子中最相关的单词。

Transformer 对 NLP 领域产生了重大影响。它现在被广泛应用于许多 NLP 任务,并且不断进行改进。未来,Transformer 很可能被用于解决更广泛的 NLP 任务,并且它们将变得更加高效和强大。

有关神经网络 Transformer 历史上的一些关键发展事件,我们可参考如下所示:

  • 1990年:Jürgen Schmidhuber 提出了第一个 Transformer 模型,即"快速权重控制器"。
  • 2017年:Vaswani 等人发表了论文《Attention is All You Need》,介绍了 Transformer 模型的核心思想。
  • 2018年:Transformer 模型在各种 NLP 任务中取得了最先进的结果,包括机器翻译、文本摘要和问答等。
  • 2019年:Transformer 被用于创建大型语言模型(LLM),例如 BERT 和 GPT-2,这些模型在各种 NLP 任务中取得了重要突破。
  • 2020年:Transformer 继续被用于创建更强大的模型,例如 GPT-3,它在自然语言生成和理解方面取得了惊人的成果。

总的来说,Transformer 模型的引入对于 NLP 领域产生了革命性的影响。它的能力在于学习长距离依赖关系并理解上下文,使得它成为众多 NLP 任务的首选方法,并为未来的发展提供了广阔的可能性。

三、Transformer 模型通用架构设计

Transformer 架构是从 RNN(循环神经网络)的编码器-解码器架构中汲取灵感而来,其引入了注意力机制。它被广泛应用于序列到序列(seq2seq)任务,并且相比于 RNN, Transformer 摒弃了顺序处理的方式。

不同于 RNN,Transformer 以并行化的方式处理数据,从而实现更大规模的并行计算和更快速的训练。这得益于 Transformer 架构中的自注意力机制,它使得模型能够同时考虑输入序列中的所有位置,而无需按顺序逐步处理。自注意力机制允许模型根据输入序列中的不同位置之间的关系,对每个位置进行加权处理,从而捕捉全局上下文信息。

class EncoderDecoder(nn.Module):
    """
    A standard Encoder-Decoder architecture. Base for this and many 
    other models.
    """
    def __init__(self, encoder, decoder, src_embed, tgt_embed, generator):
        super(EncoderDecoder, self).__init__()
        self.encoder = encoder
        self.decoder = decoder
        self.src_embed = src_embed
        self.tgt_embed = tgt_embed
        self.generator = generator
        
    def forward(self, src, tgt, src_mask, tgt_mask):
        "Take in and process masked src and target sequences."
        return self.decode(self.encode(src, src_mask), src_mask,
                            tgt, tgt_mask)
    
    def encode(self, src, src_mask):
        return self.encoder(self.src_embed(src), src_mask)
    
    def decode(self, memory, src_mask, tgt, tgt_mask):
        return self.decoder(self.tgt_embed(tgt), memory, src_mask, tgt_mask)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.


class Generator(nn.Module):
    "Define standard linear + softmax generation step."
    def __init__(self, d_model, vocab):
        super(Generator, self).__init__()
        self.proj = nn.Linear(d_model, vocab)

    def forward(self, x):
        return F.log_softmax(self.proj(x), dim=-1)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

针对 Transformer 的模型通用架构,我们可參考如下所示:

基于如上的 Transformer 深度学习模型的整体架构参考模型图,我们可以看到:它由两个主要组件组成:

1.编码器堆栈

这是由 Nx 个相同的编码器层组成的堆栈(在原始论文中,Nx=6)。每个编码器层都由两个子层组成:多头自注意力机制和前馈神经网络。多头自注意力机制用于对输入序列中的不同位置之间的关系进行建模,而前馈神经网络则用于对每个位置进行非线性转换。编码器堆栈的作用是将输入序列转换为一系列高级特征表示。

Transformer 编码器的整体架构。我们在 Transformer 编码器中使用绝对位置嵌入,具体可参考如下:

2.解码器堆栈

这也是由 Nx 个相同的解码器层组成的堆栈(在原始论文中,Nx=6)。每个解码器层除了包含编码器层的两个子层外,还包含一个额外的多头自注意力机制子层。这个额外的自注意力机制用于对编码器堆栈的输出进行关注,并帮助解码器对输入序列中的信息进行解码和生成输出序列。

在编码器和解码器堆栈之间,还有一个位置编码层。这个位置编码层的作用是利用序列的顺序信息,为输入序列中的每个位置提供一个固定的编码表示。这样,模型可以在没有递归或卷积操作的情况下,利用位置编码层来处理序列的顺序信息。

Transformer 解码器的整体架构,具体可参考如下所示:

在实际的场景中,两者的互动关系如下:

四、什么是 Transformer 神经网络?

众所周知,Transformer 在处理文本序列、基因组序列、声音和时间序列数据等神经网络设计中起着关键作用。其中,自然语言处理是 Transformer 神经网络最常见的应用领域。

当给定一个向量序列时,Transformer 神经网络会对这些向量进行编码,并将其解码回原始形式。而 Transformer 的注意力机制则是其不可或缺的核心组成部分。注意力机制表明了在输入序列中,对于给定标记的编码,其周围其他标记的上下文信息的重要性。

打个比方,在机器翻译模型中,注意力机制使得 Transformer 能够根据所有相关单词的上下文,将英语中的"it"正确翻译为法语或西班牙语中的性别对应的词汇。 Transformers 能够利用注意力机制来确定如何翻译当前单词,同时考虑其周围单词的影响。

然而,需要注意的是,Transformer 神经网络取代了早期的循环神经网络(RNN)、长短期记忆(LSTM)和门控循环单元(GRU)等模型,成为了更为先进和有效的选择。

通常而言,Transformer 神经网络接受输入句子并将其编码为两个不同的序列:

1.词向量嵌入序列

词向量嵌入是文本的数字表示形式。在这种情况下,神经网络只能处理转换为嵌入表示的单词。字典中的单词在嵌入表示中表示为向量。

2.位置编码器序列

位置编码器将原始文本中单词的位置表示为向量。Transformer 将词向量嵌入和位置编码结合起来。然后,它将组合结果发送到各个编码器,然后是解码器。

与 RNN 和 LSTM 按顺序提供输入不同,Transformer 同时提供输入。每个编码器将其输入转换为另一个向量序列,称为编码。

解码器以相反的顺序工作。它将编码转换回概率,并根据概率生成输出单词。通过使用 softmax 函数,Transformer 可以根据输出概率生成句子。

每个解码器和编码器中都有一个称为注意力机制的组件。它允许一个输入单词使用其他单词的相关信息进行处理,同时屏蔽不包含相关信息的单词。

为了充分利用 GPU 提供的并行计算能力,Transformer 使用多头注意力机制进行并行实现。多头注意力机制允许同时处理多个注意力机制,从而提高计算效率。

相比于 LSTM 和 RNN,Transformer 深度学习模型的优势之一是能够同时处理多个单词。这得益于 Transformer 的并行计算能力,使得它能够更高效地处理序列数据。

五、常见的 Transformer 模型

截止目前,Transformer 是构建世界上大多数最先进模型的主要架构之一。它在各个领域取得了巨大成功,包括但不限于以下任务:语音识别到文本转换、机器翻译、文本生成、释义、问答和情感分析。这些任务中涌现出了一些最优秀和最著名的模型。

基于 Transformer 的模型体系图

1.BERT(双向编码器表示的 Transformer )

作为一种由 google 设计的技术,针对自然语言处理而开发,基于预训练的 Transformer 模型,当前被广泛应用于各种 NLP 任务中。

在此项技术中,双向编码器表示转化为了自然语言处理的重要里程碑。通过预训练的 Transformer 模型,双向编码器表示(BERT)在自然语言理解任务中取得了显著的突破。BERT 的意义如此重大,以至于在 2020 年,几乎每个英语查询在 Google 搜索引擎中都采用了 BERT 技术。

BERT 的核心思想是通过在大规模无标签的文本数据上进行预训练,使模型学习到丰富的语言表示。BERT 模型具备双向性,能够同时考虑一个词在上下文中的左侧和右侧信息,从而更好地捕捉词语的语义和语境。

BERT 的成功标志着 Transformer 架构在 NLP 领域的重要地位,并在实际应用中取得了巨大的影响。它为自然语言处理领域带来了重大的进步,并为搜索引擎等应用提供了更准确、更智能的语义理解。

2.GPT-2 / GPT-3(生成预训练语言模型)

生成式预训练 Transformer 2和3分别代表了最先进的自然语言处理模型。其中,GPT(Generative Pre-trained Transformer)是一种开源的 AI 模型,专注于处理自然语言处理(NLP)相关任务,如机器翻译、问答、文本摘要等。

上述两个模型的最显著区别在于“规模”和“功能”。具体而言,GPT-3 是最新的模型,相比于 GPT-2,其引入了许多新的功能和改进。除此之外,GPT-3 的模型容量达到了惊人的 1750 亿个机器学习参数,而 GPT-2 只有 15 亿个参数。

具备如此巨大的参数容量,GPT-3 在自然语言处理任务中展现出了令人惊叹的性能。它具备更强大的语言理解和生成能力,能够更准确地理解和生成自然语言文本。此外,GPT-3 在生成文本方面尤为出色,能够生成连贯、富有逻辑的文章、对话和故事。

GPT-3 的性能提升得益于其庞大的参数规模和更先进的架构设计。它通过在大规模文本数据上进行预训练,使得模型能够学习到更深入、更全面的语言知识,从而使得 GPT-3 能够成为目前最强大、最先进的生成式预训练 Transformer 模型之一。

当然,除了上面的 2 个核心模型外,T5、BART 和 X.NET 也是 Transformer(Vaswani 等人,2017)家族的成员。这些模型利用 Transformer 的编码器、解码器或两者来进行语言理解或文本生成。由于篇幅原因,暂不在本篇博文中赘述。

六、Transformer 模型并不是完美的

与基于 RNN 的 seq2seq 模型相比,尽管 Transformer 模型在自然语言处理领域取得了巨大的成功,然而,其本身也存在一些局限性,主要包括以下几个方面:

1.高计算资源需求

Transformer 模型通常需要大量的计算资源进行训练和推理。由于模型参数众多且复杂,需要显著的计算能力和存储资源来支持其运行,从而使得在资源受限的环境下应用 Transformer 模型变得相对困难。

2.长文本处理困难

在某些特定的场景下,由于 Transformer 模型中自注意力机制的特性,其对于长文本的处理存在一定的困难。随着文本长度的增加,模型的计算复杂度和存储需求也会显著增加。因此,对于超长文本的处理,Transformer 模型可能会面临性能下降或无法处理的问题。

3.缺乏实际推理机制

在实际的业务场景中,Transformer 模型通常是通过在大规模数据上进行预训练,然后在特定任务上进行微调来实现高性能,从而使得模型在实际推理过程中对于新领域或特定任务的适应性有限。因此,对于新领域或特定任务,我们往往需要进行额外的训练或调整,以提高模型的性能。

4.对训练数据的依赖性

Transformer 模型在预训练阶段需要大量的无标签数据进行训练,这使得对于资源受限或特定领域数据稀缺的情况下应用 Transformer 模型变得困难。此外,模型对于训练数据的质量和多样性也有一定的依赖性,不同质量和领域的数据可能会对模型的性能产生影响。

5.缺乏常识推理和推理能力

尽管 Transformer 模型在语言生成和理解任务上取得了显著进展,但其在常识推理和推理能力方面仍存在一定的局限性。模型在处理复杂推理、逻辑推断和抽象推理等任务时可能表现不佳,需要进一步的研究和改进。

尽管存在这些局限性,Transformer 模型仍然是当前最成功和最先进的自然语言处理模型之一,为许多 NLP 任务提供了强大的解决方案。未来的研究和发展努力将有助于克服这些局限性,并推进自然语言处理领域的进一步发展。



Tags:神经网络   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
Hello folks,我是 Luga,今天我们来聊一下人工智能(AI)生态领域相关的技术 - Transformer 神经网络模型 。自从最新的大型语言模型(LLaM)的发布,例如 OpenAI 的 GPT 系列、开源...【详细内容】
2023-09-18  Tags: 神经网络  点击:(0)  评论:(0)  加入收藏
随着深度学习的快速发展,卷积神经网络(ConvolutionalNeural Network,CNN)已成为计算机视觉领域最主流和有效的模型之一。而在CNN的不断演进中,环形分支(CircleBranching)逐渐受到重...【详细内容】
2023-09-08  Tags: 神经网络  点击:(12)  评论:(0)  加入收藏
大家好,今天要讲的内容是,使用python,绘制美观的神经网络。在这篇文章中,会讨论如何使用python中的networkx库,绘制美观且标准的神经网络。具体来说,会根据指定的层和节点数量,绘制...【详细内容】
2023-08-27  Tags: 神经网络  点击:(2)  评论:(0)  加入收藏
随着人工智能领域的发展,神经网络架构在各种应用中展现出强大的能力。其中,结构化偏置的神经网络架构成为近年来备受研究与关注的热门课题。结构化偏置是指在网络设计中,根据数...【详细内容】
2023-08-08  Tags: 神经网络  点击:(37)  评论:(0)  加入收藏
在计算机图形学和几何建模领域,网格曲面的神经网络是一项具有创新性的技术,它通过结合深度学习和几何处理的方法,实现高效、精确的三维形状表示和分析。本文将深入探讨网格曲面...【详细内容】
2023-08-07  Tags: 神经网络  点击:(28)  评论:(0)  加入收藏
神经网络在计算机视觉领域取得了巨大的成功,它们可以在图像分类、目标检测和语义分割等任务上表现出色。然而,对于涉及图像旋转和姿态估计的问题,传统的神经网络方法可能存在一...【详细内容】
2023-08-07  Tags: 神经网络  点击:(31)  评论:(0)  加入收藏
人工神经网络是一种受到生物神经系统启发的计算模型,旨在模拟和复现大脑的工作原理和智能行为。随着人工智能领域的快速发展,人工神经网络成为一项备受关注的研究领域。本文将...【详细内容】
2023-08-01  Tags: 神经网络  点击:(47)  评论:(0)  加入收藏
一、解决大图内存/计算问题的三个范式在两年前做的tutorial里面,我们有介绍过关于大规模神经网络,并且对20年以前的大规模图神经网络的进展有过一些介绍。在那个时候,考虑的是...【详细内容】
2023-07-04  Tags: 神经网络  点击:(76)  评论:(0)  加入收藏
人工神经网络是一种由人工构建的计算系统,其灵感来源于生物神经网络,用于处理各种类型的信息,包括图像、语音、文本和数字数据。人工神经网络已经在计算机视觉、自然语言处理和...【详细内容】
2023-04-19  Tags: 神经网络  点击:(75)  评论:(0)  加入收藏
作者:王佳杰引言语音唤醒(Keyword Spotting,KWS)是较为初级的语音识别任务,在2014年陈果果的工作[1]后,学界兴起大量研究,业界也获普遍应用,如智能家居(音箱、TV)、智能穿戴(TWS耳机、...【详细内容】
2023-03-21  Tags: 神经网络  点击:(72)  评论:(0)  加入收藏
▌简易百科推荐
Hello folks,我是 Luga,今天我们来聊一下人工智能(AI)生态领域相关的技术 - Transformer 神经网络模型 。自从最新的大型语言模型(LLaM)的发布,例如 OpenAI 的 GPT 系列、开源...【详细内容】
2023-09-18  架构驿站  微信公众号  Tags:神经网络   点击:(0)  评论:(0)  加入收藏
“智能就是一种生产力。”作者|武静静编辑|栗子还记得《钢铁侠》里的AI助手贾维斯吗?作为托尼的得力助手,它既可靠又聪明,不仅可以连接到任意计算机终端,操控托尼的钢铁侠战服,还会...【详细内容】
2023-09-18    甲子光年  Tags:AI Agent   点击:(3)  评论:(0)  加入收藏
新智元报道编辑:LRS【新智元导读】AI领域日新月异,RLHF也逐渐成为过时的技术,但新路线尚不明朗:应该采用无需人工的反馈,还是继续改进RLHF机制?在ChatGPT引领的大型语言模型时代,一...【详细内容】
2023-09-18    新智元  Tags:RLHF   点击:(0)  评论:(0)  加入收藏
新智元报道编辑:编辑部【新智元导读】这个开源工具,居然能用GPT-4代替人类去标注数据,效率比人类高了100倍,但成本只有1/7。大模型满天飞的时代,AI行业最缺的是什么?毫无疑问一定...【详细内容】
2023-09-18    新智元  Tags:GPT-4   点击:(3)  评论:(0)  加入收藏
文 | 科技新知过去的表现并不能保证将来的结果。”这是大多数金融理财模型的小字。在产品业务内部,这被称之为模型漂移、衰退或过时。事情会发生变化,模型性能会随着时间的推...【详细内容】
2023-09-18    科技新知  Tags:ChatGPT   点击:(3)  评论:(0)  加入收藏
DeepMind 联合创始人 Mustafa Suleyman 希望构建一个聊天机器人,其功能远不止聊天。在我最近与他的一次谈话中,他告诉我生成式人工智能只是一个阶段。接下来是交互式人工智能:...【详细内容】
2023-09-18  编程公开课    Tags:生成式AI   点击:(3)  评论:(0)  加入收藏
未来大模型产品的发展趋势可能是通用大模型与垂直领域细分模型的结合。这不仅需要具备坚实的技术基础,也需要大模型产品具有坚实的基于场景的应用。未来,从实践中来,到实践中去...【详细内容】
2023-09-18    科技日报  Tags:国产大模型   点击:(2)  评论:(0)  加入收藏
近年来,迁移学习和计算机视觉作为人工智能领域的热门话题备受瞩目。迁移学习是指通过将已有的知识迁移到新任务上,以提高该新任务的表现的机器学习方法。而计算机视觉则是通过...【详细内容】
2023-09-15  小东在广东    Tags:计算机视觉   点击:(5)  评论:(0)  加入收藏
出品 | 搜狐科技作者 | 潘琭玙比百度晚了半年、比阿里晚了5个月,腾讯混元大模型虽迟但到。此前称“不急于把半成品拿出来展示”,但发布后腾讯也坦言,目前只是“可用、可实践”...【详细内容】
2023-09-14    搜狐科技  Tags:大模型   点击:(4)  评论:(0)  加入收藏
随着深度学习技术的快速发展,稀疏特征提取和匹配成为了计算机视觉领域的一个重要研究方向。相较于传统的特征提取方法,稀疏特征提取可以将图像的高维数据降维,从而节省计算资源...【详细内容】
2023-09-14  数码小风向    Tags:深度学习   点击:(3)  评论:(0)  加入收藏
站内最新
站内热门
站内头条