前言
人脑每个时刻接收的外界输入信息非常多,包括来自于视觉、听觉、触觉的各种各样的信息,人脑中的工作记忆并不能同时处理这些过载的输入信息,大脑神经系统有个重要机制可以解决信息过载问题,即注意力
借鉴人脑解决信息过载的机制,提高对神经网络处理信息的能力
注意力机制
简介
注意力是一种人类不可或缺的复杂认知功能,可以关注一些信息的同时忽略另一些信息的选择能力
- 聚焦式注意力:自上而下的有意识的注意力,有预定目的、依赖任务的,主动有意识地聚焦于某一对象的注意力
- 显著性注意力:自下而上的无意识的注意力,由外界刺激驱动的注意,不需要主动干预,也和任务无关
注意力机制就是在计算能力有限的情况下,将有线的计算资源用来处理更重要的信息,是解决信息超载问题的主要手段,计算可以分两步:
给定查询向量q,用注意力变量z来表示被选择信息的索引位置,采用“软性”信息选择机制
(1)在所有输入信息上计算注意力分布

其中s(x,q)是注意力打分函数

(2)根据注意力分布来计算输入信息的加权平均
注意力机制的变体
硬性注意力
即只关注某一个输入向量的注意力,与软性记忆力(关于所有输入向量在注意力分布下的期望)
硬性注意力的缺点是基于最大采样或者随机采样的方式来选择信息,使得最终的损失函数与注意力分布之间的函数关系补课到,无法使用反向传播算法进行训练,因此硬性注意力通常需要使用强化学习来进行训练
为了使用反向传播算法,一般使用软性注意力来代替硬性注意力

键值对注意力
键值对注意力用键值对格式来表示输入信息,其中“键”用来计算注意力分布\alpha_n,“值”用来计算聚合信息

例子:
浏览图书馆中的书(输入信息)得到一本书(输出信息),有关于恐龙灭绝(查询q),图书馆的每本书都有两个标签
- 书名/目录(Key):书的摘要标识(书讲的是什么?)
- 书的内容(Value):数的具体知识(书实际写了什么?)
使用Key快速判断这本书是否相关,Value是真正需要参考的内容
使用键值对注意力的四部流程:
- 提出查询向量:生成查询向量q
- 匹配相关性:q与所有Key计算相似度打分
Key的作用:快速筛选哪些书值得关注(节省时间读完整本书) - 计算权重:将相似度分数归一化(常用Softmax)、得到注意力权重
Value的作用:提供最终需要爱的知识片段(可能是原文,也可能是更丰富的向量表示) - 加权求和:用计算出的权重对所有的值进行加权求和,这个加权和就是注意力的输出,但融合了所有的知识
多头注意力
利用多个查询Q=[q_1,q_2,\cdots,q_M],来并行地从输入信息中选取多组信息,每个注意力关注输入信息的不同部分
全部评论 (0)
暂无评论,快来抢沙发吧~