什么是注意力机制及其应用(self attention)?

article/2025/10/29 12:18:41

一、引言

注意力机制是自深度学习快速发展后广泛应用于自然语言处理、统计学习、图像检测、语音识别等领域的核心技术,例如将注意力机制与RNN结合进行图像分类,将注意力机制运用在自然语言处理中提高翻译精度,注意力机制本质上说就是实现信息处理资源的高效分配,例如先关注场景中的一些重点,剩下的不重要的场景可能会被暂时性地忽略,注意力机制能够以高权重去聚焦重要信息,以低权重去忽略不相关的信息,并且还可以不断调整权重,使得在不同的情况下也可以选取重要的信息。其基本网络框架如图所示。

注意力机制自提出后,影响了基于深度学习算法的许多人工智能领域的发展。而当前注意力机制已成功地应用于图像处理、自然语言处理和数据预测等方面,其中包括注意力机制与传统算法循环神经网络Recurrent Neural NetworkRNN 、 编 解 码 器 encoder- decoder、长短期记忆Long Short-Term MemoryLSTM人工神经网络等的结合,并应用于图像处理、自然语言处理和数据预测等领域;以及以自注意力(self-attention为基本结构单元的transformerreformer Hopfield 等算法。

二、图像处理领域的应用

注意力机制的第一次提出是在视觉图像领域中,指出注意力的作用就是将之前传统的视觉搜索方法进行优化, 可选择地调整视觉对网络的处理,减少了需要处理的样本数据并且增加了样本间的特征匹配。但是因为结构的简单,无法检测到特征间的相关性,并且没有任何循环机制,所以在整个视觉识别过 程中,无法重现图像轮廓,因此人们就想到了将注意力机制与具有循环机制的循环神经网络RNN结合,RNN 结构和展开图:

RNN下一时刻的输出与前面多个时刻的输入和自己当前状态有关,因此能够保留特征间的相关性,但是由于每一步状态的记录也会导致误差累积,从而有可能造成梯度爆炸;并且如果输入过多的序列信息,梯度的传递性不是很高,也会出现梯度消失的现象,而循环神经网络RNN模型与 attention 机制结利用注意力机制对特定的区域进行高分辨率处理。将注意力集中在图片中特定的部分,不是处理全部图像,而是有针对性地选择相应位置处理,提取图像中的关键信息同时忽略无关信息,网络层数也不会过深,梯度爆炸的问题也得到了解决。使整个模型的性能提高。

三、自然语言处理领域的应用

利用神经网络实现机器翻译属于encoder-decoder 机制,但是encoder-decoder 方法有个明显缺陷就是,它的编码解码都是对应定长的句子,所以当输入不同长度的句子时,这个方法的性能往往会降低很多;此外针对不同语言需要选择不同的编解码器,所以不具有普遍适用性。而基于注意力机制的对齐和翻译联合学习的方法是将输入都转换为向量,然后在解码过程中根据注意力机制自适应地选择向量的子集,避免了将输入句子压缩,保留完整句子信息。基本模型如下所示:

 当输入长度不同的句子时,编码只需把所有输入转换为向量,而解码则自适应地选择向量长度,所 以可以让模型更好地处理不同长度的句子。

四、数据预测领域的应用

传统神经网络预测数据常使用RNN 进行预测, 但是这种方法同样因为训练层数多和长距离的序列时常存在梯度爆炸梯度消失等问题,因此一种结合了注意力机制想法的 RNN 变体出现 —— 长短期记忆人工神经网络(LSTM)。LSTM 本质上仍然是一种RNN 的递归神经网络结构35但它能够解决RNN 中存在的梯度消失问题,是因为它有着特设计的“门”结构输入门、遗忘门和输出门,其结构单元如图所示。

LSTM 模型结构将细胞单元进行了扩充,其中遗忘门就是决定“忘记”哪些无用的信息;而记忆门则是决定保留哪些重要信息,从而进行传递;输出门则是将遗忘门和记忆门的细胞状态进行整合,然后输出至下一个细胞单元它将细胞单元进行更改,新增“遗忘门“记忆门”和“输出门”就是为了对长序列进行挑选,然后将较长的序列转化为包含有重要信息的短序列,将数据进行传递,有效解决了传统算法预测数据时的问题。

五、Transformer 模型

Vaswani 等在2017 年发表的“Attention is all you need”介绍了以self-attention为基本单元的Transformer 模型,使得注意力机制得到真正的成功运用。transformer 是由左边的编码器和右边的解码器组成。编码器负责把输入序列进行位置编码后映射为隐藏层,然后解码器再把隐藏层映射为输出序列。编码器包含 4 个部分:

编码器的第一个位置是将输入的数据转换为向量,通过位置编码后,将其输入到多头注意力。这里的位置编码就是记录序列数据之间顺序的相关性,相比较之前的RNN 顺序输入,transformer 方法不需要将数据一一输入,可以直接并行输入,并存储好数据之间的位置关系,大大提高了计算速度,减少了存储空间。

第二部分的多头注意力是为了获取数据内部之间的相关性弥补了CNN 方法中数据缺少关联性的缺点。

第三部分是残差连接和标准化,在映射关系转换过程中,往往会存在计算产生的残差,而残差的存在会因为网络层数的增加,模型学习的映射关系越来越不精确,因此要通过残差连接和层标准化,有效提高模型的学习能力,并使数据更加标准,加快收敛,是一种优化技

最后再通过由两个全连接层组成的前向反馈层,将学习得到的数据进行非线性映射,即加大强的部分,减小弱的部分,最后再标准化,这样通过编码器得到的学习结果更加精准和具有代表性。

根据transformer 结构可知,解码器相对比编码器是在第二部分多了一个掩码多头注意力。这个的目的是因为前面编码器训练时数据的长度是不一样的,而这里的解码器将这些数据中最大的长度作为计算单元进行训练,并且只需要之前数据对当前的影响,而不需要未来数据对它的影响,因此将后面未来预测的数据利用函数掩码掉,从而不参与训练。之后的两项与解码器中相同,最后再通过一次线性化和softmax 层完成输出,这里的线性化和softmax 层是将向量转换为输出所要求的类型,如机器翻译中,就会将向量根据概率大小选出合适的词语,从而完成翻译。

transformer 优缺点总结

transformer 通过注意力机制、编码解码、残差前馈网络和线性化等解决了许多问题。如解决了传统神经网络算法训练 慢的缺陷,是因为它根据 CNN 中的卷积思想结合了多头注意力,实现并行计算,大大加快了计算速度,并在多项语言翻译任务中取得较好的结果;而位置编码又使得 transformer 备了CNN 欠缺而RNN 擅长的能力,将序列数据间的关系可以存储下来,在自然语言处理的上下文语义等应用方面得到了 广泛的应用。但是同时 transformer  也有其他缺陷,如只能让长序列得到高效处理,短序列的效率并没有得到提高;针对长序列训练这些模型的成本就会很高。

六、Transformer 模型的改进

针对transformer 中一些缺陷,reformer 对其进行了改进。首先是将transformer 中的点积注意力替换为局部位置敏感哈希注意力transformer 中的多头注意力是并行计算并叠加, 它计算两个数据点之间的attention score 需要将多个自注意力连起来因此导致计算量很大,所占内存较多。而reformer 选了用局部敏感哈希注意力,代替多头注意力。此外,在训练网络时为了反向传播计算,往往每一层的激活值都要被记录下来,所以层数越多,所占内存也越多。因此reformer 便提出了用可逆残差取代标准残差层。在反向传播时按需计算每个层的激活值,而不需要把它们都存在内存中,在网络中的最后一 层激活值可以恢复中间任何一层的激活值。可逆残差层如图所示。


http://chatgpt.dhexx.cn/article/4ofLH77l.shtml

相关文章

自注意力(Self-Attention)

一、自注意力机制概述 循环神经网络由于信息传递的容量以及梯度消失问题,实际上也只能建立短距离依赖关系。 为了建立长距离的依赖关系,可以增加网络的层数或者使用全连接网络。但是全连接网络无法处理变长的输入序列,另外,不同的…

5、注意力机制和Transformer模型

1、人类的视觉注意力 从注意力模型的命名方式看,很明显其借鉴了人类的注意力机制,因此,我们首先简单介绍人类视觉的选择性注意力机制。 视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需…

注意力机制原理及其模型发展和应用

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 Attention机制在近几年来在图像,自然语言处理等领域中都取得了重要的突破,被证明有益于提高模型的性能。Attention机制本身也是符合人脑和人眼的…

深度解析注意力模型(attention model)

前言attention的内部结构是什么? 前言 这里学习的注意力模型是我在研究image caption过程中的出来的经验总结,其实这个注意力模型理解起来并不难,但是国内的博文写的都很不详细或说很不明确,我在看了 attention-mechanism后才完全…

图解自注意力机制

写在最前边 这个文章是《图解GPT-2 | The Illustrated GPT-2 (Visualizing Transformer Language Models)》的一部分,因为篇幅太长我就单独拿出来了。 当然如果你只想了解自注意力机制可以只看本文的前半部分。 后半部分主要是讲Masked Self-attention在GPT-2中的应…

NeurIPS 2021 | Twins:重新思考高效的视觉注意力模型设计

Twins 是美团和阿德莱德大学合作提出的视觉注意力模型,相关论文已被 NeurIPS 2021 会议接收。本文主要讲述 Twins 解决的难点、设计和实现思路,以及在美团场景的探索落地,希望能对从事视觉算法研发的同学有所帮助和启发。 导读 Twins [1] 是美…

深度理解机器学习20-注意力机制模型

人类的注意力机制(Attention Mechanism)是从直觉中得到,它是人类利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段。深度学习中的注意力机制借鉴了人类的注意力思维方式,被广泛的应用在自然语言处理(Natur…

人工智能之注意力模型

朋友们,如需转载请标明出处:人工智能AI技术的博客_CSDN博客-python系列教程,人工智能,程序人生领域博主 注意力模型 通过对教程中前面一些文章的学习,我们知道可以用上面的神经网络来实现机器翻译。假设要将一段法语句子翻译成英文句子。那么…

注意力之双线性模型注意力

本文主要针对两篇论文:双线性注意力网络模型和深度模块化注意力进行总结,加上自己对其的理解。若有不足,还望指出。 论文地址: 双线性注意力网络 深度模块化注意力 项目地址: 双线性注意力网络 深度模块化注意力 0. 写…

注意力模型CBAM

论文:CBAM: Convolutional Block Attention Module Convolutional Block Attention Module (CBAM) 表示卷积模块的注意力机制模块。是一种结合了空间(spatial)和通道(channel)的注意力机制模块。相比于senet只关注通道…

注意力模块

目前主流的注意力机制可以分为以下三种:通道注意力、空间注意力以及自注意力(Self-attention) 通道域旨在显示的建模出不同通道之间的相关性,通过网络学习的方式来自动获取到每个特征通道的重要程度,最后再为每个通道…

注意力机制学习

注意力机制学习 学习于博客https://blog.csdn.net/weixin_44791964/article/details/121371986 1.Channel Attention 1.1 SeNet 对于输入进来的特征层,关注其每一个通道的权重,让网络关注它最需要关注的通道。【channel不变,h,w变】 代表…

一般注意力模型

文章目录 一般注意力模型注意力输入注意力输出 一般注意力模型 描述一般注意力模型,首先要描述可以使用注意力的模型的一般特征。我们将这种模型称为任务模型,如图: 这个模型接受一个输入,执行指定的任务,然后产生所…

深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)

目录 常用的注意力机制模型 SE Attention CBAM Attention CBAM Attention 模型结构​ CBAM Attention 代码实现(Pytorch版): 注意力机制加到网络的哪里合适 常用的注意力机制模型 常用的注意力机制多为SE Attention和CBAM Attention。它…

深度学习笔记——Attention Model(注意力模型)学习总结

深度学习里的Attention model其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但是在我们深入仔细地观察时,其实眼睛聚焦的就只有很小的一块,这个时候人的大脑…

什么是注意力机制?

Attention机制在近几年来在图像,自然语言处理等领域中都取得了重要的突破,被证明有益于提高模型的性能。 Attention机制本身也是符合人脑和人眼的感知机制,这次我们主要以计算机视觉领域为例,讲述Attention机制的原理&#xff0c…

transformer 模型(self-attention自注意力)

transformer模型在《Attention is all you need》论文中提出 这篇论文主要亮点在于:1)不同于以往主流机器翻译使用基于RNN的seq2seq模型框架,该论文用attention机制代替了RNN搭建了整个模型框架。2)提出了多头注意力(…

深度学习中的注意力机制模型ECANet

目录 ECANet简介 ECA Module ECANet 性能对比 ECANet简介 Efficient Channel Attention Module 简称 ECA,2020年 Qilong Wang等人提出的一种 高效通道注意力(ECA)模块 ; 提出了一种 不降维的局部跨通道交互策略 ,有效避免了降维对于通道…

注意力模型直观理解(Attention Model Intuition)

来源:Coursera吴恩达深度学习课程 本周的课程我们都在使用这个编码解码的构架(a Encoder-Decoder architecture)来完成机器翻译。当你使用RNN读一个句子,于是另一个会输出一个句子。注意力模型(the Attention Model&a…

深度学习中的注意力机制

作者 | 张俊林 责编 | 何永灿 最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。 本文以机器翻译为例&…