今天给大家分享一个超强的算法模型,Transformer

Transformer 算法是由 Vaswani 等人在 2017 年提出的一种新型神经网络架构,并迅速取代了传统的循环神经网络(RNN)和长短期记忆网络(LSTM)在许多任务中的主导地位。

Transformer 算法的关键创新点是其自注意力机制,它通过自注意力机制解决了长期依赖问题,极大地提高了并行计算的效率。

在这里插入图片描述

一、Transformer 的基本结构

Transformer 主要由两个部分组成:编码器(Encoder)和 解码器(Decoder)。

编码器的作用是将输入序列编码为一系列连续的表示,解码器则将编码器的输出序列解码为目标序列。典型的 Transformer 结构包含多个相同的编码器层和解码器层。

在这里插入图片描述

1、编码器(Encoder)

编码器由多个相同的层组成,每一层由两个主要部分构成。

  1. 多头自注意力机制
  2. 前馈神经网络

2、解码器(Decoder)

解码器的结构类似于编码器,但有一个额外的层来处理编码器的输出。

解码器其主要构件为

  • 多头自注意力机制
  • 编码器-解码器注意力机制
  • 前馈神经网络

二、核心组件

下面,我们一起来看一下 transformer 中的核心组件。

1.输入嵌入

输入嵌入是 Transformer 的第一步,用于将离散的输入序列(通常是词或符号)转换为密集的、连续的向量表示。

在这里插入图片描述

在这里插入图片描述

2.位置编码

Transformer 不像 RNN 或 LSTM 那样具有天然的顺序感知能力,因此需要额外的位置编码来注入序列位置信息。

位置编码根据序列中每个位置的相对和绝对信息,通过一个固定的函数将其嵌入到向量中,并加到输入嵌入上。

在这里插入图片描述

在这里插入图片描述

3.自注意力机制

自注意力机制是 Transformer 的核心组件,负责捕捉输入序列中各个词与其他词之间的依赖关系。

它的主要思想是通过计算每个词对序列中其他词的关注度,从而生成词的上下文敏感表示。

自注意力机制包括以下步骤:

  1. 计算查询(Query)、键(Key)和值(Value)

在这里插入图片描述

  1. 计算注意力分数

    为了计算每个输入元素在序列中的关注度,自注意力机制通过Query 和 Key 的点积来度量输入序列中各个词的相关性。

    具体公式为:
    在这里插入图片描述

  2. 加权求和

    对于每个元素的输出表示,它是所有 Value 向量的加权求和。

    每个值向量的权重由该元素与其他所有元素的相关性(注意力分数)决定。

    注意力分数越高,表示该元素与当前元素的关系越密切,因此在加权求和时该元素的重要性也就越大。

在这里插入图片描述

4.多头自注意力机制

多头注意力机制通过并行地计算多组查询、键和值,来捕捉输入序列中不同子空间的依赖关系。

具体来说,它将自注意力机制的计算过程复制 h 次,每次使用不同的查询、键、值的线性变换。

最后,将这些头的输出拼接起来,并通过一个线性变换得到最终的输出。

在这里插入图片描述

在这里插入图片描述

5.前馈神经网络

每个编码器和解码器层中,除了自注意力机制,还有一个独立的前馈神经网络(FFN),它用于对自注意力输出的结果进行进一步的非线性变换。

FFN 由两层线性变换和一个激活函数(通常是 ReLU)组成

在这里插入图片描述

在这里插入图片描述

6.层归一化和残差连接

为了加速训练并解决梯度消失或爆炸的问题,Transformer 在每个子层(包括自注意力机制和前馈神经网络)后面引入了残差连接和层归一化。

在这里插入图片描述

这种残差结构有助于解决深层网络中的梯度消失问题,使得训练过程更加稳定。

在这里插入图片描述

6.Masked 多头自注意力子层

在解码器中,使用了一种特殊的注意力机制,称为掩码多头注意力(Masked Multi-Head Attention)

在解码器生成输出序列时,模型只能访问之前的生成结果,不能看到未来的词。

为了确保这一点,Masked 多头自注意力机制通过在注意力矩阵中对未来位置进行掩码,使其权重为负无穷,从而保证模型只能“关注”到之前的位置。

在这里插入图片描述

7.编码器-解码器多头注意力子层

编码器-解码器多头注意力子层在 Transformer 解码器中起到了关键作用,它使解码器能够有效地关注输入序列(编码器的输出),从而在生成序列时参考原始输入信息。

具体来说,编码器-解码器多头注意力的基本思想是通过对编码器输出(Key 和 Value)和解码器当前输入(Query)来生成新的表示。

这种机制使得解码器能够在生成序列时动态地选择性关注输入序列的不同部分。

在这里插入图片描述


如何学习大模型?

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费


如有侵权,请联系删除

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐