深入理解深度学习——注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson 核回归

这篇具有很好参考价值的文章主要介绍了深入理解深度学习——注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson 核回归。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类目录:《深入理解深度学习》总目录

相关文章:
·注意力机制(AttentionMechanism):基础知识
·注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归
·注意力机制(AttentionMechanism):注意力评分函数(AttentionScoringFunction)
·注意力机制(AttentionMechanism):Bahdanau注意力
·注意力机制(AttentionMechanism):多头注意力(MultiheadAttention)
·注意力机制(AttentionMechanism):自注意力(Self-attention)
·注意力机制(AttentionMechanism):位置编码(PositionalEncoding)


《深入理解深度学习——注意力机制(Attention Mechanism):基础知识》介绍了框架下的注意力机制的主要成分: 查询(自主提示)和键(非自主提示)之间的交互形成了注意力汇聚,注意力汇聚有选择地聚合了值(感官输入)以生成最终的输出。 本文将介绍注意力汇聚的更多细节, 以便从宏观上了解注意力机制在实践中的运作方式。 具体来说,1964年提出的Nadaraya-Watson核回归模型是一个简单但完整的例子,可以用于演示具有注意力机制的机器学习。

简单起见,考虑下面这个回归问题: 给定的成对的数据集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x n , y n ) } \{(x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n)\} {(x1,y1),(x2,y2),,(xn,yn)}, 如何学习 f f f来预测任意新输入 s s s的输出 y ^ = f ( x ) \hat{y}=f(x) y^=f(x)?根据下面的非线性函数生成一个人工数据集, 其中加入的噪声项为 ϵ \epsilon ϵ
y i = 2 sin ⁡ ( x i ) + x i 0.8 + ϵ y_i = 2\sin(x_i) + x_i^{0.8} + \epsilon yi=2sin(xi)+xi0.8+ϵ

平均汇聚

先使用最简单的估计器来解决回归问题。 基于平均汇聚来计算所有训练样本输出值的平均值:
f ( x ) = 1 n ∑ i = 1 n y i f(x)=\frac{1}{n}\sum_{i=1}^ny_i f(x)=n1i=1nyi

但这个估计器的预测函数值和真实函数值相差很大。

非参数注意力汇聚

显然,平均汇聚忽略了输入。 于是Nadaraya和Watson提出了一个更好的想法, 根据输入的位置对输出进行加权:
f ( x ) = ∑ i = 1 n K ( x − x i ) ∑ j = 1 n K ( x − x j ) y i f(x) = \sum_{i=1}^n\frac{K(x - x_i)}{ \sum_{j=1}^nK(x - x_j)}y_i f(x)=i=1nj=1nK(xxj)K(xxi)yi

其中 K K K是核(kernel)。 上式所描述的估计器被称为 Nadaraya-Watson核回归(Nadaraya-Watson Kernel Regression)。 这里不会深入讨论核函数的细节, 但受此启发, 我们可以将注意力机制框架的角度重写上式, 成为一个更加通用的注意力汇聚(Attention Pooling)公式:
f ( x ) = ∑ i = 1 n α ( x , x i ) y i f(x)=\sum_{i=1}^n\alpha(x, x_i)y_i f(x)=i=1nα(x,xi)yi

其中 x x x是查询, ( x i , y i ) (x_i, y_i) (xi,yi)是键值对。 比较上式和平均汇聚的公式, 注意力汇聚 y i y_i yi是的加权平均。 将查询 x x x和键 x i x_i xi之间的关系建模为注意力权重(Attention Weight) α ( x , x i ) \alpha(x, x_i) α(x,xi), 如上式所示, 这个权重将被分配给每一个对应值 y i y_i yi。 对于任何查询,模型在所有键值对注意力权重都是一个有效的概率分布: 它们是非负的,并且总和为1。

为了更好地理解注意力汇聚, 下面考虑一个高斯核(Gaussian Kernel),其定义为:
K ( u ) = 1 2 π exp ⁡ ( − u 2 2 ) K(u)=\frac{1}{\sqrt{2\pi}}\exp(-\frac{u^2}{2}) K(u)=2π 1exp(2u2)

将高斯核代入上式可以得到:
f ( x ) = ∑ i = 1 n α ( x , x i ) y i = ∑ i = 1 n exp ⁡ ( − 1 2 ( x − x i ) ) 2 ∑ j = 1 n exp ⁡ ( − 1 2 ( x − x j ) ) 2 y i = ∑ i = 1 n Softmax ( − 1 2 ( x − x i ) 2 ) y i \begin{aligned} f(x) &= \sum_{i=1}^n\alpha(x, x_i)y_i\\ &= \sum_{i=1}^n\frac{\exp(-\frac{1}{2}(x - x_i))^2}{ \sum_{j=1}^n\exp(-\frac{1}{2}(x - x_j))^2}y_i\\ &= \sum_{i=1}^n\text{Softmax}(-\frac{1}{2}(x - x_i)^2)y_i \end{aligned} f(x)=i=1nα(x,xi)yi=i=1nj=1nexp(21(xxj))2exp(21(xxi))2yi=i=1nSoftmax(21(xxi)2)yi

在上式中, 如果一个键越是接近给定的查询, 那么分配给这个键对应值的注意力权重就会越大, 也就“获得了更多的注意力”。值得注意的是,Nadaraya-Watson核回归是一个非参数模型。 因此, 上式是非参数的注意力汇聚(Nonparametric Attention Pooling)模型。 现在来观察注意力的权重。 这里测试数据的输入相当于查询,而训练数据的输入相当于键。 因为两个输入都是经过排序的,因此由观察可知“查询-键”对越接近, 注意力汇聚的注意力权重就越高。

参数注意力汇聚

非参数的Nadaraya-Watson核回归具有一致性(Consistency)的优点: 如果有足够的数据,此模型会收敛到最优结果。 尽管如此,我们还是可以轻松地将可学习的参数集成到注意力汇聚中。例如,与上式略有不同, 在下面的查询 x x x和键 x i x_i xi之间的距离乘以可学习参数:
f ( x ) = ∑ i = 1 n α ( x , x i ) y i = ∑ i = 1 n exp ⁡ ( ( − 1 2 ( x − x i ) ) w ) 2 ∑ j = 1 n exp ⁡ ( − 1 2 ( x − x i ) ) w ) 2 y i = ∑ i = 1 n Softmax ( − 1 2 ( ( x − x i ) w ) 2 ) y i \begin{aligned} f(x) &= \sum_{i=1}^n\alpha(x, x_i)y_i\\ &= \sum_{i=1}^n\frac{\exp((-\frac{1}{2}(x - x_i))w)^2}{ \sum_{j=1}^n\exp(-\frac{1}{2}(x - x_i))w)^2}y_i\\ &= \sum_{i=1}^n\text{Softmax}(-\frac{1}{2}((x - x_i)w)^2)y_i \end{aligned} f(x)=i=1nα(x,xi)yi=i=1nj=1nexp(21(xxi))w)2exp((21(xxi))w)2yi=i=1nSoftmax(21((xxi)w)2)yi

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.文章来源地址https://www.toymoban.com/news/detail-476777.html

到了这里,关于深入理解深度学习——注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson 核回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解Transformer,兼谈MHSA(多头自注意力)、Cross-Attention(交叉注意力)、LayerNorm、FFN、位置编码

    Transformer其实不是完全的Self-Attention(SA,自注意力)结构,还带有Cross-Attention(CA,交叉注意力)、残差连接、LayerNorm、类似1维卷积的Position-wise Feed-Forward Networks(FFN)、MLP和Positional Encoding(位置编码)等 本文涵盖Transformer所采用的MHSA(多头自注意力)、LayerNorm、FFN、位置编

    2024年04月12日
    浏览(65)
  • 深入理解深度学习——Transformer:解码器(Decoder)的多头注意力层(Multi-headAttention)

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(Attention Mechanism):注意力评分函数(Attention Scoring Function) ·注意力机制(Attention Mechanism):

    2024年02月09日
    浏览(41)
  • NLP 学习笔记十-simple RNN+attention(注意力机制)

    感兴趣的伙伴,看这个笔记,最好从头开始看哈,而且我的笔记,其实不面向零基础,最好有过一些实践经历的来看最好。 紧接上一回,我们谈到seq2seq模型解决用于机器翻译的问题。其中seq其实是采用lstm作为自己的基础记忆网络实现的,当然也可以用RNN实现实现seq2seq模型。

    2024年02月09日
    浏览(61)
  • 【深度学习注意力机制系列】—— ECANet注意力机制(附pytorch实现)

    ECANet(Efficient Channel Attention Network) 是一种 用于图像处理任务的神经网络架构,它在保持高效性的同时,有效地捕捉图像中的通道间关系,从而提升了特征表示的能力 。ECANet通过引入通道注意力机制,以及在卷积层中嵌入该机制,取得了优越的性能。本文将对ECANet的核心思

    2024年02月13日
    浏览(49)
  • 【深度学习注意力机制系列】—— SCSE注意力机制(附pytorch实现)

    SCSE注意力模块 (来自论文[1803.02579] Concurrent Spatial and Channel Squeeze Excitation in Fully Convolutional Networks (arxiv.org))。其对SE注意力模块进行了改进,提出了 cSE、sSE、scSE 三个模块变体,这些模块可以 增强有意义的特征,抑制无用特征 。今天我们就分别讲解一下这三个注意力模块。

    2024年02月13日
    浏览(56)
  • 【深度学习注意力机制系列】—— CBAM注意力机制(附pytorch实现)

    CBAM(Convolutional Block Attention Module) 是一种用于增强卷积神经网络(CNN)性能的注意力机制模块。它由Sanghyun Woo等人在2018年的论文[1807.06521] CBAM: Convolutional Block Attention Module (arxiv.org)中提出。CBAM的主要目标是 通过在CNN中引入通道注意力和空间注意力 来提高模型的感知能力,从

    2024年02月13日
    浏览(40)
  • 【深度学习注意力机制系列】—— SKNet注意力机制(附pytorch实现)

    SKNet(Selective Kernel Network) 是一种用于图像分类和目标检测任务的深度神经网络架构,其核心创新是 引入了选择性的多尺度卷积核(Selective Kernel)以及一种新颖的注意力机制 ,从而在不增加网络复杂性的情况下提升了特征提取的能力。SKNet的设计旨在 解决多尺度信息融合的

    2024年02月13日
    浏览(52)
  • 【深度学习注意力机制系列】—— SENet注意力机制(附pytorch实现)

    深度学习中的注意力机制(Attention Mechanism)是一种模仿人类视觉和认知系统的方法,它允许神经网络在处理输入数据时集中注意力于相关的部分。通过引入注意力机制,神经网络能够自动地学习并选择性地关注输入中的重要信息,提高模型的性能和泛化能力。 卷积神经网络

    2024年02月14日
    浏览(40)
  • 【深度学习】注意力机制

    注意力机制(Attention Mechanism)是一种在计算机科学和机器学习中常用的技术,可以使模型在处理序列数据时更加准确和有效。在传统的神经网络中,每个神经元的输出只依赖于前一层的所有神经元的输出,而在注意力机制中,每个神经元的输出不仅仅取决于前一层的所有神经

    2024年02月02日
    浏览(41)
  • 注意力机制-CA注意力-Coordinate attention

    CA(Coordinate attention for efficient mobile network design)发表在CVPR2021,帮助轻量级网络涨点、即插即用。 CA注意力机制的优势: 1、不仅考虑了通道信息,还考虑了方向相关的位置信息。 2、足够的灵活和轻量,能够简单的插入到轻量级网络的核心模块中。 提出不足 1、SE注意力中只

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包