一文弄懂--人工智能中的Transformer是什么?

人工智能中的Transformer是什么?

什么是人工智能中的Transformer?

Transformer是一种神经网络架构,能够将输入序列转换或变换为输出序列。Transformer通过学习内容并追踪序列元素之间的关系来实现这一点。例如,考虑这个输入序列:「天空是什么颜色?」Transformer模型使用内部数学表示法来识别“颜色”、“天空”和“蓝色”这三个词之间的相关性和关系。它利用这些知识生成输出:「天空是蓝色的。」

各组织使用Transformer模型进行各种类型的序列转换,从语音识别到机器翻译,再到蛋白质序列分析。

Transformer为何重要?

早期的深度学习模型广泛专注于自然语言处理(NLP)任务,旨在让计算机理解人类自然语言并做出反应。它们根据序列中的前一个词猜测下一个词。

为了更好地理解,请想想智能手机中的自动完成功能。它会根据你输入的词频提出建议。例如,如果你经常输入“I am fine”,那么在你输入“am”之后,手机会自动建议“fine”。

早期的机器学习(ML)模型在更广泛的领域应用了类似的技术。它们在训练数据集中映射不同词对或词组之间的关系频率,并尝试猜测下一个词。但早期技术无法保留超过特定输入长度的内容。例如,早期的ML模型无法生成有意义的段落,因为它无法保留段落中第一句和最后一句之间的前后关联。要生成像“I am from Italy. I like horse riding. I speak Italian.”这样的输出,模型需要记住“Italy”和“Italian”之间的关联,而早期的神经网络无法做到这一点。

Transformer模型从根本上改变了NLP技术,使模型能够处理文本中的长距离依赖关系。以下是Transformer的更多优势:

  • 启用大规模模型:Transformer通过并行处理完整的长序列,显著缩短了训练和处理时间。这使得训练大型语言模型(LLM)成为可能,例如GPT和BERT,这些模型可以学习复杂的语言表示。它们拥有数十亿个参数,能够获取广泛的人类语言和知识,并推动更具通用性的AI系统研究。
  • 实现更快的定制:使用Transformer模型,你可以采用迁移学习和检索增强生成(RAG)等技术。这些技术可以针对特定的行业组织应用定制现有模型。模型可以在大型数据集上进行预训练,然后在较小的特定任务数据集上进行微调。这种方法使复杂模型的使用更加普及,消除了从头开始训练大型模型时的资源限制。模型可以在多个领域和任务中表现出色,适用于各种用例。
  • 促进多模态AI系统:借助Transformer,你可以利用AI处理结合复杂数据集的任务。例如,像DALL-E这样的模型展示了Transformer可以根据文本描述生成图像,将NLP和计算机视觉功能结合起来。使用Transformer,你可以创建AI应用程序,整合不同类型的信息,更紧密地模仿人类的理解能力和创造力。
  • AI研究与产业创新:Transformer开创了新一代AI技术和AI研究,突破了ML领域的可能性边界。它们的成功启发了新的架构和应用,用于解决创新性问题。它们使机器能够理解并生成人类语言,催生了能够提升客户体验并创造新商机的应用程序。

Transformer有哪些使用案例?

你可以在任何连续数据上训练大型Transformer模型,例如人类语言、音乐创作、编程语言等。以下是一些示例用例:

  • 自然语言处理:Transformer使机器能够以比以往更准确的方式理解、解释和生成人类语言。它们可以对大型文档进行摘要,并为各种用例生成连贯且与内容相关的文本。像Alexa这样的虚拟助手就使用Transformer技术来理解和响应语音命令。
  • 机器翻译:翻译应用程序使用Transformer在不同语言之间提供即时、准确的翻译。与以前的技术相比,Transformer显著提高了翻译的流畅性和准确性。
  • DNA序列分析:通过将DNA片段视为类似语言的序列,Transformer可以预测基因突变的影响、了解遗传模式,并帮助识别导致某些疾病的DNA区域。这种功能对于个性化医疗至关重要,因为了解个人的基因组成可以带来更有效的治疗方案。
  • 蛋白质结构分析:Transformer模型能够处理连续数据,这使其非常适合对折叠成复杂蛋白质结构的氨基酸长链进行建模。了解蛋白质结构对于药物发现和理解生物过程至关重要。你还可以在根据氨基酸序列预测蛋白质3D结构的应用中使用Transformer。

Transformer的运作方式?

自21世纪初以来,神经网络一直是图像识别和NLP等各种AI任务的领先方法。它们由相互连接的计算节点(或神经元)层组成,模仿人类大脑并协同工作以解决复杂问题。

处理数据序列的传统神经网络通常采用编码器/解码器架构模式。编码器读取并处理整个输入数据序列,例如英文句子,并将其转换为紧凑的数学表示。这个表示是一个摘要,提取了输入的本质。然后,解码器获取这个摘要,并逐步生成输出序列,例如将同一句子翻译成法文。

这个过程是按顺序进行的,这意味着它必须逐个处理每个单词或数据部分。这个过程速度较慢,并且在处理长距离内容时可能会丢失一些更细微的细节。

自注意力机制

Transformer模型通过结合一种称为自注意力机制的组件来改进这个过程。该机制不是按顺序处理数据,而是使模型能够同时查看序列的不同部分,并确定哪些部分最重要。

假设你在一个嘈杂的房间里试图听某人说话。你的大脑会自动专注于他们的声音,同时忽略那些不太重要的噪音。自注意力机制使模型能够做类似的事情:它更关注相关信息,并将这些信息合并起来,以做出更好的输出预测。这种机制使Transformer更加高效,使其能够在更大的数据集上进行训练。尤其是在处理长篇内容中可能影响后续含义的部分文本时,它的效果更好。

Transformer架构有哪些元件?

Transformer神经网络架构包含几个软件层,它们协同工作以生成最终输出。以下将介绍Transformer架构的组件:

  • 输入嵌入:此阶段将输入序列转换为软件算法能够理解的数学领域。首先,输入序列被细分为一系列字符或单个序列元素。例如,如果输入是一个句子,那么字符就是单词。然后,嵌入操作将字符序列转换为数学向量序列。向量包含语义和语法信息(以数字表示),并在训练过程中学习其属性。你可以将向量想象为n维空间中的一系列坐标。举个简单的例子,想象一个二维图形,其中x代表单词首字母的字母数字值,y代表它们的类别。“banana”(香蕉)这个词的值为(2, 2),因为它以字母“b”开头,并且属于“fruit”(水果)类别。“mango”(芒果)这个词的值为(13, 2),因为它以字母“m”开头,并且也属于“fruit”(水果)类别。通过这种方式,向量(x, y)告诉神经网络,“banana”和“mango”属于同一类别。现在想象一个具有数千个属性的n维空间,句子中任何单词的语法、含义和用法都映射到一系列数字。软件可以使用这些数字从数学角度计算单词之间的关系,并理解人类语言模型。嵌入提供了一种将离散字符表示为模型可以处理和学习的连续向量的方法。
  • 位置编码:位置编码是Transformer架构中的重要组件,因为模型本身本质上并不会按顺序处理连续数据。Transformer需要一种方法来考虑输入序列中字符的顺序。位置编码将信息添加到每个字符的嵌入中,以指示其在序列中的位置。这通常通过使用一组函数来完成,这些函数会生成一个唯一的位置信号,并将其添加到每个字符的嵌入中。使用位置编码,模型可以保留字符的顺序并理解序列内容。
  • Transformer块:典型的Transformer模型由多个堆叠在一起的Transformer块组成。每个Transformer块都有两个主要组件:一个多头自注意力机制和一个位置前馈神经网络。自注意力机制使模型能够衡量序列中不同字符的重要性。在进行预测时,它会专注于输入的相关部分。例如,考虑“Speak no lies(不说谎)”和“He lies down(他躺下)”这两个句子。在这两个句子中,如果不查看“lies”旁边的单词,就无法理解它的含义。“speak”和“down”这两个单词对于理解正确的含义非常重要。自注意力机制可以对内容中的相关字符进行分组。前馈层包含其他组件,有助于Transformer模型更高效地训练和运行。例如,每个Transformer块包括:两个主要组件周围的连接,就像捷径一样。它们可以将信息从网络的一个部分传递到另一个部分,跳过中间的某些操作;层归一化,可将数字(特别是网络中不同层的输出)保持在特定范围内,使模型能够顺利进行训练;线性转换函数,使模型能够调整值,以便更好地执行训练任务,例如文档摘要而不是翻译。
  • 线性和softmax块:最终模型需要做出具体的预测,例如在序列中选择下一个单词。这就是线性块发挥作用的地方。它是另一个全连接层,也称为密集层,位于最终阶段之前。它执行从向量空间到原始输入领域的学习线性映射。这个关键层是模型的决策部分,它采用复杂的内部表示,并将其转换回你可以解释和使用的特定预测。此层的输出是每个可能字符的一组分数(通常称为logit)。softmax函数是获取logit分数并将它们标准化为概率分布的最后阶段。softmax输出的每个元素代表模型对特定类别或字符的置信度。
    在这里插入图片描述

Transformer与其他神经网络架构有何不同?

循环神经网络(RNN)和卷积神经网络(CNN)是另外两种常用于机器学习和深度学习任务的神经网络。以下探讨它们与Transformer的关系:

  • Transformer与RNN:Transformer模型和RNN都是用于处理连续数据的架构。RNN在周期性迭代中一次处理一个数据序列元素。该过程从输入层接收序列的第一个元素开始。然后,信息被传递到隐藏层,隐藏层处理输入并将输出传递到下一个时间步。此输出与序列的下一个元素相结合,反馈到隐藏层中。这个周期会针对序列中的每个元素重复,RNN会维护一个隐藏状态向量,该向量会在每个时间步更新。这个过程有效地让RNN记住过去输入的信息。相比之下,Transformer可以同时处理整个序列。与RNN相比,这种并行化使得训练时间更短,并且能够处理更长的序列。Transformer中的自注意力机制还使模型能够同时考虑整个数据序列。这消除了对重复或隐藏向量的需求。取而代之的是,位置编码用于维护有关序列中每个元素位置的信息。在许多应用中,Transformer已经取代了RNN,尤其是在NLP任务中,因为它们可以更有效地处理长距离依赖关系。它们还比RNN具有更大的可扩展性和效率。不过,RNN在某些情况下仍然有用,特别是在模型大小和计算效率比捕捉长距离交互更重要的时候。
  • Transformer与CNN:CNN是专为类似网格的数据设计的,如图像,其中空间层次和位置至关重要。它们使用卷积层在输入之间应用滤波器,并通过这些滤波器视图提取局部模式。例如,在图像处理中,初始层可能会检测边缘或纹理,而更深层次的层会识别更复杂的结构,如形状或物体。Transformer主要设计用于处理序列数据,无法直接处理图像。视觉Transformer模型现在正通过将图像转换为连续格式来处理图像。然而,CNN仍然是许多实际计算机视觉应用的高效且有效的选择。

Transformer模型有哪些不同的类型?

Transformer已经发展成为多种架构系列。以下是一些类型的Transformer模型:

  • 双向Transformer:基于Transformer的双向编码器表示(BERT)模型修改了基础架构,它不是单独处理单词,而是根据与句子中所有其他单词的关系来处理单词。从技术上讲,它使用一种称为双向掩码语言模型(MLM)的机制。在预训练期间,BERT会随机掩码一定百分比的输入字符,并根据内容预测这些被掩码的字符。双向特性源于BERT同时考虑从左到右和从右到左的字符序列,以获得更好的理解。
  • 生成式预训练Transformer:GPT模型使用堆叠的Transformer解码器,这些解码器通过使用语言建模目标在大型文本集上进行预训练。它们是自回归的,这意味着它们会根据前面的所有值回归或预测序列中的下一个值。通过使用超过1750亿个参数,GPT模型可以生成根据风格和语气调整的文本序列。GPT模型激发了人工智能研究,以实现通用人工智能。这意味着组织可以在重塑其应用程序和客户体验的同时,达到新的生产力水平。
  • 双向和自回归Transformer:双向和自回归Transformer(BART)是一种结合了双向和自回归属性的Transformer模型。它就像是BERT的双向编码器和GPT的自回归解码器的混合体。它一次读取整个输入序列,并且像BERT一样具有双向性。但是,它生成输出序列是一次生成一个字符,这是基于先前生成的字符和编码器提供的输入。
  • 用于多模态任务的Transformer:多模态Transformer模型(例如ViLBERT和VisualBERT)旨在处理多种类型的输入数据,通常是文本和图像。它们通过使用双流网络扩展了Transformer架构,在融合信息之前分别处理视觉和文本输入。这种设计使模型能够学习跨模态表示。例如,ViLBERT使用共同注意力的Transformer层来使各个流相互作用。这对于理解文本和图像之间的关系至关重要的情况,如视觉问答任务。
  • 视觉Transformer:视觉Transformer(ViT)将Transformer架构重新用于图像分类任务。它们不将图像视为像素网格进行处理,而是将图像数据视为固定大小补丁的序列,这类似于处理句子中的单词的方式。每个补丁都会被展平、线性嵌入,然后由标准的Transformer编码器依次处理。添加位置嵌入以维护空间信息。这种全局自注意力使模型能够捕捉任意两个补丁之间的关系,无论它们的位置如何。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值