问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

神经网络算法:一文搞懂Attention(注意力)机制

创作时间:
作者:
@小白创作中心

神经网络算法:一文搞懂Attention(注意力)机制

引用
CSDN
1.
https://blog.csdn.net/2401_84033492/article/details/137195327

本文将从Attention的本质、原理和应用三个方面,为您详细解析这一在AI领域具有革命性意义的机制。

Attention的本质

核心逻辑:从关注全部到关注重点

Attention机制处理长文本时,能从中抓住重点,不丢失重要信息。这种机制类似于人类看图片时的逻辑:我们并不会看清图片的全部内容,而是将注意力集中在图片的焦点上。我们的视觉系统就是一种Attention机制,通过将有限的注意力集中在重点信息上,从而节省资源,快速获得最有效的信息。


视觉系统就是一种Attention机制

Transformer:《Attention is All You Need》

Transformer模型完全基于注意力机制,避开了传统的RNN或CNN结构。它引入了Self-Attention机制,使模型可以对输入序列中的所有元素进行关联建模。Multi-Head Attention使得模型能够从多个角度捕获输入序列的信息。这些创新为后续的大规模预训练语言模型(如BERT、GPT等)奠定了基础。

在AI领域,Attention机制的发展路径可以概括为:Attention -> Transformer -> BERT、GPT -> NLP。

Attention的原理

原理初体验:小故事讲解Attention原理

Attention机制好比在图书馆中有大量的书籍,每本书都有特定的编号和内容。当想要了解某个主题(比如“漫威”)时,会查找与这个主题相关的书籍。与“漫威”直接相关的动漫、电影书籍会仔细地阅读(权重高),而与“漫威”间接相关的二战书籍只需要简单浏览一下(权重低)。这个过程就体现了Attention机制的核心思想:根据信息的重要性来分配注意力。


Attention机制:了解漫威

Attention原理:3阶段分解


Attention机制的原理图

  1. 第一步:query 和 key 进行相似度计算,得到权值。
  2. 第二步:将权值进行归一化,得到直接可用的权重。
  3. 第三步:将权重和 value 进行加权求和。

从RNN时代到Transformer,再到GPT和BERT,Attention机制经历了从死记硬背到提纲挈领,再到融会贯通的进化过程,展现了强大的表达学习能力。

Attention的应用

CNN + Attention

CNN的卷积操作可以提取重要特征,这体现了Attention的思想。但是CNN的卷积感受视野是局部的,需要通过叠加多层卷积区去扩大视野。以下是CNN与Attention结合的几种方式:

  1. 在卷积操作前做Attention:例如Attention-Based BCNN-1,对两段输入的序列向量进行Attention,计算出特征向量,再拼接到原始向量中,作为卷积层的输入。
  2. 在卷积操作后做Attention:例如Attention-Based BCNN-2,对两段文本的卷积层的输出做Attention,作为池化层的输入。
  3. 在池化层做Attention:例如Attention pooling,首先用LSTM学到一个比较好的句向量作为query,然后用CNN先学习到一个特征矩阵作为key,再用query对key产生权重,进行Attention,得到最后的句向量。

LSTM+Attention

LSTM内部的门控机制(输入门和遗忘门)在一定程度上体现了Attention的思想。但是LSTM需要一步一步去捕捉序列信息,在长文本上的表现会随着步骤的增加而慢慢衰减,难以保留全部的有用信息。

LSTM通常需要得到一个向量,再去做任务,常用方式有:

  1. 直接使用最后的隐藏层(可能会损失一定的前文信息,难以表达全文)。
  2. 对所有步骤下的隐藏层进行等权平均(对所有步骤一视同仁)。
  3. Attention机制,对所有步骤的隐藏层进行加权,把注意力集中到整段文本中比较重要的隐藏层信息。这种方式的性能比前面两种要好一点,同时方便可视化观察哪些步骤是重要的。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号