您的位置:首页 > 文旅 > 旅游 > 全国公共资源交易中心官网_网站设置为应用程序_东莞seo网站排名优化_西安专业做网站公司

全国公共资源交易中心官网_网站设置为应用程序_东莞seo网站排名优化_西安专业做网站公司

2025/4/24 15:12:36 来源:https://blog.csdn.net/what_how_why2020/article/details/145716342  浏览:    关键词:全国公共资源交易中心官网_网站设置为应用程序_东莞seo网站排名优化_西安专业做网站公司
全国公共资源交易中心官网_网站设置为应用程序_东莞seo网站排名优化_西安专业做网站公司

本文内容基于 Attention is all you need 论文。

工作流

本节对 Transformer 的训练推理工作流、Encoder 和 Decoder 工作流做出解释。

训练推理工作流

训练阶段,输入序列经过 N 个 Encoder 模块输出矩阵 K K K V V V,这些矩阵包含了输入序列的全局信息,不会再重复生成。

第一个 Decoder 模块接收起始提示符经过基于掩码的多头注意力块,生成矩阵 Q Q Q,和来自 Encoder 模块的矩阵 K K K V V V 一起输入到多头注意力块,后面经过前馈全连接网络等模块,并将结果输出给第二个 Decoder 模块,重复过程,直到第 N 个模块输出。

Encoder 工作流

整个 Encoder 模块由 6 个相同的子 Encoder 模块顺序连接构成,第一个 Encoder 接收输入,经过多头注意力、前馈全连接网络、残差连接和正则化后,输出给下一个 Encoder 模块,最后一个 Encoder 模块输出 Q、V 矩阵给 Decoder 模块。

Decoder 工作流

模块详解

本节对 Transformer 中每个最小单位的模块做出解释。

输入及编码

位置编码

位置编码(Postional Encoding)

Attention

缩放点积注意力

缩放点积注意力(Scaled Dot-Product Attention)

操作步骤:

输入一个序列 X X X,分别与 W Q W_Q WQ W K W_K WK W V W_V WV 三个权重矩阵做矩阵乘法,计算得到三个矩阵 Q Q Q K K K V V V

然后矩阵 Q Q Q K K K 做矩阵乘法,缩放因子 d k d_k dk,softmax,和矩阵 V V V 做乘法

数学公式:

A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax(\frac{Q K^T}{\sqrt{d_k}})V Attention(Q,K,V)=softmax(dk QKT)V

上式中,缩放因子 d k \sqrt{d_k} dk 用于标准化为 N ( 0 , 1 ) N(0,1) N(0,1)

Multi-head attention

多头注意力机制允许模型在不同的子空间中学习不同的特征,每个头都有不同的 Q Q Q K K K V V V,最后将所有头的输出通过一个线性层拼接。

M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , . . . , h e a d h ) W O h e a d i = A t t e n t i o n ( Q W i Q , K W i K , V W i V ) \begin{align*} & MultiHead(Q,K,V)=Concat(head_1, ..., head_h)W^O \\ & head_i = Attention(QW_i^Q,KW_i^K,VW_i^V) \end{align*} MultiHead(Q,K,V)=Concat(head1,...,headh)WOheadi=Attention(QWiQ,KWiK,VWiV)

问题:下面三个 Linear 是什么?

增加解释:self-attention、解码器和编码器中的几个 attention 的区别

前馈全连接网络

前馈全链接网络(Position-wise Feed-Forward Networks)用于变换数据维度,包括:两个全连接层和一个 RELU 激活层,数学上表示为:

F F N ( x ) = m a x ( 0 , W 1 x + b 1 ) W 2 + b 2 FFN(x)=max(0, W_1 x + b_1)W_2 + b_2 FFN(x)=max(0,W1x+b1)W2+b2
上式中, W 1 x + b 1 W_1 x + b_1 W1x+b1 为第一层全连接层, m a x ( 0 , W 1 x + b 1 ) max(0, W_1 x + b_1) max(0,W1x+b1) 为 RELU 激活函数, ( ) W 2 + b 2 ()W_2 + b_2 ()W2+b2 为第二层全连接层。 W 1 W_1 W1 为, W 2 W_2 W2

Add & Norm

这部分由残差连接(Residual Connection)和层归一化(Layer Norm)构成。

残差连接是一种常见的深度学习技巧,它将输出和其输入相连来实现,数学上表示为:

R e s i d u a l = x + R e s i d u a l ( x ) Residual = x + Residual(x) Residual=x+Residual(x)

上式中, x x x 为残差连接层的输入, R e s i d u a l ( x ) Residual(x) Residual(x) 为残差连接层的输出。

作用:缓解深层网络中的梯度消失问题。

层归一化可以理解为对同样本的不同特征维度的归一化。

作用:稳定训练过程、提高模型稳定性、减少梯度消失和爆炸

自注意力机制

自注意力机制(Self Attention)定义为将单个序列或句子的不同位置关联起来获得更有效表示的机制。

Transformer 相较于 RNN 的改进

  1. 并行计算
  2. 因为 attention 机制能一次获取全局信息,所以最长计算路径短
  3. 可以捕捉长距离依赖关系
Layer TypeComplexity per LayerSequential OperationsMaximum Path Length
Self-Attention O ( n 2 ⋅ d ) O(n²·d) O(n2d) O ( 1 ) O(1) O(1) O ( 1 ) O(1) O(1)
Recurrent O ( n ⋅ d 2 ) O(n·d²) O(nd2) O ( n ) O(n) O(n) O ( n ) O(n) O(n)
Convolutional O ( k ⋅ n ⋅ d 2 ) O(k·n·d²) O(knd2) O ( 1 ) O(1) O(1) O ( l o g k ( n ) ) O(log_k(n)) O(logk(n))
Self-Attention (restricted) O ( r ⋅ n ⋅ d ) O(r·n·d) O(rnd) O ( 1 ) O(1) O(1) O ( n / r ) O(n/r) O(n/r)

参考资料:

The Illustrated Transformer – Jay Alammar – Visualizing machine learning one concept at a time. 该文章的中译版本:细节拉满,全网最详细的Transformer介绍(含大量插图)! - 知乎、Transformer 的训练与推理 | 暗香画楼

Transformer常见问题与回答总结 - 知乎:用于检测是否理解了 Transformer 模型

Encoder 模块的代码复现视频

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com