Involution:重新定义视觉任务的神经网络算子(CVPR2021 深度解析)

1. 从卷积到内卷:为什么我们需要一个新的视觉算子?

如果你玩过积木,肯定知道不同形状的积木块决定了你能搭出什么样的城堡。在计算机视觉的“城堡”里,卷积(Convolution)这块“方形积木”已经统治了快十年,从AlexNet到ResNet,再到现在的各种变体,它几乎是所有视觉神经网络的基石。但最近几年,我越来越觉得这块“方形积木”有点不够用了,尤其是在处理一些复杂场景,比如图像里既有远处模糊的小鸟,又有近处纹理清晰的花朵时,传统卷积总显得有些力不从心。

这背后的原因,其实在CVPR 2021那篇提出Involution(很多人翻译成“内卷”或“逆卷积”)的论文里讲得很透。传统卷积有两个核心特性:空间不可知通道特定。听起来有点拗口,我打个比方你就明白了。想象一下,你手里拿着一个3x3的小滤镜(就是卷积核),用它去扫描整张图片。无论这个滤镜扫到图片的左上角天空,还是右下角的草地,它本身的图案(权重)是一成不变的。这就是“空间不可知”——它对位置不敏感,在哪都干一样的活。同时,这个滤镜通常不是单个,而是一组。每个小滤镜只负责从输入数据中提取某一种特定的特征,比如有的专找边缘,有的专找颜色块。这就是“通道特定”——每个通道(可以理解为一种特征探测器)都有自己的专属任务。

这套机制在早期非常有效,因为它极大地减少了参数量(一套权重走天下),并且保证了平移不变性(一只猫无论在画面左边还是右边,都能被识别出来)。但它的缺点也随着任务变复杂而暴露出来。首先,“一刀切”的权重无法适应不同区域的视觉模式。天空的纹理和地砖的纹理完全不同,用同一个3x3的核去提取特征,显然不是最优解。其次,小尺寸卷积核的“视野”有限。尽管通过堆叠多层网络可以扩大感受野,但对于一些需要全局上下文信息的任务(比如理解“一个人正在骑马”),这种间接的、逐层传递的方式效率不高。最后,通道间的冗余。我们真的需要那么多独立的滤波器吗?很多时候,不同通道学习到的特征其实是高度相关的,这造成了计算和参数的浪费。

所以,当李铎、胡杰等大佬在CVPR 2021提出Involution时,我第一反应是:终于有人从最根本的算子层面动刀子了!Involution的核心思想就一句话:把卷积的特性反过来。它追求的是 “空间特定”和“通道不可知” 。也就是说,为图片上每一个不同的位置都生成一个独一无二的、定制化的“滤镜”(内核),但这个滤镜在所有特征通道上是共享的。这就好比,你不再用一个固定的放大镜去观察整幅画,而是为画布的每一个局部区域都准备了一个最适合观察该区域细节的专用放大镜。

这种设计带来的好处是直观的。首先,网络能根据位置自适应地调整权重,对信息丰富的区域(比如物体的边缘、关键点)给予更多关注。其次,通过在通道维度共享内核,大大减少了参数量,让模型变得更轻量。最后,由于每个位置的内核都是动态生成的,并且可以设计得很大(比如7x7甚至更大),它能够直接捕获更大范围的上下文信息,不再完全依赖网络的深度。这就像是从“手工雕刻”进化到了“3D打印”,能为每个像素点量身定制最合适的特征提取工具。

2. Involution的核心机制:拆解“动态生成”与“共享”的艺术

光说概念可能还有点虚,咱们直接上干货,看看Involution到底是怎么算的。理解了它的计算过程,你就能明白它为什么既强大又高效。

2.1 与标准卷积和深度可分离卷积的对比

为了看清Involution的独特之处,我们得先回顾一下它的两位“前辈”。

  1. 标准卷积:这是我们最熟悉的。一个卷积核的维度是 [输出通道, 输入通道, 高度, 宽度]。它在所有空间位置共享同一组权重,但为每个输出通道使用不同的滤波器。
  2. 深度可分离卷积:这是MobileNet等轻量型网络的功臣。它把标准卷积拆成两步:第一步是深度卷积,一个卷积核只负责一个输入通道,空间共享,输出通道数等于输入通道数;第二步是逐点卷积,用1x1的卷积来融合通道信息。深度卷积的特性是“空间共享、通道特定”的极致——每个通道完全独立。

现在来看我们的主角 Involution。它的计算过程可以清晰地分为两步:内核生成乘加聚合

第一步:内核生成 这是Involution的“大脑”。对于输入特征图上的每一个具体位置 (i, j),网络会根据该位置的像素信息,实时生成一个专属于这个位置的内核 H_i,j。论文里用的生成函数非常简洁,是一个带有瓶颈结构的两层线性变换:

H_i,j = φ(X_i,j) = σ( W1 * σ( W0 * X_i,j ) )

这里,X_i,j 是位置 (i, j) 处的特征向量。W0W1 是两个可学习的权重矩阵,中间通过一个降维比 r 来控制复杂度,σ 是激活函数(如ReLU)。这个函数只依赖于当前位置的像素,而不像Self-Attention那样需要计算像素对之间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值