CVPR 2022 | 超越Swin!华为诺亚&北大提出Wave-MLP:视觉新主干网络

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

转载自:机器之心

来自华为诺亚方舟实验室、北京大学、悉尼大学的研究者提出了一种受量子力学启发的视觉 MLP 新架构。

近年来,计算机视觉领域的新型架构层出不穷,包括视觉 Transformer、MLP 等,它们在很多任务上都取得了超越 CNN 的性能,受到广泛关注。其中,视觉 MLP 具有极其简单的架构,它仅由多层感知器(MLP)堆叠而成。与 CNN 和 Transformer 相比,这些简洁的 MLP 架构引入了更少的归纳偏置,具有更强的泛化性能。

然而,现有视觉 MLP 架构的性能依然弱于 CNN 和 Transformer。来自华为诺亚方舟实验室、北京大学、悉尼大学的研究者提出了一种受量子力学启发的视觉 MLP 架构,在 ImageNet 分类、COCO 检测、ADE20K 分割等多个任务上取得了 SOTA 性能。

a3b613688a64e4fadb1cbd237fa5f5b7.png

An Image Patch is a Wave: Quantum Inspired Vision MLP

论文地址:https://arxiv.org/abs/2111.12294

PyTorch 代码:https://github.com/huawei-noah/CV-Backbones/tree/master/wavemlp_pytorch

MindSpore 代码:https://gitee.com/mindspore/models/tree/master/research/cv/wave_mlp

Wave-MLP

该研究受量子力学中波粒二象性的启发,将 MLP 中每个图像块 (Token) 表示成波函数的形式,从而提出了一个新型的视觉 MLP 架构——Wave-MLP,在性能上大幅超越了现有 MLP 架构以及 Transformer。

量子力学是描述微观粒子运动规律的物理学分支,经典力学可被视为量子力学的特例。量子力学的一个基本属性是波粒二象性,即所有的个体(比如电子、光子、原子等)都可以同时使用粒子的术语和波的术语来描述。一个波通常包括幅值和相位两个属性,幅值表示一个波可能达到的最大强度,相位指示着当前处在一个周期的哪个位置。将一个经典意义上的粒子用波(比如,德布罗意波)的形式来表示,可以更完备地描述微观粒子的运动状态。

那么,对于视觉 MLP 中的图像块,能不能也把它表示成波的形式呢?该研究用幅值表达每个 Token 所包含的实际信息,用相位来表示这个 Token 当前所处的状态。在聚集不同 Token 信息的时候,不同 Token 之间的相位差会调制它们之间的聚合过程(如图 3 示)。考虑到来自不同输入图像的 Token 包含不同的语义内容,该研究使用一个简单的全连接模块来动态估计每个 Token 的相位。对于同时带有幅度和相位信息的 Token,作者提出了一个相位感知 Token 混合模块(PATM,如下图 1 所示)来聚合它们的信息。交替堆叠 PATM 模块和 MLP 模块构成了整个 Wave-MLP 架构。

b4004b1d095243dad1b965cabd50537a.png

图 1:Wave-MLP 架构中的一个单元

相比现有的视觉 Transformer 和 MLP 架构,Wave-MLP 有着明显的性能优势(如下图 2 所示)。在 ImageNet,Wave-MLP-S 模型上以 4.5G FLOPs 实现了 82.6% 的 top-1 准确率,比相似计算代价的 Swin-T 高 1.3 个点。此外,Wave-MLP 也可以推广到目标检测和语义分割等下游任务,展现出强大的泛化性能。

fa431b695fe94b49bffe8ab68b635541.png

图 2:Wave-MLP 与现有视觉 Transformer、MLP 架构的比较

用波表示 Token

在 Wave-MLP 中,Token 被表示为同时具有幅值和相位信息的波54bd7c924553994e47c18428ba9de2de.png

5242b41de96b6853b65886e2ee8a9f87.png    (1)

其中 i 是满足 i^2 = -1 的虚数单位,|·| 表示绝对值运算,⊙是逐元素乘法。幅值 |z_j| 是实值的特征,表示每个 Token 所包含的内容。θ_j 表示相位,即 Token 在一个波周期内的当前位置。

两个 Token 之间的相位差对它们的聚合过程有很大影响 (如下图 3 所示)。当两个 token 具有相同的相位时,它们会相互增强,得到幅值更大的波(图 3(b));当两个 token 相位相反时,他们合成的波将相互减弱。在其他情况下,它们之间的相互作用更加复杂,但仍取决于相位差(图 3(a))。经典方法中使用实值表示 token 的,这实际上是上式的一个特例。

265f53fd316697d02871a6ff1d6d8bb3.png

图 3:两个具有不同相位的波的聚合过程。左侧表示两个波在复数域中的叠加,右侧表示它们在实轴上的投影随着相位的变化。虚线表示两个初始相位不同的波,实线是他们的叠加。

相位感知的 Token 聚合

公式(1)中包含幅值和相位两项,幅值 z_j 类似于实值特征,可以采用标准的 Channel-FC 生成:

9b78e84f26cac6bff5234df560b8163e.png    (2)

对于相位,可以使用多种方式来估计。为了使得相位可以捕获每个输入的特定属性,该研究使用一个可学的估计模块来生成相位 θ_j。在获得幅值 z_j 和相位 θ_j 之后,可以根据公式(1)得到 Token 的波函数表示f233121beb51dca6ac8a6aaf78c50819.png。同时,公式(1)可以采用欧拉公式展开成连个实值向量拼接的形式:

c2a642906ae81341c227a129b2a1c334.png    (3)

表示不同的 Token 波函数会通过一个 Token-FC 聚合起来,得到复数域的输出:

70d6cdd56ff03d2370b7f6000698888f.png    (4)

类似于量子计算中的测量过程,复数域的需要映射到实数域里才能得到有意义的输出值。将实部和虚部做按照一定的权重进行求和,得到模块的输出:

964bb7ee13681efdeb84a832fba38d7b.png    (5)

在视觉 MLP 中,该研究构建了一个相位感知模块(PATM,图 1)来完成 Token 聚合的过程。交替堆叠 PATM 模块和 channel-mixing MLP 组建了整个 WaveMLP 架构。

实验结果

该研究在大规模的分类数据集 ImageNet, 目标检测数据集 COCO 和语义分割数据集 ADE20K 上都进行了大量实验。

ImageNet 上图像分类的结果如表 1,表 2 所示:相比于现有的 Vision MLP 架构和 Transformer 架构,WaveMLP 都取得了明显的性能优势。

9c854b771b6909d00427e4c99fcc4f25.png

65a8467b298ee9b2b5d63211605e5a81.png

在下游目标检测、语义分割等任务中,Wave-MLP 同样表现出更优的性能。

bbc6eaac2c8793e2fe0d2b22603f1f23.png

0d1fa392116bc7006a655d13345aff5c.png

Wave-MLP 论文和代码下载

后台回复:Wave,即可下载上面论文和代码
CVer-Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/123675864