注意力机制
是指大脑对外界刺激进行选择性处理和加工的一种神经过程。它包括注意的定向、分配、维持和转移等多个方面,以确保个体能够有效地处理和应对外部环境的信息。
举例
当一个人在驾驶汽车时,注意力机制会帮助他集中精力在道路上的车辆、行人和交通信号等关键信息上,以确保安全驾驶;
在一个拥挤的商场中,个体的注意力机制会帮助他们忽略周围的嘈杂声音和其他干扰,集中关注他们所感兴趣的商品或目标;
在CV中,经过Attention后,会将图片集中在任务相关的区域或特征上,从而使模型能够更好的理解和处理图片数据,如下图。
关联度计算
在注意力机制中,QKV代表查询(Query)、键(Key)和数值(Value),是一种用于处理输入数据的技木。这种技术最初是在自然语言处理和神经网络中被广泛应用的。
-查询(Query):查询是指当前需要进行处理的信息。在注意力机制中,查询通常是一个向量,代表了需要进行关注和处理的特定信息。
-键(Key):键是指用于比较查询和数值的信息。在注意力机制中,键也是一个向量,用于与查询进行比较,以确定查询与数值的相关性。
- 数值(Value):数值是指需要被关注和处理的信息。在注意力机制中,数值也是一个向量,代表了与查询相关的信息。
在注意力机制中,通过比较查询和键的相关性,可以确定哪些数值与查询相关联,然后根据这种相关性对数值进行加权,以产生最终的输出。这种机制可以帮助模型在处理复杂的输入数据时,更加有效地关注和处理与特定查询相关的信息。
其中:除可以使得点积的结果在不同维度下更加稳定,确保计算出来的注意力权重不受维度大小的影响,有助于保持注意力权重的均匀性,使得模型更容易学到全局的信息。
可以理解为得到的矩阵A是每个字之间的注意力权重,得到的矩阵B是在原矩阵上加上了注意力权重的矩阵
红框中“三个矩阵”:为Wq,Wk,Wv,都是可训练的(trainable)
(如有不当理解请指正!)