傅里叶算子高效Token Mixer:轻量级视觉网络新主干

人工智能 新闻
来自微软亚洲研究院的研究人员发现对 Token 进行傅里叶变换数学上等价于用超大尺寸自适应卷积核进行 Token 融合,而前者的计算代价远低于后者。

1. 背景

近年来,基于 Transformer、Large-kernel CNN 和 MLP 三种视觉主干网络在广泛的 CV 任务中取得了显著的成功,这要归功于它们在全局范围内的高效信息融合能力。

现有的三大主流神经网络,即 Transformer、CNN 和 MLP,分别通过各自的方式实现全局范围的 Token 融合。其中,Transformer 网络中的自注意力机制将 Query-Key pairs 的相关性作为 Token 融合的权重。CNN 通过扩大 kernel 尺寸实现与 transformer 相近的性能。MLP 通过在所有令牌之间的全连接实现另一种强大的范式。所有这些方法都是有效的,但计算复杂度高 (O (N^2)),难以在存储和计算能力有限的设备上部署,限制了很多模型的应用范围。

2. AFF Token Mixer: 轻量、全局、自适应

为了解决计算昂贵的问题,研究人员构建了一种名为 Adaptive Fourier Filter(AFF)的高效全局 Token 融合算子。它通过傅里叶变换将 Token 集合变换到频域,同时在频域学习到一个内容自适应的滤波掩膜,对变换到频域空间中的 Token 集合进行自适应滤波操作。

论文《Adaptive Frequency Filters As Efficient Global Token Mixers》:

链接:https://arxiv.org/abs/2307.14008

根据频域卷积定理,原始域中的卷积操作在数学上等价于对应的傅里叶域中的 Hadamard 乘积操作。这使得该工作所提出的 AFF Token Mixer 在数学上等价于使用一个空间分辨率和 Token 集合一样大小的动态卷积核在原始域中进行 Token 融合 (如下图右子图所示), 具有在全局范围内进行内容自适应 Token 融合的作用。

众所周知,动态卷积的计算开销大,大空间分辨率的动态卷积核的使用开销对于高效 / 轻量级网络设计似乎就更加不可接受。但是本文所提出的 AFF Token Mixer 却可以作为同时满足以上优点的低功耗等效实现,将复杂性从 O (N^2) 降低到 O (N log N),显著提高了计算效率。

图片

图 1:AFF 模块和 AFFNet 网络示意图。

3. AFFNet:轻量级视觉网络新主干

研究人员将 AFF Token Mixer 作为主要神经网络操作算子,构建了一个轻量级神经网络,称为 AFFNet。大量实验表明,AFF Token Mixer 在广泛的视觉任务中实现了优越的准确性和效率权衡,包括视觉语义识别和密集预测任务。

4. 实验结果

研究人员在视觉语义识别、分割、检测等多个视觉任务上对所提出的 AFF Token Mixer 和 AFFNet 进行评测,并将其和目前研究领域中最先进的轻量级视觉主干网络进行对比。实验结果表明,该工作提出的模型设计在广泛的视觉任务上均表现出色,验证了所提出的 AFF Token Mixer 作为新一代轻量高效的 Token 融合算子的潜力。

图片

图 2:ImageNet-1K 数据集上的 Acc-Param, Acc-FLOPs 曲线,与 SOTA 的对比。

图片

表 1:ImageNet-1K 数据集上和 SOTA 的对比

图片

表 2:下游任务(视觉检测和分割)和SOTA的对比。

5. 结论

此项研究成果从数学上证明了隐空间中的频域变换能起到全局自适应 Token 融合的作用,是神经网络中实现全局自适应 Token 融合的一种高效能低功耗的等效实现。为神经网络中 Token 融合算子的设计打开了新的研究思路,也为神经网络模型在存储和计算能力有限的边缘设备上的部署带来了新的发展空间。

责任编辑:张燕妮 来源: 机器之心
相关推荐

2012-08-10 14:59:01

代码

2022-02-18 08:34:33

JavaSa-Token项目

2009-07-17 14:38:51

轻量级Swing组件

2009-07-14 18:05:28

轻量级Swing组件

2016-10-14 16:35:39

2009-09-11 08:26:49

Linux系统CRUX 2.6Linux

2023-08-09 08:01:38

场景Redis接口

2022-05-07 11:00:04

人工智能训练移动设备

2024-11-11 10:40:00

模型训练

2021-03-02 09:35:33

Python循环开发

2022-03-14 08:02:08

轻量级动态线程池

2023-09-14 09:31:21

Docker容器

2022-12-29 09:49:06

轻量级架构决策

2023-06-27 16:42:18

Tinygrad深度学习工具

2010-09-09 13:12:29

XML DOM

2022-08-10 12:21:07

PythonWebBottle

2009-06-23 08:56:55

Linux桌面搜索

2020-11-11 12:13:59

JS

2023-12-22 14:07:00

Go轻量级Goroutines

2022-07-15 16:39:19

PythonWhoosh工具
点赞
收藏

51CTO技术栈公众号