涨点神器:即插即用特征融合模块!超低参数,性能依旧SOTA

本文主要是介绍涨点神器:即插即用特征融合模块!超低参数,性能依旧SOTA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在写论文时,一些通用性模块可以在不同的网络结构中重复使用,这简化了模型设计的过程,帮助我们加快了实验的迭代速度

比如在视觉任务中,即插即用的特征融合模块可以无缝集成到现有网络中,以灵活、简单的方式提升神经网络的性能。这类模块通过专注于数据的关键点和模式,帮助模型更有效地学习特征,从而提高在各种视觉任务中的准确度和效率

以南航提出的AFF模块、港大等提出的即插即用轻量级模块AdaptFormer为例:

  • AFF模块:一种即插即用的新注意力特征融合机制AFF,仅使用了35.1M的参数量就能达到性能优于SKNet、SENet等方法的效果。

  • AdaptFormer:核心是一种轻量级模块,微调不到0.2%,就能提高ViT的迁移能力,而不需要更新其原始的预训练参数。

为方便各位理解和运用,我这次精挑细选了8个即插即用特征融合模块。这些模块的来源文章以及代码我都整理了,并简单罗列了创新点,更详细的工作细节建议各位仔细阅读原文。

论文原文以及开源代码需要的同学看文末

Attentional Feature Fusion

方法:论文提出了一种统一的、普遍适用的特征融合方案,名为注意力特征融合,用于处理现代网络体系结构中的特征融合。为了更好地融合具有不一致语义和尺度的特征,作者提出了一种多尺度通道注意力模块。此外,作者还发现初始特征图的集成可能成为一个瓶颈,通过添加另一层注意力来缓解这个问题,称之为迭代注意力特征融合。

创新点:

  • 提出了一种统一且通用的方案,即注意力特征融合,适用于大多数常见场景,包括由短路连接和长路连接引起的特征融合以及在Inception层内部的特征融合。

  • 提出了一种多尺度通道注意力模块,用于更好地融合具有不一致语义和尺度的特征。通过在通道维度上聚合多尺度的上下文信息,可以同时强调分布更广泛的大对象和分布更局部的小对象,从而有助于网络在极端尺度变化下识别和检测对象。

  • 提出了迭代注意力特征融合方法,通过在输入特征中添加另一个注意力模块来改善初始融合质量,并通过逐步改进初始融合来提高性能。通过简单地将现有的特征融合运算符替换为提出的迭代注意力特征融合模块,可以提高各种网络的性能。

AdaptFormer: Adapting Vision Transformers for Scalable Visual Recognition

方法:论文提出了一种名为AdaptFormer的有效的适应Transformer的方法,可以高效地将预训练的ViTs适应到许多不同的图像和视频任务中。与现有的完全微调模型相比,AdaptFormer引入了轻量级模块,仅添加了不到2%的额外参数到ViT中,而且在不更新原始预训练参数的情况下,显著优于现有的100%完全微调模型在动作识别基准上的表现。

创新点:

  • AdaptMLP模块:作者引入了AdaptMLP模块,用于将预训练的ViT骨干网络适应于多个下游视觉识别任务。AdaptMLP模块包括两个子分支,一个与原始网络的MLP层相同,另一个是额外引入的轻量级模块用于任务特定的微调。AdaptMLP模块只引入少量参数,使得ViT的可迁移性得到提高,相比于全微调方法,在动作识别任务上能够取得更好的性能。

  • 平行设计:作者发现平行设计对于特征集成是一种有效的方式。平行设计通过一个独立的分支保留原始特征,并通过元素级缩放求和聚合更新的上下文信息。因此,作者选择了平行设计作为默认设置,因为它在性能上具有优势。平行设计与全微调相比,在参数开销较小的情况下,能够获得更好的性能。

DEA-Net: Single image dehazing based on detail-enhanced convolution and content-guided attention

方法:论文提出了一种细节增强注意力网络(DEA-Net)来解决单一图像去雾问题,其中包含细节增强卷积(DEConv)和内容引导注意力(CGA)两个部分。CGA通过为每个通道分配唯一的空间重要性映射(SIM)来关注特征中编码的更有用的信息,并提出了一个CGAFusion,即插即用的特征融合模块。通过结合上述组件,DEA-Net能够恢复高质量的无雾图像,实验证明其在PSNR指数上超过最先进的方法,并且只使用了3.653 M个参数。

创新点:

  • 设计了一种细节增强卷积(DEConv)层,通过并行部署多个普通卷积和差异卷积来提取特征,增强了表示和泛化能力,同时不引入额外的参数和计算成本。

  • 提出了一种内容引导注意力(CGA)机制,可以生成通道特定的空间重要性图(SIMs),并将通道注意力和空间注意力进行融合,以实现信息交互和有效的梯度流动。

  • 提出了基于CGA的混合融合方案,可以自适应地融合编码器部分的低级特征和相应的高级特征,通过学习到的空间权重对特征进行调节。

CFNet: Cascade Fusion Network for Dense Prediction

方法:论文提出了一种名为CFNet的新的架构,用于密集预测任务。与通常使用轻量级融合模块来融合由重型分类主干提取的多尺度特征的FPN及其变种不同,CFNet通过引入多级级联阶段来学习基于提取的高分辨率特征的多尺度表示。通过将特征集成操作插入到主干中,可以有效利用整个主干的大部分来有效地融合多尺度特征。

创新点:

  • CFNet引入了级联阶段的创新架构,以学习基于高分辨率特征的多尺度表示。

  • CFNet通过将特征集成操作插入到主干中,有效利用了整个主干的大部分来融合多尺度特征。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“特征即插”获取全部论文+代码

码字不易,欢迎大家点赞评论收藏

这篇关于涨点神器:即插即用特征融合模块!超低参数,性能依旧SOTA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989740

相关文章

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要