注意力机制就是让计算机模拟人类大脑,在看东西的时候,将注意力集中在比较感兴趣的物体上。
1. 引入注意力机制的目的:
1、计算能力的限制:越复杂的模型才能记住更多的信息,但是当前计算能力依然是限制人工神经网络发展的瓶颈
2、优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,
有效缓解模型复杂度和表达能力之间的矛盾;但是,信息“记忆”能力并不高
2. 按照认知神经学中的注意力,可分为两类:
1、聚焦式(focus)注意力: 自上而下的有意识的注意力,主动注意——是指有预定目的、依赖任务的、主动有意识地聚焦于某一对象的注意力;
2、显著性(saliency-based)注意力::自下而上的有意识的注意力,被动注意——基于显著性的注意力是由外界刺激驱动的注意,不需要主动干预,也和任务无关;可以将max-pooling和门控(gating)机制来近似地看作是自下而上的基于显著性的注意力机制。
在人工神经网络中,注意力机制一般就特指聚焦式注意力。
3. 注意力机制计算流程
Attention机制的目的是计算Attention Value,通过给定一个和任务相关的查询Query向量 q,计算与Key的注意力分布并附加在Value上。注意力机制分为三个步骤&