您的位置:首页 > 新闻 > 会展 > 网络营销课程大概学什么内容_推广网站的步骤_ip子域名大全_seo顾问咨询

网络营销课程大概学什么内容_推广网站的步骤_ip子域名大全_seo顾问咨询

2024/10/13 13:52:37 来源:https://blog.csdn.net/m0_46069937/article/details/142884034  浏览:    关键词:网络营销课程大概学什么内容_推广网站的步骤_ip子域名大全_seo顾问咨询
网络营销课程大概学什么内容_推广网站的步骤_ip子域名大全_seo顾问咨询

最近我在看论文时,发现很多都在用 Transformer 模型,我知道transformer很有名,但是我也只是听说过他的大名,不知道他具体是做什么怎么做的,因此我决定深入了解一下,并做个简单记录,方便以后参考。 Transformer 主要用于处理自然语言处理(NLP)任务。与之前的循环神经网络(RNN)和长短时记忆网络(LSTM)等模型不同,Transformer 最主要的模块是使用了注意力机制,而不需要顺序地处理数据,也就是说不依赖时间或序列顺序。transformer的核心功能是处理序列数据,就是处理输入的数据和输出的数据之间的关系,像我自己看的那篇论文,是推荐系统方向的,输入的数据是庞大的用户行为数据,经过整个模型处理,输出的数据就是精确的用户可能点击的数据,提高用户可能点击的概率。

Transformer 由以下几个部分组成:

  1. 自注意力机制: 这一机制让模型在处理每个词语时,能够参考序列中的其他所有词。比如在翻译时,句子中的某个词可能会依赖其他几个词,这种机制让模型可以全局地理解上下文,从而捕捉长距离依赖关系,比如在最近很火的gpt文本生成中,一句话中各个单词的远近可能对当前词有影响。
  2. 多头注意力: 这是对自注意力机制的并行化处理,让模型从不同角度(即多个“头”)来理解输入序列。每个“头”可以独立学习不同的信息关联,进一步提升模型的表达能力,使得它能够捕捉到句子中 不同的部分。
  3. 位置编码: 由于 Transformer 不是按顺序处理数据的,它通过位置编码引入词语的位置信息,确保模型能理解词与词之间的顺序关系。就像你阅读一句话时,不仅要知道每个词的含义,还要知道它们在句中的顺序,这样才能明白句子的意思。

Transformer的编码器与解码器

在 NLP 任务中,编码器负责将输入数据转化为一种计算机能够看懂的代码,而解码器则根据这个表示生成输出。Transformer 的编码器由 6 层相同的堆栈组成,每层包含两个子层:多头自注意力机制和一个前馈网络。主要是对输入的序列进行编码,提取出表示序列各个部分的向量。

解码器也有类似的结构,但它比编码器多了一个子层,这个额外的子层用来处理编码器的输出。另外,解码器中的自注意力机制经过调整,只允许每个位置关注之前已生成的内容,确保生成顺序合理,输出新的输出序列。
Attention ⁡ ( Q , K , V ) = softmax ⁡ ( Q K T d k ) V \operatorname{Attention}(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V Attention(Q,K,V)=softmax(dk QKT)V

在深度学习领域,特别是注意力机制的应用中,点积计算、缩放、softmax变换以及加权求和是实现自注意力或注意力层的核心步骤。通过这些步骤,注意力机制能够有效地捕捉序列数据中的长距离依赖关系,大大增强了模型理解和生成复杂语言结构的能力,是现代自然语言处理模型如Transformer架构中的关键组件。

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 MultiHead(Q,K,V)=Concat(head_1,...,head_h)W^O MultiHead(Q,K,V)=Concat(head1,...,headh)WO

w h e r e 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 ) where head_i = Attention(QW_i^Q,KW_i^K,VW_i……V) whereheadi=Attention(QWiQ,KWiK,VWi……V)

论文接下来详细的介绍了transformer是如何工作的:

第一步:线性变换

对于输入的查询Q、键K和值V,我们使用不同的线性变换矩阵
W i Q 、 W i K 和 W i V W_i^Q、W_i^K和W_i^V WiQWiKWiV
,将它们分别隐射到h个不同的子空间。每一个注意力投都有自己专用的一组权重矩阵。
Q i = Q W i Q , K i = K W i K , V i = V W i V Q_i=QW_i^Q,K_i=KW_i^K,V_i=VW_i^V Qi=QWiQ,Ki=KWiK,Vi=VWiV

第二步:独立计算每个注意力投的输出

对于每一个注意力i,计算缩放点积注意力:
h e a d i = A t t e n t i o n ( Q i , K i , V i ) = s o f t m a x ( Q K T d k ) V i head_i=Attention(Q_i,K_i,V_i) = softmax(\frac{Q K^{T}}{\sqrt{d_{k}}})V_i headi=Attention(Qi,Ki,Vi)=softmax(dk QKT)Vi

第三部:连接所有注意力头的输出

将所有注意力头的输出 h e a d 1 , h e a d 2 , . . . , h e a d h head_1,head_2,...,head_h head1,head2,...,headh进行拼接(Concat),得到一个大矩阵:
C o n c a t ( h e a d 1 , h e a d 2 , . . . , h e a d h ) Concat(head_1,head_2,...,head_h) Concat(head1,head2,...,headh)

第四步:线性变换输出

对拼接后的结果进行一次线性变换,得到最终的多头注意力输出:
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 MultiHead(Q,K,V)=Concat(head_1,...,head_h)W^O MultiHead(Q,K,V)=Concat(head1,...,headh)WO

除了注意力机制,Transformer 的每一层还包含一个前馈网络神经网络,通常由两次线性变换和中间的 ReLU 激活函数组成。
F F N ( x ) = m a x ( 0 , s W 1 + b 1 ) W 2 + b 2 FFN(x)=max(0,sW_1+b1)W_2+b_2 FFN(x)=max(0,sW1+b1)W2+b2

多头注意力的计算是将查询、键和值分别线性变换到多个子空间中,然后独立计算每个子空间的注意力分布,最后将所有头的输出拼接起来,进行线性变换,得到最终的结果。这让模型可以并行地关注输入序列中的不同部分,提升了处理能力。

transformer广泛的应用于序列到序列的任务中,具有高效的并行计算能力和捕捉长距离依赖关系的能力。

版权声明:

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

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