ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

注意力机制Attention Mechanism的数学原理

2021-12-17 23:01:02  阅读:207  来源: 互联网

标签:计算 Attention 信息 数学原理 Mechanism 机制 注意力 输入


最近在写一东西,有在看注意力机制,将其数学原理总结一下。

神经网络中的注意力机制(Attention Mechanism)是在计算能力有限的情况下,将计算资源分配给更重要的任务,同时解决信息超载问题的一种资源分配方案。即是在注意给定任务中更加关键的信息,而可以适当的忽略不重要信息,从而提高任务处理的效率。

注意力机制可分为下面展示一些 软注意力(Soft-Attention)硬注意力(Hard-Attention)。可理解为对于N个输入信息 X=[x1,x2,...,xN],硬注意力机制往往在这N个输入信息种选取某一个(随机选择或选取概率最高的);而软注意力是考虑了N个输入,计算N个输入信息的加权平均。故在很多深度学习任务中采用软注意力机制,下文都是针对软注意力机制展开的。

1 注意力机制的数学原理

注意力机制的计算步骤

  1. 对所有输入信息计算其注意力分布
  2. 根据注意力分布计算Attention值

接下来分别解释一下注意力分布Attention值

1.1 基本形式(X Q)

对于N个输入信息 X=[x1,x2,...,xN]q为查询向量,定义注意力变量z∈[1,N] 表示被选择信息的索引位置即x的下标。

① 对所有输入信息计算其注意力分布
αi 表示在给定查询q时,输入信息向量X中第i个信息与查询q的相关程度
由此有:
在这里插入图片描述
其中σi构成的概率向量就称为注意力分布
s(xi,q)是注意力打分函数,有以下几种形式:
在这里插入图片描述
看的文章中缩放点积形式用的比较多,d是维度,W、U、v是网络学习出来的参数
② 根据注意力分布计算Attention值
在这里插入图片描述

1.2 键值对 形式(K V Q)

键值对形式是将基本形式中的输入信息向量X由(K,V)表示,那么N个输入信息就可以表示为(K, V)= [(k1,v1),(k2,v2),...,(kN,vN)],其中“键”K用来计算注意分布σi,“值”V用来计算聚合信息。
① 根据Query和Key计算二者的相似度
这里就是通过打分模型,计算出注意力得分

si = F(Q,ki)

② 用softmax函数对注意力得分进行数值转换

在这里插入图片描述

③ 根据权重系数对Value进行加权求和:
在这里插入图片描述
整个过程如下图所示:
在这里插入图片描述

标签:计算,Attention,信息,数学原理,Mechanism,机制,注意力,输入
来源: https://blog.csdn.net/weixin_41022048/article/details/121992092

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有