理解卷积神经网络中的自注意力机制

卷积神经网络(CNN)、循环神经网络(RNN)和自注意力(self-attention)对比 卷积神经⽹络和⾃注意⼒都拥有并⾏计算的优势,⽽且⾃注意⼒的最⼤路径⻓度最短,但是因为其计算复杂度是关于序列⻓度的⼆次⽅(⾃注意⼒具有计算复杂性),所以在很⻓的序列中计算会⾮常慢。 阅读详情

作者:Shuchen Du

编译:ronghuaiyang

导读

计算机视觉中的编解码结构的局限性以及提升方法。

卷积神经网络(CNN)广泛应用于深度学习和计算机视觉算法中。虽然很多基于CNN的算法符合行业标准,可以嵌入到商业产品中,但是标准的CNN算法仍然有局限性,在很多方面还可以改进。这篇文章讨论了语义分割和编码器-解码器架构作为例子,阐明了其局限性,以及为什么自注意机制可以帮助缓解问题。

标准编解码结构的局限性

图1:标准编解码结构

解码器架构(图1)是许多计算机视觉任务中的标准方法,特别是像素级预测任务,如语义分割、深度预测和一些与GAN相关的图像生成器。在编码器-解码器网络中,输入图像进行卷积、激活以及池化得到一个潜向量,然后恢复到与输入图像大小相同的输出图像。该架构是对称的,由精心设计的卷积块组成。由于其简单和准确,该体系结构被广泛使用。

图2:卷积的计算

但是,如果我们深入研究卷积的计算(图2),编码器-解码器架构的局限性就会浮出表面。例如,在3x3卷积中,卷积滤波器有9个像素,目标像素的值仅参照自身和周围的8个像素计算。这意味着卷积只能利用局部信息来计算目标像素,这可能会带来一些偏差,因为看不到全局信息。也有一些朴素的方法来缓解这个问题:使用更大的卷积滤波器或有更多卷积层的更深的网络。然而,计算开销越来越大,结果并没有得到显著的改善。

理解方差和协方差

方差和协方差都是统计学和机器学习中的重要概念。它们是为随机变量定义的。顾名思义,方差描述的是单个随机变量与其均值之间的偏差,而协方差描述的是两个随机变量之间的相似性。如果两个随机变量的分布相似,它们的协方差很大。否则,它们的协方差很小。如果我们将feature map中的每个像素作为一个随机变量,计算所有像素之间的配对协方差,我们可以根据每个预测像素在图像中与其他像素之间的相似性来增强或减弱每个预测像素的值。在训练和预测时使用相似的像素,忽略不相似的像素。这种机制叫做自注意力。

方程 1: 两个随机变量X和Y的协方差

CNN中的自注意力机制

图3: CNN中的自注意力机制

为了实现对每个像素级预测的全局参考,Wang等人在CNN中提出了自我注意机制(图3)。他们的方法是基于预测像素与其他像素之间的协方差,将每个像素视为随机变量。参与的目标像素只是所有像素值的加权和,其中的权值是每个像素与目标像素的相关。

图4: 自注意机制的简明版本

如果我们将原来的图3简化为图4,我们就可以很容易地理解协方差在机制中的作用。首先输入高度为H、宽度为w的特征图X,然后将X reshape为三个一维向量A、B和C,将A和B相乘得到大小为HWxHW的协方差矩阵。最后,我们用协方差矩阵和C相乘,得到D并对它reshape,得到输出特性图Y,并从输入X进行残差连接。这里D中的每一项都是输入X的加权和,权重是像素和彼此之间的协方差。

利用自注意力机制,可以在模型训练和预测过程中实现全局参考。该模型具有良好的bias-variance权衡,因而更加合理。

深度学习的一个可解释性方法

图5: SAGAN中的可解释性图像生成

SAGAN将自注意力机制嵌入GAN框架中。它可以通过全局参考而不是局部区域来生成图像。在图5中,每一行的左侧图像用颜色表示采样的查询点,其余五幅图像为每个查询点对应的关注区域。我们可以看到,对于天空和芦苇灌木这样的背景查询点,关注区域范围广泛,而对于熊眼和鸟腿这样的前景点,关注区域局部集中。

参考

Non-local Neural Networks, Wang et al., CVPR 2018

Self-Attention Generative Adversarial Networks, Zhang et al. ICML 2019

Dual Attention Network for Scene Segmentation, Fu et al., CVPR 2019

Wikipedia, https://en.wikipedia.org/wiki/Covariance_matrix

Zhihu, https://zhuanlan.zhihu.com/p/37609917

—END—

英文原文:https://medium.com/ai-salon/understanding-deep-self-attention-mechanism-in-convolution-neural-networks-e8f9c01cb251

图机器学习——5.3 图神经网络:GNN与CNN及Transformer的关系 以上就是GNN的基本框架,下面我们来看看GNN与CNN框架及Transformer中的异同。 1)GNN vs. CNN CNN层与层之间的传递公式为: hv(l+1)=σ(∑u∈N(v)∪{v}Wlu hu(l)),∀l∈{0,…,L−1} \mathrm{h}_{v}^{(l+1)}=\sigma\left(\sum_{u \in \mathrm{N}(v) \cup\{v\}} \mathrm{W}_{l}^{u} \mathrm{~h}_{u}^{(l)}\right), \quad \f 阅读详情

相关推荐

卷积神经网络中的自注意力机制(Self-Attention Mechanism)

卷积神经网络中的机制表现为操作,其实现过程与Seq2Seq模型的自注意力机制类似。标准的卷积层是一种局部滤波操作,其输出特征上的任意位置是由对应输入特征的一个邻域构造的,只能捕捉局部特征之间的关系。而自注意力机制通过计算任意两个位置之间的关系直接捕捉远程依赖,而不用局限于相邻点,相当于构造了一个的卷积核,从而可以捕捉更多信息。在卷积网络的自注意力机制中,首先构造输入特征x的键特征fx, 查询特征gx和值特征hx;

AI天才研究院 1497

注意力机制(Attention Mechanism)-SENet

注意力机制

Aaaa_ZZZ的博客 7516

Pytorch ----注意力机制与自注意力机制的代码详解与使用

注意力机制的核心重点就是让网络关注到它更需要关注的地方 。当我们使用卷积神经网络去处理图片的时候, 我们会更希望卷积神经网络去注意应该注意的地方,而不是什么都关注 ,我们不可能手动去调节需要注意的地方,这个时候,如何让卷积神经网络去自适应的注意重要的物体变得极为重要。注意力机制 就是实现网络自适应注意的一个方式。一般而言,注意力机制可以分为通道注意力机制,空间注意力机制,以及二者的结合。SENet是通道注意力机制的典型实现。 重点是获得输入进来的特征层对应的每一个通道的权值 。通过学习的方式自动获取每个特征

1万+

首发改进!RP-CNN-Attention基于递归图RP与卷积神经网络融合多头自注意力机制的故障识别,Matlab程序

近年来,随着工业自动化水平的不断提高,机械设备的复杂性与精密性也日益增加,如何及时准确地诊断设备故障已成为保障生产效率和安全运行的关键。传统的故障诊断方法往往依赖人工经验或预设规则,存在耗时、主观性强、难以处理复杂故障等问题。因此,基于深度学习的智能故障诊断方法应运而生,并取得了显著进展。其中,卷积神经网络(Convolutional Neural Networks, CNNs)凭借其强大的特征提取能力,在图像和时序数据分析领域表现卓越,但在处理非欧式结构的数据时存在局限性。

Matlab245的博客 827

【AI面试】CNN 和 Transformer 的问题汇总

​CNN卷积神经网络和transformer相关的知识汇总

钱多多先森 2023

自然语言处理的革命:深度学习在语言模型中的突破

1.背景介绍 自然语言处理(NLP)是人工智能领域的一个重要分支,旨在让计算机理解、生成和处理人类语言。自从1950年代的早期研究以来,NLP已经经历了多个波动和突破。然而,直到近年来,深度学习技术的发展使得自然语言处理取得了巨大的进展。在这篇文章中,我们将探讨深度学习在语言模型中的突破,以及它们如何驱动自然语言处理的革命。 自然语言处理

AI天才研究院 961

ResNet网络卷积视觉网络 和 Vit (Vision Transformer)两种网络对比, 在特征提取上的不同

特征提取:卷积核通过在输入图像(或特征图)上滑动来提取特征。每个卷积核负责从输入数据中提取一种特定类型的特征,例如边缘、颜色变化、纹理等。,这些参数在训练过程中通过反向传播算法进行学习和更新。卷积操作本质上是对卷积核权重和输入图像片段(卷积核覆盖的区域)的元素进行,然后激活函数:卷积操作的输出通常会通过一个非线性激活函数(如ReLU)进行处理,以引入非线性特性,这对于学习复杂的特征和模式是必要的。多个卷积核:CNN层通常包含多个不同的卷积核,每个卷积核都可以捕捉输入数据的不同特征。

a14285700的博客 3281

NLP-Beginner 任务一:基于机器学习的文本分类(超详细!!)

NLP-Beginner 任务一:基于机器学习的文本分类传送门一. 介绍1.1 任务简介1.2 数据集1.3 流程介绍二. 特征提取2.1 词袋特征(Bag-of-word)2.2 N元特征 (N-gram)三. 最优化求解3.1 Softmax回归介绍3.2 损失函数3.3 梯度下降3.4 学习率四. 代码及实现4.1 实验设置4.2 结果展示4.3 代码新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、

0oTedo0 9928

OFA-Image-Caption与卷积神经网络(CNN)特征提取器的对比分析

本文介绍了在星图GPU平台上自动化部署ofa_image-caption镜像,实现高效图像描述生成的应用。该镜像集成了基于Vision Transformer的视觉编码器,能够为图片生成精准、生动的文字描述,例如详细描述厨房场景中的物体细节与氛围,适用于内容创作、无障碍服务等场景。

weixin_42579969的博客 29

FPGA赋能:从加权灰度均值到快速收敛的自动曝光实战

本文深入探讨了FPGA在工业视觉自动曝光算法中的应用,重点介绍了加权灰度均值法的优化实现与快速收敛策略。通过硬件友好的算法改造和流水线架构设计,FPGA方案能在1帧内完成曝光调整,显著提升处理速度和能效比,适用于复杂光照条件下的工业检测场景。

weixin_29306317的博客 82

OKCC呼叫中心部署实战指南:从零搭建高效外呼系统

本文提供OKCC呼叫中心系统的完整部署实战指南,从服务器选型、操作系统准备到详细安装步骤和性能优化,帮助企业从零搭建高效外呼系统。重点介绍FreeSWITCH核心组件的安装配置技巧,以及常见问题排查方法,助力企业提升客户服务效率。

weixin_29275257的博客 163

self-attention和cnn的关系

cnn是self-attention的特殊化,通过设置self-attention可以做到cnn的所有工作。 self-attention是关注全局的关系,cnn是关注指定范围内互相的关系。

qq_35627757的博客 812

告别信息过载:我是如何用Feedly RSS阅读器打造个人专属信息流的(附Chrome插件使用技巧)

本文分享了如何利用Feedly RSS阅读器有效管理信息过载,打造个人专属信息流的方法。通过科学组织订阅源、智能过滤和跨平台同步技巧,帮助用户从被动接收转为主动筛选,提升信息获取效率。特别推荐使用Feedly的Chrome插件和AI过滤功能,实现高效的信息管理。

weixin_42526015的博客 354

卷积神经网络(CNN)与BERT在文本分割中的技术对比展示

本文介绍了在星图GPU平台上自动化部署“BERT文本分割-中文-通用领域”镜像,以对比CNN与BERT在中文文本分割任务上的表现。该镜像能够智能理解文本的全局语义与长距离依赖,有效应用于处理复杂句式、流水句等中文特有的语义分割场景,提升分割准确性。

weixin_36311421的博客 95

Jetson Orin NX系统克隆术:如何快速备份与还原你的开发环境(附完整命令行)

本文详细介绍了Jetson Orin NX系统克隆的完整流程,这是一种超越简单备份的完整镜像方案。通过命令行操作,可实现开发环境(包括引导程序、内核、根文件系统及所有配置)的快速备份与还原,确保批量部署时环境的完全一致性与高效性,尤其适合机器人、边缘AI等项目的团队协作。

weixin_29191081的博客 155

JavaSpringBoot + VUE 相关开发环境配置合集

1.Java环境-JDK安装 参照:Java基础1-环境篇:JDK安装与环境变量配置 Java基础1-环境篇:JDK安装与环境变量配置_第一段代码的博客-优快云博客_jdk 2.Web服务器-Tomcat安装 原创Java服务器Tomcat安装和配置 3.Maven(后面为了项目兼容性,使用了3.0.5版本) 原创Maven安装和配置(Maven3.0.5) 4.nginx 原创nginx轻量级Web服务器安装和配置 5 数据库mysql 原创数据库Mysql安装和配置 ...

第一段代码的博客 3163

Janus-Pro-7B效果对比:与传统卷积神经网络(CNN)在特征理解上的差异

本文介绍了Janus-Pro-7B多模态大模型在图像理解与描述任务上,相较于传统卷积神经网络(CNN)的差异与优势。用户可在星图GPU平台上自动化部署Janus-Pro-7B镜像,快速搭建环境,并将其应用于为图片生成富有逻辑和情感的详细描述、自动生成社交媒体文案等需要深度语义理解的场景。

weixin_35835030的博客 309

Android AMS——AMS初始化(二)

Android AMS 也是一个系统服务,属于系统服务中的引导服务,在 startBootstrapServices() 方法中启动。这里我们就来看一下 ActivityManagerService 的启动流程。

小旭的专栏 773

翻译: Transformer一种用于语言理解的新型神经网络架构 Google AI

神经网络,尤其是循环神经网络(RNN),现在是语言理解任务(如语言建模、机器 翻译和问答)的主要方法的 核心。在“”中,我们介绍了 Transformer,这是一种基于自注意力机制的新型神经网络架构,我们认为它特别适合语言理解。在我们的论文中,我们展示了 Transformer 在学术英语到德语和英语到法语的翻译基准上都优于循环模型和卷积模型。除了更高的翻译质量之外,Transformer 需要更少的计算来训练,并且更适合现代机器学习硬件,将训练速度提高一个数量级。

AI架构师易筋 5181

【云原生系列】第一讲:什么是云计算

云计算(cloud computing):分布式:分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,合并&反馈:通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期:分布式计算:简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过分布式计算,可以在很短的时间内(几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。现阶段:计算:分布式计算、效用计算、负载均衡、并行计算、存储。

颜淡慕潇 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

卷积神经网络(CNN)与 ViT 对比:从 Lingbot 看深度估计模型演进

本文介绍了深度估计模型从CNN到ViT的演进,并重点分析了基于ViT-L-14架构的Lingbot-Depth-Pretrain-ViTL-14镜像。用户可在星图GPU平台上自动化部署该镜像,快速搭建深度估计环境,应用于自动驾驶、AR/VR场景理解等需要精确三维空间感知的领域。

weixin_35414260的博客 280

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

attention augmented convolutional networks 个人paper整理

深度学习计算机视觉paper系列阅读paper介绍架构介绍位置编码 阅读paper介绍 Attention augmented convolutional networks 本文不会对文章通篇翻译,对前置基础知识也只会简单提及,但文章的核心方法会结合个人理解翔实阐述。 本文重点,self-attention position encoding 了解self-attention,可以直接跳到位置编...

wudiyouyou1994的博客 4752

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 哈工大硕士生实现 11 种数据降维算法,代码已开源!
下一篇: 深度学习训练过程可视化(附github源码)
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值