注意力机制(Attention Mechanism)

article/2025/9/15 13:25:10

注意力机制起源于应用于NLP的RNN模型,但也在其他的领域有所应用。对注意力机制的理解也是算法面试经常提及的一道基础面试题,在这篇博文里我们汇总吴恩达深度学习视频序列模型3.7和3.8以及台大李宏毅教授对Attenion Mechanism以及相关参考文献对注意力机制给出详细的介绍的解释。

注意力机制(Attention Mechanism)

注意力机制是深度学习中一个非常重要的思想,在NLP领域尤为重要。

为什么要引入Attention Mechanism?

在一个Encoder和Decoder的翻译模型中,翻译一段法语到英文大致是整个序列输进Encoder然后Decoder再输出整个结果。也就是说模型是观测了整个要翻译的序列,然后再按序做的翻译(时间步模型)。在这里插入图片描述
随着输入序列边长,对模型输出结果的Bleu score评估会呈现这样的变化:
在这里插入图片描述
绿线代表人类翻译的水平,蓝线代表机器翻译的水平,之间的Gap能衡量模型记忆长序列的能力。

而人工翻译则是看一部分,翻译一部分,再看下一部分,再翻译一部分,如此往复。因为对人来说,要记忆整个序列是非常困难的。

总结下来:

  1. 输入序列非常长时,原始的Encoder-Decoder翻译的质量会出现明显下降,因为整个模型要处理的feature过多,并且这些feature不一定对翻译特定的单词有所助益。一说模型难以学到足够合理的向量表示。
  2. 原始的时间步方式翻译的模型在设计上有缺陷。具体来讲,整个序列无论长短都被Encoder编码到固定长度,这使得Decoder的能力受限。因为翻译前后,源语言和目标语言不一定长度一致。
  3. 时间步编解码器的结构缺乏有效的理论支撑和经验指导,导致设计困难,模型效果不好。

注意力机制直观理解

如同前面讲过的人工翻译是一部分一部分看,一部分一部分翻译一样,注意力机制旨在实现在计算某个时间步的输出时,将注意力集中在一段序列上,段的大小可以由一个窗口来决定,并且为该段序列每一个时间步都赋以权值,以决定它们对最终输出的影响权重。这样使得前面所述问题得到一定程度的解决。

注意力机制

实例说明:
在这里插入图片描述
如图所示,在计算Encoder的输出上下文 c 0 c^0 c0时,维持窗口大小为4,即一个时间步输出由四个时间步输入决定。
c 0 = ∑ i = 1 4 α 0 ^ i h i c^0=\sum_{i=1}^4\hat{\alpha_0}^ih^i c0=i=14α0^ihi

那么每个时间步的权重 α 0 i \alpha_0^i α0i如何计算,通过一个match机制来实现,具体而言,可以使用一个小型的网络协同训练来得到一个具体match函数。
在这里插入图片描述
图中z是上一个时间步的输出,吴恩达notation里写作 s < t − 1 > s^{<t-1>} s<t1>

可以使用softmax来实现:
在这里插入图片描述
使用softmax是为了窗口内部所有时间步权重相加等于1。

除此之外还有一些其他的实现方式:
在这里插入图片描述

  • 余弦相似度
  • 小型网络(前述)
  • 使用只有一个权重的计算公式,权重可以交由原网络来训练

如上所述,重复以上过程指导所有时间步的输出都计算完成,这样就得到了最终结果的序列。

虽然使用attention机制会明显增加计算量,但是整个模型的输出结果质量得到有效提升。因为与单纯的Encoder-Decoder模型不同。面对大量的features我们只关注窗口内部那部分features,而且窗口内部每一个时间步如何影响最后的序列生成都由权重控制,这使得整个过程更加的科学合理。

注意力机制的应用

虽然我们以NLP为例,但注意力机制在其他领域也有一些应用。

  • 文本翻译(Text Translation)
    吴恩达课程为例,Attention机制被应用在翻译一个单词时应该重点关注哪些原词。

  • 语义蕴含(Entailment)
    Attention机制被用来关联假设和前提两者中词与词之间的对应关系。

  • 语音识别(Audio Recognition)
    Attention机制被用来关联每个输入语音序列的某些部分和相应音素的对应关系。

  • 文本摘要(Text Summary)
    Attention机制被用来关联输入文本中的一些重要词汇和生成的摘要里的词汇之间的对应关系。

  • 图像描述(Image Caption)
    在计算机视觉领域,Attention机制可以帮助卷积神经网络决定在生成文本描述时应该重点关注图像的哪一部分。

参考文献

吴恩达深度学习系列-注意力机制

台大李宏毅机器学习课程-Attention-based model

Neural Machine Translation by Jointly Learning to Align and Translate. Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio. 2014.

深度学习中 的 Attention机制


http://chatgpt.dhexx.cn/article/eCBPmFUh.shtml

相关文章

注意力机制总结

导读 注意力机制&#xff0c;其本质是一种通过网络自主学习出的一组权重系数&#xff0c;并以“动态加权”的方式来强调我们所感兴趣的区域同时抑制不相关背景区域的机制。在计算机视觉领域中&#xff0c;注意力机制可以大致分为两大类&#xff1a;强注意力和软注意力。由于强…

深度学习之注意力机制(Attention Mechanism)和Seq2Seq

这篇文章整理有关注意力机制(Attention Mechanism )的知识,主要涉及以下几点内容: 1、注意力机制是为了解决什么问题而提出来的? 2、软性注意力机制的数学原理; 3、软性注意力机制、Encoder-Decoder框架与Seq2Seq 4、自注意力模型的原理。 一、注意力机制可以解决什么问…

神经网络学习小记录73——Pytorch CA(Coordinate attention)注意力机制的解析与代码详解

神经网络学习小记录73——Pytorch CA&#xff08;Coordinate attention&#xff09;注意力机制的解析与代码详解 学习前言代码下载CA注意力机制的概念与实现注意力机制的应用 学习前言 CA注意力机制是最近提出的一种注意力机制&#xff0c;全面关注特征层的空间信息和通道信息…

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

目录 前言一、注意力机制&#xff1a;Attention二、自注意力机制&#xff1a;Self-Attention三、多头注意力机制&#xff1a;Multi-Head Self-Attention四、位置编码&#xff1a;Positional EncodingReference 前言 最近在学DETR&#xff0c;看源码的时候&#xff0c;发现自己…

注意力机制详解系列(一):注意力机制概述

👨‍💻作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享。公众号: GoAI的学习小屋,免费分享书籍、简历、导图等资料,更有交流群分享AI和大数据,加群方式公众号回复“加群”或➡️点击链接。 🎉专栏推荐: 目…

注意力机制详解

注意力机制详解 Attention机制由来Attention定义Encoder-Decoder框架Attenion机制的引入Attention机制的类别Hard AttentionSoft AttentionGlobal AttentionLocal AttentionSelf AttentionMulti-head Attention Attention机制的应用自然语言处理领域计算机视觉领域语音识别领域…

【深度学习】(1) CNN中的注意力机制(SE、ECA、CBAM),附Pytorch完整代码

大家好&#xff0c;今天和各位分享一下如何使用 Pytorch 构建卷积神经网络中的各种注意力机制&#xff0c;如&#xff1a;SENet&#xff0c;ECANet&#xff0c;CBAM。 注意力机制的原理 和 TensorFlow2 的实现方式可以看我下面两篇博文&#xff1a; SENet、ECANet&#xff1a…

注意力机制详述

学习本部分默认大家对RNN神经网络已经深入理解了&#xff0c;这是基础&#xff0c;同时理解什么是时间序列&#xff0c;尤其RNN的常用展开形式进行画图&#xff0c;这个必须理解了。 这篇文章整理有关注意力机制&#xff08;Attention Mechanism &#xff09;的知识&#xff0c…

手把手带你YOLOv5/v7 添加注意力机制(并附上30多种顶会Attention原理图)2023/6/15更新

&#x1f31f;想了解YOLO系列算法更多教程欢迎订阅我的专栏&#x1f31f; 对于基础薄弱的同学来说&#xff0c;推荐阅读《目标检测蓝皮书》&#x1f4d8;&#xff0c;里面涵盖了丰富的目标检测实用知识&#xff0c;是你迅速掌握目标检测的理想选择&#xff01; 如果想了解 YO…

量化交易python入门书籍_张杨飞《Python量化交易入门》PDF下载

张杨飞《Python量化交易入门》PDF下载 首页 > 计算机类 字号:小 中 大 评论:0 条 评论:0 条 Python量化交易入门 【作 者】张杨飞 【形态项】 402 【出版项】 北京:电子工业出版社 , 2019.04 【ISBN号】978-7-121-36140-1 【中图法分类号】F830.91 【原书…

Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】&#xff0c;未经授权&#xff0c;请勿转载。 原文地址&#xff1a;https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近&#xff0c;猫哥的 Python 技术学习群里进来了几位比较特殊的同学&#xff1a;一位初三的以编程为兴趣的女生、…

2019年Python入门书籍推荐

大概是一时改变不了之前的学习习惯&#xff0c;所以很多Python小白都来问我有什么适合的Python入门书籍推荐。接下来我就为大家推荐几本经典的&#xff1a;&#xff08;请大家根据自己以下六种情况对号入座&#xff0c;挑选适合自己的 Python 入门书籍&#xff09;一&#xff0…

Python入门书籍,百万读者都选择!

从0到100万 Python入门神书 如果你是程序员&#xff0c;或者是 Python 爱好者&#xff0c;那你一定听说过一本书&#xff1a;《Python编程 从入门到实践》。作为国内首批 Python 图书之一&#xff0c;蟒蛇书首版自2016年问世以来就狂销70余万册&#xff1b;2020年10月第2版出版…

斯坦福大学教授,极力推荐5本python入门书籍,入门最快基础最好

为什么要选择python Python是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎。 如果你正处于想学习python或者正在python入门阶段,推荐5套python电子学习书籍,对于没有接触过编程,或者基础薄弱者来说…

0基础学Python入门书籍应该看什么?

0基础学Python入门书籍应该看什么&#xff1f;Python 对不少人来说是谜一样的东西不知道如何下手、从何处下手&#xff0c;找了很多资源几个月过去了学习陷入换乱&#xff0c;没没能入门Python开发。出现这种情况大多是因为没有充分做好学习前的准备。 0基础学习Python建议读一…

Python入门书籍推荐——《笨办法学Python》

很多小伙伴在学习Python的道路上&#xff0c;觉得越来越难。今天为小伙伴推荐一本非常适合Python小白的书籍《笨办法学Python》第三版。 在豆瓣有7.8的评分&#xff0c;学习Python的小伙伴千万不要错过了呀。 《笨办法学Python》是一本关于Python的入门书籍&#xff0c;即使是…

python入门书籍(爬虫方面)有哪些推荐?

关于爬虫&#xff0c;应该没有人不知道了吧&#xff0c;其抓取速度快和数据质量优的两大特点而受到越来越多的人追捧&#xff0c;互联网时代&#xff0c;有爬虫技术的加持对于职场人来说无疑是锦上添花。 随着爬虫技术的流行&#xff0c;网上的资源层出不穷&#xff0c;但对于…

python新手入门.pdf_所有Python入门书籍的整理,初学者必看,附赠所有电子版(一)...

原标题:所有Python入门书籍的整理,初学者必看,附赠所有电子版(一) 这从来都是我的观点,学习Python编程,看书是最好的方式之一。 所以,今天一姐想对自己日积月累收集的部分入门书籍做一个汇总,当然,大家也可以看看哪本书比较适合现在的自己,然后文章尾部有免费找我…

必读的Python入门书籍,你都看过吗?(内有福利)

今天小编为大家准备了4本Python入门书籍,让大家在python的学习路上少走弯路。 1.Python基础教程 《Python基础教程》是经典的Python入门教程书籍,本书层次鲜明,结构严谨,特别是在最后几章中,作者将前面讲述的内容应用到项目中,并以模板的形式介绍了项目的开发过程,手把…

4本Python必读的入门书籍

Python入门书籍不用看太多&#xff0c;看一本就够。重要的是你要学习Python的哪个方向&#xff0c;或者说你对什么方向感兴趣&#xff0c;因为Python这门语言的应用领域比较广泛&#xff0c;比如说可以用来做数据分析、机器学习&#xff0c;也可以用来做后端开发、还可以做Web开…