深度学习中的注意力机制概述

版权声明:转载请注明出处,谢谢!!! https://blog.csdn.net/tszupup/article/details/86289054

        在介绍注意力机制之前,先介绍神经网络中的一个重要概念:网络容量Network Capacity),网络容量指神经网络中可以存储的信息量,一般来讲,一组神经元能够存储信息的容量和神经元的数量以及神经网络的复杂度成正比,要存储更多的信息,神经元的数量就要越多、网络结构就要越复杂,这些都会导致计算复杂度成倍增长。
        人脑的生物神经网络同样存在着网络容量问题,人脑每时每刻从外界接收的信息非常多,包括来源于视觉、听觉、触觉中各种各样的信息,仅就视觉而言,眼睛每秒钟都会发送千万比特的信息给视觉神经系统。人脑在有限的计算资源下,并不能同时处理这些过载的输入信息,然而,大脑神经系统有两个重要的机制可以解决信息过载问题:注意力机制和记忆机制
        深度学习借鉴了人脑处理信息过载问题的方法,从两个方面来提高神经网络的信息处理能力。一方面是引入注意力通过自上而下地信息选择机制来过滤掉大量的无关信息;另一方面是引入额外的外部记忆优化神经网络的记忆结构来提高神经网络存储信息的容量这篇博客将简要总结邱锡鹏老师的《神经网络与深度学习》第八章注意力和记忆机制中的注意力机制
        注意力指人可以在关注一些信息的同时忽略其他信息的能力,是一种人类不可或缺的复杂认知功能。在日常生活中,我们通过各种感官接收大量的输入信息,但是人脑仍然可以在这些外界的信息轰炸中有条不紊地工作,是因为人脑可以有意或无意地从这些大量的输入信息中选择小部分的有用信息来进行重点处理。
        注意力一般分为两种:一种是自上而下的有意识的注意力,称为聚焦式注意力。聚焦式注意力是指有预定目的的、依赖任务的、主动有意识地聚焦于某一对象的注意力;另一种是自下而上的无意识的注意力,称为基于显著性的注意力。基于显著性的注意力是由外界刺激驱动的注意力,不需要主动干预,也和任务无关。如果一个对象的刺激信息不同于其周围信息,一种无意识的“赢者通吃”或者门控机制就可以把注意力转向这个对象。不管这些注意力是有意还是无意,大部分的人脑活动都需要依赖注意力,比如记忆信息、阅读和思考等。
        一个和注意力相关的例子是鸡尾酒会效应:当一个人在吵闹的鸡尾酒会上和朋友聊天时,尽管周围噪声干扰很多,他还是可以听到朋友的谈话内容,而忽略其他人的名字(聚焦式注意力)。同时,如果这时他未注意到的背景声中有重要的词,比如有人喊他的名字,那么他也会马上注意到(基于显著性的注意力)。
        相比于基于显著性的注意力,我们往往更关注聚焦式注意力。聚焦式注意力一般会随着环境、情境或任务的不同而选择不同的信息:比如当我们需要在人群中寻找某个人时,我们会关注每个人的脸部细节;而当要统计人群的人数时,我们只需要关注每个人的轮廓即可。
        注意力机制正在被广泛使用,在实践中使用的注意力模型可以看作是一个注意力分布,即关注所有位置,只是关注程度不同。通常,我们使用基于内容的注意力来生成注意力分布。根据一个查询,计算输入信息中每一个元素和这个查询的匹配程度,而后将匹配程度分数输入到一个softmax函数生成注意力分布。注意力机制可以分为两步:一是计算注意力分布,二是根据注意力分布来计算输入信息的加权平均。注意力模型的基本模式如下:
在这里插入图片描述
        除了基本模式外,注意力机制还存在一些变化的模型:

  1. 键值对注意力:用键值对格式表示输入信息,其中“键”用于生成注意力分布,“值”用于生成选择的输入信息;
  2. 多头注意力:利用多个查询来平行地从输入信息中选取多个信息,每个注意力关注输入信息的不同部分;
  3. 硬性注意力:只关注输入信息中的某一个元素,基于最大采样或随机采样的方式来选择信息,需要通过强化学习进行训练;
  4. 结构化注意力:应用于输入信息本身具有层次结构的情况,比如文本可以分为词、句子、段落、篇章等不同粒度的层次,使用层次化的注意力模型来进行更好的信息选择。

        写作过程参考了《神经网络与深度学习》这本书,目的在于对最近学到的关于深度学习中的注意力机制进行总结,仅供学术交流之用,如有问题请私信联系 QQ:3408649893,谢谢。

猜你喜欢

转载自blog.csdn.net/tszupup/article/details/86289054