当前位置:   article > 正文

Transformer、多头自注意力机制_transformer中多头注意力机制和scpnet结合的模块为atcsp(多头自注意力跨阶段局部

transformer中多头注意力机制和scpnet结合的模块为atcsp(多头自注意力跨阶段局部

记录一下,自己的理解,不一定对!

注意力

首先注意力很好理解,就是权重。例如 Y = (x1+....xn)/n, 每个x的权重是相同的1/n;引入注意力机制就是使得每个x的权重不一样,当然权重和还是为1。

自注意力机制:

还是上面那个例子Y = (x1+....xn)/n。我想让每个x的权重不一样,我怎么办呢??

用X表示{x1 .....xn}序列。我把X复制三遍,分别称作V, K ,Q。 我用Q和K点积(也不一定是用点积,这个地方是想得到各个x之间的关系),然后用softmax变成和为1的权重值,记为向量表示GAMA =[g1 g2 .....gn], g1+g2+...gn=1。这样我就得到了各个x的权重值,那么Y可以重新表示为,Y= GAMA * X 的转置——Y = g1*x1+g2*x2+......+gn*xn 。为什么叫自注意力机制呢,我觉得就是用自己的值算的注意力。

多头注意力机制

就是把求注意力机制的过程重复多遍——多头,然后集合到一起,通过线性层变成单头的大小。我觉得可以理解成,计算一遍可能有误差,我多计算几遍,然后变成一个值,就有点类似与求期望,减少误差。注意,不是多算几遍注意力,然后求注意力的平均;而是用多算的注意力去求最后的值,然后求结果的平均。

只是粗略理解,实际上还有很多线性层计算(W)。

大家可以去b站看看李航老师关于《 attention is all you need》的论文讲解。这个论文主要是解决序列信息(机器翻译之类的,所以有的地方它要加很多东西。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/347894?site=
推荐阅读
相关标签
  

闽ICP备14008679号