机器学习笔记(22):注意力机制

前言

人脑每个时刻接收的外界输入信息非常多,包括来自于视觉、听觉、触觉的各种各样的信息,人脑中的工作记忆并不能同时处理这些过载的输入信息,大脑神经系统有个重要机制可以解决信息过载问题,即注意力

借鉴人脑解决信息过载的机制,提高对神经网络处理信息的能力

注意力机制

简介

注意力是一种人类不可或缺的复杂认知功能,可以关注一些信息的同时忽略另一些信息的选择能力

  • 聚焦式注意力:自上而下的有意识的注意力,有预定目的、依赖任务的,主动有意识地聚焦于某一对象的注意力
  • 显著性注意力:自下而上的无意识的注意力,由外界刺激驱动的注意,不需要主动干预,也和任务无关

注意力机制就是在计算能力有限的情况下,将有线的计算资源用来处理更重要的信息,是解决信息超载问题的主要手段,计算可以分两步:

给定查询向量q,用注意力变量z来表示被选择信息的索引位置,采用“软性”信息选择机制
(1)在所有输入信息上计算注意力分布
注意力分布的计算.jpg
其中s(x,q)是注意力打分函数
注意力打分函数.jpg
(2)根据注意力分布来计算输入信息的加权平均

注意力机制的变体

硬性注意力

即只关注某一个输入向量的注意力,与软性记忆力(关于所有输入向量在注意力分布下的期望)

硬性注意力的缺点是基于最大采样或者随机采样的方式来选择信息,使得最终的损失函数与注意力分布之间的函数关系补课到,无法使用反向传播算法进行训练,因此硬性注意力通常需要使用强化学习来进行训练

为了使用反向传播算法,一般使用软性注意力来代替硬性注意力
软性注意力机制.jpg

键值对注意力

键值对注意力用键值对格式来表示输入信息,其中“键”用来计算注意力分布\alpha_n,“值”用来计算聚合信息
键值对记忆力.jpg
例子:
浏览图书馆中的书(输入信息)得到一本书(输出信息),有关于恐龙灭绝(查询q),图书馆的每本书都有两个标签

  • 书名/目录(Key):书的摘要标识(书讲的是什么?)
  • 书的内容(Value):数的具体知识(书实际写了什么?)

使用Key快速判断这本书是否相关,Value是真正需要参考的内容

使用键值对注意力的四部流程:

  1. 提出查询向量:生成查询向量q
  2. 匹配相关性:q与所有Key计算相似度打分
    Key的作用:快速筛选哪些书值得关注(节省时间读完整本书)
  3. 计算权重:将相似度分数归一化(常用Softmax)、得到注意力权重
    Value的作用:提供最终需要爱的知识片段(可能是原文,也可能是更丰富的向量表示)
  4. 加权求和:用计算出的权重对所有的值进行加权求和,这个加权和就是注意力的输出,但融合了所有的知识

多头注意力

利用多个查询Q=[q_1,q_2,\cdots,q_M],来并行地从输入信息中选取多组信息,每个注意力关注输入信息的不同部分

游客

全部评论 (0)

暂无评论,快来抢沙发吧~