新型卷积 | 涨点神器!利用Involution可构建新一代神经网络!(文末获取论文与源码)(一)

简介: 新型卷积 | 涨点神器!利用Involution可构建新一代神经网络!(文末获取论文与源码)(一)

1 简介


卷积一直是构建现代神经网络架构的核心组件,同时由于卷积的应用也引发了视觉深度学习的浪潮。而作者在这项工作中重新思考了视觉任务中标准卷积的内在原理,特别是与空间无关和特定于通道的方法。取而代之的是,本文通过反转前述的卷积设计原理(称为卷积)提出了一种用于深度神经网络的新颖原子操作。此外,本文还揭开了最近流行的Self-Attention运算的神秘面纱,并将其作为复杂化的实例插入到本文所提的involution卷积之中。

大家可以将提出的involution算子作为基础以构建新一代神经网络,并在几种流行的Baseline(包括ImageNet分类,COCO检测和分割以及Cityscapes分割)上为不同的深度学习模型提供支持。

image.png

本文作者基于involution卷积构建了全新的ResNet-50架构RedNet,并改善了Baseline的性能,分别提高了1.6%的Top-1分类精度、2.5%和2.4%的边界框AP值,以及4.7%的mIoU,同时将计算成本压缩为原来的66%、65%、72%和57%。

本文主要贡献

  1. 作者重新思考卷积与空间和通道范围有关的内在原理。这一思考促使作者提出使用其他具有辨别能力和表达能力的潜在算子作为视觉识别的替代,突破了卷积现有的归纳偏见;
  2. 将把Self-Attention融入视觉表征的学习过程。在此背景下,关系建模中对像素对的组合要求受到了挑战。此外,统一了Self-Attention和卷积;
  3. 基于involution构建的模型进行了广泛的实验。

2 思考来源


尽管神经网络体系结构发展迅速,但卷积仍然是深度神经网络架构构建的主要组件。从经典的图像滤波方法中得到的灵感,卷积核具有2个显著的特性Spatial-agnosticChannel-specific。在Spatial上,前者的性质保证了卷积核在不同位置之间的共享,实现了平移不变性。在Channel域中,卷积核的频谱负责收集编码在不同Channel中的不同信息,满足后一种特性。此外,自从VGGNet出现以来,现代神经网络通过限制卷积核的空间跨度不超过来满足卷积核的紧凑性。

一方面,尽管Spatial-Agnostic和Spatial-Compact的性质在提高效率和解释平移不变性等价方面有意义,但它剥夺了卷积核适应不同空间位置的不同视觉模式的能力。此外,局部性限制了卷积的感受野,对小目标或者模糊图像构成了挑战。

另一方面,众所周知,卷积核内部的通道间冗余在许多经典深度神经网络中都很突出,这使得卷积核对于不同通道的灵活性受到限制。

为了克服上述限制,本文作者提出了被称为的操作,与标准卷积相比,具有对称反向特性,即Spatial-SpecificChannel-Agnostic

具体地说,核在空间范围上是不同的,但在通道上是共享的。由于核的空间特性,如果将其参数化为卷积核等固定大小的矩阵,并使用反向传播算法进行更新,则会阻碍学习到的对合核在不同分辨率的输入图像之间的传输。在处理可变特征分辨率的最后,属于特定空间位置的核可能仅在对应位置本身的传入特征向量的条件下作为实例生成。此外,作者还通过在通道维数上共享核来减少核的冗余。

综合上述2个因素,运算的计算复杂度随特征通道数量线性增加,动态参数化核在空间维度上具有广泛的覆盖。通过逆向设计方案,本文提出的具有卷积的双重优势:

  1. 可以在更广阔的空间中聚合上下文,从而克服了对远程交互进行建模的困难;
  2. 可以在不同位置上自适应地分配权重,从而对空间域中信息最丰富的视觉元素进行优先排序。

大家也都知道最近基于Self-Attention进一步的研究表明,很多任务为了捕获特征的长期依赖关系提出使用Transformer来进行建模。在这些研究中,纯粹的Self-Attention可以被用来构建具有良好性能的独立模型。

而本文将揭示Self-Attention是通过一个复杂的关于核结构的公式来对邻近像素之间的关系进行建模,其实也就是化的特殊情况。相比之下,本文所采用的核是根据单个像素生成的,而不是它与相邻像素的关系。

更进一步,作者在实验中证明,即使使用简单版本,也可以实现Self-Attention的精确。


3 简述CNN


这里设image.png为输入特征,其中H,W 分别为其高度,宽度和输入通道。在特征张量X内,位于图像单元中的每个特征向量image.png都可以被认为是代表某些高级语义的像素。

一个固定核大小为K x K的Co卷积滤波器记为image.png,其中每个滤波器image.png包Ci含卷积核Fk,c,并以滑动窗口的方式对输入特征映射进行乘加运算,得到输出特征映射image.png,定义为:

image.png

其中,为考虑对中心像素进行卷积的邻域偏移量集合,记为(这里的表示笛卡尔积):

image.png

此外,Depth-wise Convolution将Group Convolution推到极端,其中每个卷积核严格地对以为索引的单个特征通道进行卷积,因此在假设输出通道数等于输入通道数的情况下,从中消除第一个维来形成。这样,卷积运算就变成了:

image.png

注意,卷积核是特定于Channel中的第个特征slice ,并在该slice中的所有空间位置之间共享。


4. Involution设计


4.1 Involution原理简述

image.png

与上面描述的标准卷积或Depth-wise卷积相比,Involution核被设计成包含Spatial和Channel的反向特征变换。

具体来说,Involution核image.png是专门为位于对应坐标(i,j)的像素image.png定制的,但在通道上共享,G计算每个组共享相同Involution核的组数。利用Involution核对输入进行乘加运算,得到Involution的输出特征映射,定义为:

image.png

与卷积核不同,Involution核的形状取决于输入特征映射的形状。想法是生成以原始输入张量为条件的Involution核,使输出核与输入核对齐。这里将核生成函数符号为,并将每个位置的函数映射抽象为:

image.png

其中的像素群是受限制的。

复现细节:

考虑到卷积的简洁性,使Involution在概念上尽可能简单。目标是首先为内核生成函数提供一个设计空间,然后快速原型一些有效的设计实例以供实际使用。在这项工作中,作者选择从单个像素跨越每个Involution内核。形式上每个像素有核生成函数,其形式如下:

image.png

其中和代表2个线性变换,共同构成bottleneck结构,中间通道维数由降阶比控制,以便有效处理,表示批处理归一化后的对于2个线性变换的非线性激活函数。

简单说一下步骤:

第一步

Involution核(在这个例子中为了便于演示,设G=1)是由在处以单个像素为条件的函数产生的,随后是Channel到Spatial的重排;

image.png

第二步

将Involution的乘加运算分解为2个步骤,表示跨C个信道传播的乘法运算,表示在空间邻域内聚合的求和运算。

image.png

其具体操作的PyTorch风格的伪代码如下:

image.png

4.2 Self-Attention一般化表达

严格来说本文提出的Involution本质上可以成为Self-Attention的一般化表达。通过计算Query与Value的对应关系Q和K得到的关联度,得到Self-Attention pool Value,公式为:

image.png

其中、、是对输入的线性变换,为多Heads Self-Attention中Head的个数。相似之处在于,这2种操作符都通过加权和来收集邻域或较小范围内的像素。一方面,Involution的计算机制可以看作是空间域上的一种集中。另一方面,Attention Map,或者说Self-Attention中的affinity矩阵,可以看作是一种Involution核。

相关文章
|
5月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
6月前
|
机器学习/深度学习 资源调度 算法框架/工具
AI-ANNE: 将神经网络迁移到微控制器的深度探索——论文阅读
AI-ANNE框架探索将深度学习模型迁移至微控制器的可行路径,基于MicroPython在Raspberry Pi Pico上实现神经网络核心组件,支持本地化推理,推动TinyML在边缘设备中的应用。
375 10
|
6月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
591 11
|
6月前
|
机器学习/深度学习 边缘计算 算法
SEENN: 迈向时间脉冲早退神经网络——论文阅读
SEENN提出一种时间脉冲早退神经网络,通过自适应调整每个样本的推理时间步数,有效平衡脉冲神经网络的准确率与计算效率。该方法基于置信度判断或强化学习策略,在保证高精度的同时显著降低能耗与延迟,适用于边缘计算与实时处理场景。
371 13
|
6月前
|
机器学习/深度学习 缓存 算法
2025年华为杯A题|通用神经网络处理器下的核内调度问题研究生数学建模|思路、代码、论文|持续更新中....
2025年华为杯A题|通用神经网络处理器下的核内调度问题研究生数学建模|思路、代码、论文|持续更新中....
583 1
|
5月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
528 0
|
6月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
495 0
|
6月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
414 2
|
5月前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
853 0

热门文章

最新文章