当前位置: 首页 > wzjs >正文

手机wap网站特效百度关键词seo优化

手机wap网站特效,百度关键词seo优化,怎么提高网站响应速度,网站直播间 是怎么做的无反馈,不学习 要完全理解清楚transformer结构,就必须理解self-attention是怎么运作的。在transformer中,其最核心的改进就是引入了self-attention网络结构。 一)self-attention网络结构 self-attention网络结构的作用如下图所…

无反馈,不学习 

要完全理解清楚transformer结构,就必须理解self-attention是怎么运作的。在transformer中,其最核心的改进就是引入了self-attention网络结构

一)self-attention网络结构

self-attention网络结构的作用如下图所示,其作用就是将输入的向量经过self-attention处理后输出相同数量,相同大小的向量。

但是需要注意的是,输出的b^{1} b^{2} b^{3} b^{4},并不是类似于普通的神经网络的处理和输出。 对应输出的b^{1} b^{2} b^{3} b^{4}是考虑了所有输入的全局信息得到的,可能是类似于语义信息等;暂且这里我们将其叫为是加了注意力的信息b^{1} b^{2} b^{3} b^{4}

1.1 如何给b^{1} b^{2} b^{3} b^{4}加注意力

self-attention给其加注意力信息。其做的第一件事情是计算了他们之间的相关性。

第一步:计算a^{1} a^{2} a^{3} a^{4}他们之间的相关性,至于怎么计算,这个问题先留着。

第二步:得到a^{1} a^{2} a^{3} a^{4}他们之间的相关性后的,以得到b^{1}举例,b^{1}的值就是被加入了注意力信息的值,b^{1}的值是根据a^{1} a^{1}a^{1} a^{2}a^{1} a^{3}a^{1} a^{4}之间的相关性(这里的相关性也被叫做注意力)去对应的a^{1} a^{2} a^{3} a^{4}中抽取信息,若a^{1} a^{2}之间的相关性(注意力)强,说明网络应该更加关注a^{2},即会根据得到的相关性抽取信息。至于如何抽取,也先留着。

1.2 计算a^{1} a^{2} a^{3} a^{4}他们之间的相关性

对于计算计算a^{1} a^{2} a^{3} a^{4}他们之间的相关性的方法有很多,这里讲解最常用的方式——Dot-product方式。

 假设要计算a^{1} a^{2}之间的注意力,首先第一步,将a^{1} ×上 W^{q} 矩阵 得到 q , 将a^{2} ×上 W^{k} 矩阵 得到 k,q 和 k 再进行点积运行算得到的就是a^{1} a^{2}之间的注意力。那 W^{q} 和 W^{k} 是什么呢?这里暂且默认W^{q} 和 W^{k}就是存在,通过上述运算就能得到二者的相关性。

1.3 如何根据注意力抽取重要信息

上诉只是得到了a^{1} a^{2}之间的注意力,我们继续来看下如何得到b^{1}

如上图所示, a^{1} a^{2} a^{3} a^{4}通过乘上 W^{q} 矩阵可以得到对应的q^{1} q^{2} q^{3} q^{4},同样的a^{1} a^{2} a^{3} a^{4}通过乘上 W^{k} 矩阵可以得到对应的k^{1} k^{2} k^{3} k^{4},得到了q 和 k 的值,进而通过Dot-product方式就可以计算得到对应的相关性,即a_{11}a_{12}a_{13}a_{14}。然后让 a_{11}a_{12}a_{13}a_{14} 通过softmax的处理,得到最后的相关性 a_{11}^{'}a_{12}^{'}a_{13}^{'}a_{14}^{'} 。 

 a^{1} a^{2} a^{3} a^{4}通过乘上 W^{v} 矩阵可以得到对应的v^{1} v^{2} v^{3} v^{4},这里暂且默认 W^{v}就是存在,这个时候就可以根据注意力 a_{11}^{'}a_{12}^{'}a_{13}^{'}a_{14}^{'} 去抽取重要信息 v^{1} v^{2} v^{3} v^{4} 了。

所以 b^{1} 计算公式如下:

 

同理,就也可以得到对应的b^{2} b^{3} b^{4}。 

至此,遗留的两个问题,计算a^{1} a^{2} a^{3} a^{4}他们之间的相关性和根据得到的相关性抽取重要信息已解决。现在我们唯一还不知道的是 W^{q} W^{k} W^{v} 到底是什么。其实还有一个小问题就是,在得到最后的注意力 a_{11}^{'}a_{12}^{'}a_{13}^{'}a_{14}^{'}的时候,我们是使用了一个softmax函数来进行处理,至于为什么要使用这个softmax函数来进行处理也是需要回答的,这里就不讲解了,只需要去深入了解一下softmax函数的作用即可理解。

二) 手动进行self-attention

以下三个输入向量,将其构成一个矩阵

X = [[1.0, 0.5, 2.0, 1.5],   # 猫[0.5, 2.0, 1.0, 0.0],   # 吃[1.5, 1.0, 0.5, 2.0]]   # 鱼

进行 self-attention的第一步就是计算输入向量对应的 k q v 。假设 W^{q} W^{k} W^{v} 如下所示。

W_q (4x3):[[0.5, 1, 0],[0,  0.5, 1],[1,  0,  0.5],[0.5, 0,  1]]W_k (4x3):[[1,  0,  0.5],[0.5, 1,  0],[0,  0.5, 1],[1,  0,  0.5]]W_v (4x4):[[0,  1,  0.5,  1],[1,  0.5, 0,  1],[0.5, 0,  1,  1],[0,  1,  0.5,  1]]

查询向量 q1 (输入向量为猫 [1.0, 0.5, 2.0, 1.5])

q1 = x1 * W_q

     = [1, 0.5, 2, 1.5] * [[0.5, 1, 0], [0, 0.5, 1], [1, 0, 0.5], [0.5, 0, 1]]

  • 计算第一个元素:1*0.5 + 0.5*0 + 2*1 + 1.5*0.5 = 0.5 + 0 + 2 + 0.75 = 3.25
  • 计算第二个元素:1*1 + 0.5*0.5 + 2*0 + 1.5*0 = 1 + 0.25 + 0 + 0 = 1.25
  • 计算第三个元素:1*0 + 0.5*1 + 2*0.5 + 1.5*1 = 0 + 0.5 + 1 + 1.5 = 3.0 

q1 = [3.25, 1.25, 3.0]

键向量 k1 (输入向量为猫 [1.0, 0.5, 2.0, 1.5]):

k1 = x1 * W_k 

     = [1, 0.5, 2, 1.5] * [[1, 0, 0.5], [0.5, 1, 0], [0, 0.5, 1], [1, 0, 0.5]]

  • 第一个元素:1*1 + 0.5*0.5 + 2*0 + 1.5*1 = 1 + 0.25 + 0 + 1.5 = 2.75

  • 第二个元素:1*0 + 0.5*1 + 2*0.5 + 1.5*0 = 0 + 0.5 + 1 + 0 = 1.5

  • 第三个元素:1*0.5 + 0.5*0 + 2*1 + 1.5*0.5 = 0.5 + 0 + 2 + 0.75 = 3.25

k1 = [2.75, 1.5, 3.25]

值向量 v1 (输入向量为猫 [1.0, 0.5, 2.0, 1.5])

v1 = x1 * W_v

    = [1, 0.5, 2, 1.5] * [[0, 1, 0.5, 1], [1, 0.5, 0, 1], [0.5, 0, 1, 1], [0, 1, 0.5, 1]]

  • 第一个元素:1*0 + 0.5*1 + 2*0.5 + 1.5*0 = 0 + 0.5 + 1 + 0 = 1.5

  • 第二个元素:1*1 + 0.5*0.5 + 2*0 + 1.5*1 = 1 + 0.25 + 0 + 1.5 = 2.75

  • 第三个元素:1*0.5 + 0.5*0 + 2*1 + 1.5*0.5 = 0.5 + 0 + 2 + 0.75 = 3.25

  • 第四个元素:1*1 + 0.5*1 + 2*1 + 1.5*1 = 1 + 0.5 + 2 + 1.5 = 5

v1 = [1.5, 2.75, 3.25, 5]

这里计算a_{11}的注意力 q_1 \cdot k_1 =  [3.25, 1.25, 3.0] \cdot [2.75, 1.5, 3.25] = 20.5625

同样的方式计算得到a_{12}a_{13}a_{14}的注意力,然后通过softmax的处理,得到最后的相关性 a_{11}^{'}a_{12}^{'}a_{13}^{'}a_{14}^{'} 。 然后在根据得到的相关性抽取重要信息 v^{1} v^{2} v^{3} v^{4}

在这里我们是假设了 W^{q} W^{k} W^{v} 矩阵的值,其实在真实的网络当中呢,其都是未知的参数,我们只定义它的大小,至于其内部的值都是作为未知参数待求的。

还有一个问题,为什么我们在假设 W^{v} 矩阵的时候,其大小是4×4的,而不是像 W^{q} W^{k}一样是4×3的呢?先说结论

由于输入向量是1×4的,为了能让矩阵能运算下去,其W^{q} W^{k} W^{v}必须是4行的,至于几列不影响能否计算,但W^{v}必须也是4列,因为要保证其输入向量经过self-attention处理输出后保持向量相同大小,至于为什么,是应为在transformer模型中,加入了残差连接,必须保证输入输出向量大小一致。

那为什么W^{q} W^{k} 可以是三列?其实对于W^{q} W^{k} 的列可以自由设定,但是W^{q} W^{k} 的列大小相同。

投影维度 (权重矩阵的列数)的影响
维度作用增大影响减小影响
W^{q} W^{k} 的列注意力分数的区分度✅ 提升细粒度关注能力
❌ 增加 QKᵀ 计算成本
⚠️ 可能丢失语义细节
✅ 降低内存占用
W^{v}  的列值向量的信息携带量✅ 增强上下文信息传递
❌ 增加输出计算量
⚠️ 可能压缩关键信息
✅ 加速输出生成
http://www.dtcms.com/wzjs/287185.html

相关文章:

  • 涟水做网站事件营销成功案例
  • java项目网站开发搜索引擎排名2022
  • 住房和城乡建设部干部学院网站电脑学校培训
  • 深圳网站建设网络推广在线网页制作系统搭建
  • 为什么在百度搜不到我的网站广州头条新闻最新
  • 南昌做网站建设公司电商平台运营
  • 如何做360网站的排名申请网站怎样申请
  • 桥东区网站建设2023年最新时政热点
  • 网站制作知名公司企点下载
  • b站刚开始怎么推广上海还能推seo吗
  • 展示网站建设的ppt推广关键词外包
  • 先建设网站后付款流程优化的七个步骤
  • wordpress+粘贴表格在线工具seo
  • 公司网站建设哪家好360优化大师官方下载手机
  • 网站左侧悬浮网页在线生成
  • 告诉你做网站需要多少钱广西网站建设制作
  • 协会网站建设需求文档seo查询软件
  • 做企业国际网站多少钱公司网站怎么注册
  • 网站点击率如何做网站流量查询平台
  • python 做网站开发吗网络营销主要做些什么
  • 网站建设联系电话株洲seo推广
  • wordpress log 日志百度seo是什么意思呢
  • 如何建设黔货出山电子商务网站常用的网络推广方法
  • 网站设计需要考虑哪些基本原则网络营销的推广方法有哪些
  • wordpress 自定义筛选北京seo公司华网白帽
  • 做视频网站推广挣钱吗明星百度指数排行
  • 双语版网站引导页手机百度如何发布广告
  • 做网站专题怎样添加微博网站建网站建设网站
  • 新建的网站怎么上首页网络营销产品推广方案
  • 女人做春梦视频网站郑州关键词排名外包