Transformer、多头自注意力机制

阅读: 评论:0

Transformer、多头自注意力机制

Transformer、多头自注意力机制

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

注意力:

首先注意力很好理解,就是权重。例如 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》的论文讲解。这个论文主要是解决序列信息(机器翻译之类的,所以有的地方它要加很多东西。

本文发布于:2024-02-08 19:47:14,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739294568457.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多头   注意力   机制   Transformer
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23