【即插即用】分类、检测、分割等均有效的新型卷积模块(Tied卷积,即将开源)(一)

简介: 【即插即用】分类、检测、分割等均有效的新型卷积模块(Tied卷积,即将开源)(一)

1、简介


卷积是卷积神经网络(CNN)的主要构建块。通过实验观察到,通道数量随着深度的增加而增加,优化后的CNN通常具有高度相关的Filters,从而降低了特征表示的表达能力。

通过图(a)可以看出,随着网络Layer的加深,卷积核之间的相关性越来越强;

通过上图也可以得到,随着Layer的增加,kernel的多样性也在下降,kernel之间的相关性也在增加;

为了解决这种冗余的状况,作者提出了Tied Block Convolution(TBC),它在相同的通道块上共享相同的Thinner kernels,并通过单个kernel产生多个响应。

TBC不仅仅在标准卷积使用,还可以扩展到组卷积和完全连接的层,并且可以应用于各种backbone和注意力模块。同时TBC卷积在标准卷积和群组卷积方面具有明显的效果和性能,所提出的TiedSE注意模块甚至可以使用比SE模块少64倍的参数情况下得到差不多的性能。

特别是,标准的CNN经常在存在遮挡的情况下无法准确地提取信息,并导致多个冗余的部分object proposal。而TBC天生具有去除冗余的性质可以减少相关性并可以有效处理高度重叠的实例。当遮挡率为80%时,TBC可将MS-COCO上物体检测的平均精度提高6%。


2、相关工作


2.1、Backbone Networks

这里应该是大家都熟知的经典模型了,在这里再罗列一下,具体原理和设计不在解说,大家可以自行看论文原文:

  • AlexNet
  • VGGNet
  • GoogleNet
  • ResNet
  • ResNeXt
  • HRNet

等等。

2.2、Attention Modules

在罗列的Attention相比也是大家所熟知的,也可能就是正在使用的香饽饽,具体原理和设计不在解说,大家可以自行看论文原文:

  • SENet
  • SKNet
  • GCBNet
  • CAM
  • MS-CAM

等等


3、Tied Block Convolution Network Design


3.1、TCB卷积的诞生

Standard Convolution

这里假设输入特征为,输出特征为,则标准卷积SC(Standard Convolution):

其中SC kernel为,参数量为

Group Convolution

这里假设把把输入特征X分为G个相同size的Group,表示为,相应地每个Group的size为,那么GC可以表示为:

其中表示Concatenate操作,参数量为;下图为分为2个Group的操作,用了两个不同的Kernel:

Tied Block ConvolutionTBC卷积通过在不同特征组间重用Kernel来减少滤波器的有效数量:

其中表示Concatenate操作,参数量为;B表示把Channel分为多少个Group,即B个Equal Block;

3.2、TCB卷积相对于GC卷积的优势

  • 相对于GC卷积,参数量降低了B倍;
  • BC在GPU利用率上只有1个Fragmentations,而GC有G个Fragmentations,大大降低了并行度;
  • 每一组TBC过滤器都应用于所有输入通道,可以更好地建模跨通道依赖关系;

3.3、TCB卷积的拓展使用

1、TGC(Tied Block Group Convolution)卷积

TCB卷积的思想也可以直接应用到Group卷积中,表示为:

image.png

2、TFC(Tied Block Fully Connected Layer)

将同样的TCB卷积的思想应用到FC中。Tied Block Fully Connected Layer(TFC)共享输入通道等块之间的FC连接。

3.4、TBC构建的Bottleneck

3.4.1、TiedResNet

下图为基于TBC卷积和ResNet构建的TiedResNet Bottleneck:

image.png

3.4.2、TiedResNeXt

下图为基于TBC卷积和ResNet构建的TiedResNeXt Bottleneck:

image.png

3.4.3、TiedResNeSt

下图为基于TBC卷积和ResNet构建的TiedResNeSt Bottleneck:

image.png

3.4.4、TiedSE

下图为基于TBC卷积和ResNet构建的TiedSE Bottleneck:

image.png

3.4.5、TiedGCB下图为基于TBC卷积和ResNet构建的TiedGCB Bottleneck:

image.png

相关文章
|
消息中间件
RabbitMQ中的消息优先级是如何实现的?
RabbitMQ中的消息优先级是如何实现的?
805 0
|
9月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
2708 2
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
机器学习/深度学习 数据可视化 PyTorch
深度学习之如何使用Grad-CAM绘制自己的特征提取图-(Pytorch代码,详细注释)神经网络可视化-绘制自己的热力图
深度学习之如何使用Grad-CAM绘制自己的特征提取图-(Pytorch代码,详细注释)神经网络可视化-绘制自己的热力图
深度学习之如何使用Grad-CAM绘制自己的特征提取图-(Pytorch代码,详细注释)神经网络可视化-绘制自己的热力图
|
XML 数据可视化 算法
目标检测YOLO数据集的三种格式及转换
目标检测YOLO数据集的三种格式及转换
|
机器学习/深度学习 编解码 测试技术
【YOLOv8改进-SPPF】 Focal Modulation :使用焦点调制模块替代SPPF
YOLOv8专栏介绍了FocalNets,一种取代自注意力的新型模块,提升模型在图像分类、检测和分割任务中的性能。Focal Modulation包括局部聚焦、全局调制和多尺度处理,通过融合CNN和自注意力优点。代码展示了FocalModulation模块的实现。论文和代码已开源。在多个基准测试中,FocalNets超越了Swin等先进模型。
|
人工智能 自然语言处理 机器人
AI心语:智能时代的情感纽带
本文旨在探索人工智能在情感计算领域的应用,以及这些技术如何帮助我们更好地理解和模拟人类情感。通过分析当前的技术进展和面临的伦理挑战,文章为读者提供了一个关于AI与情感结合世界的全面视角。
1104 6
|
机器学习/深度学习 异构计算
【保姆级教程|YOLOv8改进】【3】使用FasterBlock替换C2f中的Bottleneck
【保姆级教程|YOLOv8改进】【3】使用FasterBlock替换C2f中的Bottleneck
|
机器学习/深度学习 编解码 计算机视觉
深度学习笔记(十一):各种特征金字塔合集
这篇文章详细介绍了特征金字塔网络(FPN)及其变体PAN和BiFPN在深度学习目标检测中的应用,包括它们的结构、特点和代码实现。
1885 0
|
存储 缓存 负载均衡
高并发系统架构的设计挑战与应对策略
【8月更文挑战第18天】高并发系统架构设计是一项复杂而重要的任务。面对性能瓶颈、稳定性与可靠性、并发控制和可扩展性等挑战,开发人员需要采取一系列有效的策略和技术手段来应对。通过负载均衡、缓存技术、数据库优化、异步处理、并发控制、弹性设计及监控与调优等手段,可以设计出高性能、高可用和高可扩展性的高并发系统架构,为用户提供优质的服务体验。
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。