Self-attention自注意力机制

应用最广,通常用于NLP和LLM

常见的输入:图片、文字和声音。

怎么用数据表示文字(图片是RGB三通道,像素值),怎么用向量表示文字:独热编码

汉字21000多,问题1太长了2不表示含义 猫和狗,你我他应该离得比较近

Word embedding词编码:让意思相近的字离得更近

让模型自己学他们之间的关系linear(21128,768)全连接是万能的

常见输出:

1 每个词输出一个(词性识别)

2 所有词输出一个值:情绪分类

3 输入输出长度不对应(翻译) 我爱中国 I love China 此为生成任务

为了考虑前后关系,推出了第一个模型

RNN 循环神经网络(最早研究序列任务)

RNN 就像一个有记忆的智能体,能根据之前的信息处理序列数据,不过有时它的 “记忆” 在面对长序列时会有些 “力不从心”。

存在问题:

长期依赖问题

        问题描述:RNN 在处理长序列数据时,难以捕捉到序列中远距离的依赖关系。随着序列长度的增加,RNN 对早期信息的记忆能力会逐渐减弱,导致在预测或处理与早期信息相关的任务时性能下降。

        原因分析:这是由于 RNN 在反向传播过程中,梯度会随着时间步长的增加而逐渐消失或爆炸。当梯度消失时,模型无法有效地从长期序列中学习到有用的信息;当梯度爆炸时,参数更新会变得不稳定,甚至导致模型无法收敛。

 梯度消失和爆炸问题

        问题描述:在 RNN 的训练过程中,由于激活函数的导数在某些情况下可能小于 1 或大于 1,当多个时间步的导数相乘时,很容易导致梯度变得非常小(梯度消失)或非常大(梯度爆炸)。

计算效率问题

        问题描述:RNN 在处理每个时间步时,都需要依赖前一个时间步的隐藏状态进行计算,这种顺序计算的方式使得 RNN 难以并行化,计算效率较低。

输出依赖问题

  • 问题描述:RNN 的输出不仅取决于当前的输入,还取决于之前的隐藏状态。这意味着在生成输出时,模型需要考虑整个序列的历史信息,而不能仅仅依赖于当前的输入。

LSTM 长短期记忆 Long short-term memory

LSTM 是一种特殊的神经网络,它像一个智能的记忆管家,能够巧妙地控制信息的进出,精准地记住长序列数据中的关键信息并遗忘无用信息。

问题:RNN和LSTM太慢了,不能一下子把整句话看完,只能串行不能并行

Self-attention 自注意力机制

《Attention is All You Need》提出transformer

输入是768维

什么是注意力:我应该给每件事分配多少注意力

如何计算注意力

与矩阵相乘就是全连接

在自注意力机制中,查询(Query) 和 键(Key) 用于计算不同位置之间的相关性(即注意力权重),而 值(Value) 的作用是将这些权重应用到具体的信息上,完成信息的聚合和转换。三者缺一不可。

直观理解:为什么需要 V?

假设没有 V,仅用 Q 和 K:

  • Q 和 K 的作用是计算注意力权重(即哪些位置需要关注)。

  • 但如果直接使用原始输入(例如词向量)作为聚合的对象,模型无法灵活调整信息的表达形式,导致表达能力受限。

引入 V 的核心原因

  • 解耦相关性计算和信息表达
    Q/K 负责“哪些位置需要关注”,V 负责“被关注的内容应该以什么形式表达”。

  • 增强模型的表达能力
    V 通过线性变换将输入映射到新的特征空间,让模型可以学习如何提取更有效的信息(例如聚焦特定语义特征)。

面试回答模板

"自注意力机制中,Q 和 K 计算不同位置的相似度(注意力权重),而 V 负责将权重应用到具体的信息上。如果只有 Q 和 K,模型只能直接对原始输入进行加权,无法学习更灵活的特征表达。V 通过线性变换将输入映射到新的空间,使模型能动态调整聚合后的信息形式,这对复杂任务(如语义理解、长距离依赖建模)至关重要。"

Self-attention也可以用矩阵运算

一个self-attention模型,一个字的编码维度是768,字的个数可以按照128,或者512计算。

多头自注意力机制

位置信息

字编码直接与位置编码相加

RNN为什么不需要位置编码:RNN本来就是从前往后按顺序来的,运行顺序决定了位置顺序。对transformer或者self-attention来说我是同步并行的,必须告诉位置信息。

左边有resNet残差连接,所以说网络可以走很深,没有残差网络是走不深的

Feed Forward就是两个全连接MLP多层感知机 nn.linear(768,3072) nn.linear(3072,768)从低维到高维再从高维到低维。可以叠无数层,因为维度不变

Encoder提取特征

文字分类王者BERT 文字生成王者GPT  chatGPT的基础是GPT-2也是Decoder

迁移学习

在大数据集上进行预训练,训练出好的特征提取器,在下游进行微调。

在大规模文本上进行无监督预训练

BERT在预训练中的两个任务

  1. 1.MLM
  2. 2.判断两句是否相连

BERT结构

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐