深入剖析Transformer-注意力机制

图片

本系列文章的初衷是带领大家深入剖析Transformer,逐步揭示其内在机制和工作原理。本系列第二篇:注意力机制,它是理解Transformer工作原理的基础。

目前主流的序列转换模型都基于复杂的循环神经网络(RNN)或卷积神经网络(CNN),包含编码器和解码器两部分。表现最好的模型还通过注意力机制将编码器和解码器连接起来。Transformer是一种全新的简单网络架构,它完全基于注意力机制,摒弃了循环和卷积操作。

在这里插入图片描述

01 机器翻译

机器翻译的历史可追溯到1950s,因冷战需求,美国开始研发俄语到英语的自动翻译机器。早期方法简单,仅依赖词典逐词替换,完成句子翻译。

  • 统计 机器翻译

在1990s至2010s期间,统计机器翻译(SMT)盛行。对于法语到英语的翻译,SMT旨在寻找使概率最大的翻译。

通过贝叶斯公式,机器翻译转化为两个概率的乘积:语言模型和翻译模型。语言模型确保句子通顺,而翻译模型关注局部翻译。过程中涉及复杂的单词和短语对应关系的求解,SMT采用启发式搜索,排除低概率路径,从而找到最佳翻译。这使得SMT复杂且依赖人工干预和特征工程。

  • 神经 机器翻译

2014年,Seq2Seq模型的出现标志着神经机器翻译(NMT)的兴起。Seq2Seq从序列到序列的模型,因为机器翻译的源语言和目标语言都是Seq。

自从Seq2Seq和NMT横空出世以来,机器翻译取得了巨大的进展。从前的SMT都是极其复杂的,涉及到大量的特征工程,海量的专家知识,无数的资源积累,繁多的功能模块,还需要庞大的人力去维护。现在直接被一个很深很深的神经网络干翻在地。

02 序列到序列模型

目前主流的序列转换模型都基于复杂的循环神经网络(RNN)或卷积神经网络(CNN),包含编码器和解码器两部分。

Seq2Seq的NMT,它由两个RNN组成:Encoder RNN和Decoder RNN。

图片

Encoder RNN(红色部分)负责编码源语言,学习其隐含特征。它可以是任意类型的RNN,如朴素RNN、LSTM或GRU。Encoder RNN的最后一个神经元的隐状态作为Decoder RNN(绿色部分)的初始隐状态,传递了源语言的信息。

Decoder RNN是一个条件语言模型,它既是用来生成目标语言的模型,其初始隐状态又依赖于Encoder RNN的输出。在预测过程中,Decoder RNN将上一个神经元的输出作为下一个神经元的输入,不断预测下一个词,直到输出结束标志符为止。

03 注意力机制

  • 朴素Seq2Seq的信息瓶颈

朴素的Seq2Seq神经机器翻译模型中,由于用Encoder RNN的最后一个神经元的隐状态作为Decoder RNN的初始隐状态。这里存在一个问题:Encoder的最后一个隐状态(Context Vector)承载了源句子的所有信息,成为整个模型的“信息”瓶颈。

图片

注意力机制就是希望打破这个信息瓶颈。从宏观角度来看,注意力机制直接将Decoder中的每一个隐层与Encoder中的每一个隐层连接起来。

图片

图片

  • 缩放点积注意力

**缩放点积注意力(Scaled Dot-Product Attention):**这是一种注意力机制的实现方式,其中通过计算查询(Query)和键(Key)之间的缩放点积来得到注意力权重。缩放因子通常用于防止点积结果过大,导致Softmax函数进入梯度饱和区。

  • 查询向量(Query):它代表了当前需要关注的信息或者位置。这个查询向量会用来与所有的键向量进行相似度计算,以确定哪些位置的信息对当前位置最为重要。
  • 键向量(Key):它作为被查询的对象,用于与查询向量进行匹配。键向量同样对应于输入序列中的每一个位置。通过与查询向量计算相似度,键向量帮助模型找到与当前位置最相关的其他位置。
  • 值向量(Value):它包含了与键向量对应位置的实际信息。一旦通过键向量找到了与查询向量最匹配的位置,模型就会使用这些位置对应的值向量来生成输出。

图片

  • 多头注意力

多头注意力(Multi-Head Attention): 主要目标是允许模型同时学习多组不同的自注意力权重。每个“头”可以被看作是一种注意力权重的不同子表示。

通过并行运行多个自注意力层并综合其结果,能够同时捕捉输入序列在不同子空间中的信息。每个头部独立地学习不同的注意力权重,并通过不同的线性变换对输入序列进行编码。通过这种方式,多头注意力能够同时关注来自输入序列的不同子空间的信息,从而增强了模型的表达能力。

图片

  • 带掩码的 多头注意力

带掩码的多头注意力(Masked Multi-Head Attention): 结合了多头注意力(Multi-Head Attention)和掩码(Mask),主要是为了在解码器的每个时间步中只关注之前的位置,避免当前位置的信息对之后的位置造成干扰。

带掩码的多头注意力可以通过设置掩码矩阵来实现,这个矩阵将未来的位置掩盖,在Softmax函数计算前将这些位置的注意力值设为负无穷,这样输出就不会受到未来位置的影响。

图片

04 Transformer使用注意力机制

Transformer是一种全新的简单网络架构,它完全基于注意力机制,摒弃了循环和卷积操作。

图片

Transformer使用注意力机制的三种不同方式如下:

  • 在“编码器-解码器注意力”层中,查询来自前一层解码器,而记忆键和值则来自编码器的输出。这使得解码器中的每个位置都能关注输入序列中的所有位置。
  • 编码器包含自注意力层。在自注意力层中,所有的键、值和查询都来自同一个地方,即编码器前一层的输出。编码器中的每个位置都可以关注编码器前一层中的所有位置。
  • 解码器中的自注意力层允许解码器中的每个位置关注解码器中包括该位置在内的所有位置。这时需要防止解码器中的信息向左流动,以保持自回归属性,通过将softmax输入中对应非法连接的所有值掩盖掉(设为-∞)来实现这一点。

05

总结

本文全面概述了Transformer的注意力机制,该机制负责捕捉输入序列中不同位置之间的依赖关系。注意力机制通过计算查询向量(Query)、键向量(Key)和值向量(Value)之间的相互作用来实现。具体来说,对于每个位置,模型会生成相应的查询、键和值向量。查询向量与所有位置的键向量进行相似度计算,得到一组权重。这些权重随后用于对值向量进行加权平均,从而得到该位置的注意力输出。
在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、AI大模型各大场景实战案例

在这里插入图片描述

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

  • 16
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值