【即插即用】分类、检测、分割等均有效的新型卷积模块(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

相关文章
|
8月前
|
机器学习/深度学习 算法 Python
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
862 1
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
|
8月前
|
机器学习/深度学习 人工智能 算法
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
179 0
|
2月前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目DWRSeg是一种高效的实时语义分割网络,通过将多尺度特征提取分为区域残差化和语义残差化两步,提高了特征提取效率。它引入了Dilation-wise Residual (DWR) 和 Simple Inverted Residual (SIR) 模块,优化了不同网络阶段的感受野。在Cityscapes和CamVid数据集上的实验表明,DWRSeg在准确性和推理速度之间取得了最佳平衡,达到了72.7%的mIoU,每秒319.5帧。代码和模型已公开。
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
|
6月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
|
6月前
|
机器学习/深度学习 移动开发 自然语言处理
【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点
【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点
|
6月前
|
机器学习/深度学习 大数据 计算机视觉
【YOLOv8改进 - 特征融合】 GELAN:YOLOV9 通用高效层聚合网络,高效且涨点
YOLOv8专栏探讨了深度学习中信息瓶颈问题,提出可编程梯度信息(PGI)和广义高效层聚合网络(GELAN),改善轻量级模型的信息利用率。GELAN在MS COCO数据集上表现优越,且PGI适用于不同规模的模型,甚至能超越预训练SOTA。[论文](https://arxiv.org/pdf/2402.13616)和[代码](https://github.com/WongKinYiu/yolov9)已开源。核心组件RepNCSPELAN4整合了RepNCSP块和卷积。更多详情及配置参见相关链接。
|
6月前
|
机器学习/深度学习 编解码 算法
【YOLOv8改进 - 特征融合NECK】SDI:多层次特征融合模块,替换contact操作
YOLOv8专栏探讨了该目标检测算法的创新改进,包括新机制和实战案例。文章介绍了U-Net v2,一种用于医学图像分割的高效U-Net变体,它通过SDI模块融合语义和细节信息,提升分割准确性。SDI模块结合空间和通道注意力,经通道减缩、尺寸调整和平滑后,用哈达玛积融合特征。提供的核心代码展示了SDI模块的实现。更多详情和论文、代码链接见原文。
|
6月前
|
测试技术 计算机视觉 网络架构
【YOLOv8改进 - 特征融合】CARAFE:轻量级新型上采样算子,助力细节提升
【YOLOv8改进 - 特征融合】CARAFE:轻量级新型上采样算子,助力细节提升
|
7月前
|
机器学习/深度学习
【从零开始学习深度学习】21. 卷积神经网络(CNN)之二维卷积层原理介绍、如何用卷积层检测物体边缘
【从零开始学习深度学习】21. 卷积神经网络(CNN)之二维卷积层原理介绍、如何用卷积层检测物体边缘
|
8月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。