首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Transformer模型介绍

人工神经网络技术所使用的模型主要有4大类别:

a. 多层感知器(MLP,MultiLayer Perceptron)

b. 卷积神经网络(CNN,Convolutional Neural Network)

c. 循环神经网络(RNN,Recurrent Neural Network)

d. Transformer(个人观点:可以意译为“变换器”,这个名字表示从数据的语义变换的角度去看待其中的数学运算)

本文主要介绍Transformer模型,它是目前最主流的基础模型,它是在RNN和注意力机制(在NLP中,注意力机制让模型从序列中任何先前点的状态中提取信息。注意力层可以访问所有先前的状态并根据学习到的相关性度量对其进行权衡,从而提供有关远方文字的相关信息)的基础上演化而来的。Bert模型和GPT模型都是由Transformer模型演化而来的。所以理解Transformer模型是极为重要的。

Transformer模型的架构示意图

编码器:上图左侧的一半被命名为编码器(历史原因),但是在自然语言处理(NLP)领域,实际使用时并没有用它来编码,只是用它进行计算。编码是提前完成的,在数据输入到神经网络模型中时,就已经是经过编码的了。

解码器:上图右侧的一半被命名为解码器(历史原因),同编码器一样,它在NLP领域中实际上是用来计算的(目标是分类),没有解码工作(如果把计算得到结果的工作称为解码,把它理解为解码器也是正确的。但是这会让理解变得更加困难)。

Transformer模型的性能提升主要来自于它的三大核心理念:位置编码、自注意力机制和多头机制。

下面主要解释一下这三个要点。

###

位置编码

位置编码是一种固定大小的向量表示,它封装了目标序列中文字的相对位置信息:它为模型提供了有关单词在输入序列中的位置的信息。

这种编码位置信息,被输入注意力机制时,会在其邻居上产生注意力权重,就像在卷积神经网络模型中发生的一样。用作者的话来说,“我们假设它可以让模型轻松地学会按相对位置参与”。

得到编码位置信息之后,有一个数据的预处理(因为相关的两个数据都是由输入本身确定的,不是由神经网络确定的,所以本人称其为预处理,这样更接近于它的本意):Input Embedding加上Positional Encoding。

自注意力机制

在融入了位置编码信息的基础上,自注意力机制为输入序列中的任何位置提供上下文(它对输入数据和递归输出数据的每个部分的重要性进行差异加权),所以可以一次处理所有输入。例如,如果输入数据是自然语言句子,则不必一次处理一个词。与 RNN 相比,这允许更多的并行化,因此减少了训练时间,允许在更大的数据集上进行训练。

多头注意力机制

这是字面翻译(英文:Multi-head attention)的主流称呼。如果意译的话,个人认为是“多次采样机制”,表示对上一层得到的数据进行进一步采样,取出其中重要的部分信息,舍弃次要的部分信息。能否有效的取出重要的信息由训练过程决定。

###

Transformer模型的其他部分采用的都是“以简单为美”的设计理念,这使它更容易被理解和运用,运算效率更高。进而能处理更大的数据集(几乎整个互联网),最终由ChatGPT实现了AGI(尚有争议)这个新的里程碑。从另外一个角度说,如果没有Transformer模型,就不可能做出ChatGPT这么优异的产品!

上面是一些基本概念的介绍,如果想进一步深入了解,请参考:https://www.bilibili.com/video/BV1pu411o7BE 和 https://zhuanlan.zhihu.com/p/82312421

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230602A0049S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券