通俗理解分组卷积

顾名思义

分组卷积(Group Convolution)顾名思义,在对特征图进行卷积的时候,首先对特征图分组再卷积。如下图所示:
在这里插入图片描述

这样做有啥作用呢?

  1. 减少参数量,分成G组,则该层的参数量减为原来的1/G。
    feature map尺寸为CiHW,常规卷积的参数量是Ci*H*W*Co;
    分G组的分组卷积参数量是(Ci/G)*H*W*(Co/G)*G=(Ci*H*W*Co)/G;可以自己举一个简单的例子试一试。
  2. 分组卷积可以看做是对原来的特征图进行了一个dropout,有正则的效果。
  3. 如果分组的数量等于特征图通道的的数量,这样卷积就是在二维的平面进行,一个卷积核对应一个通道,这样就变成深度可分离卷积(Depthwise Convolution),见MobileNet和Xception等,参数量进一步缩减。
  4. 更进一步,如果在上一步的基础上将卷积核的大小设置为和特征图一样大,此时称为全局深度可分离卷积(Global Depthwise Convolution),见MobileFaceNet;可以看成全局加权池化(可以代替全连接层,并且相较于全连接层,有少参数、防过拟合优点)

参考

Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution

### 稀疏卷积的概念 稀疏卷积旨在解决传统卷积操作中存在的大量无效计算问题。当处理具有许多零值或无意义的数据集(如三维点云中的大部分为空的空间体素),常规卷积会遍历所有位置,即使其中多数并不包含有用的信息[^1]。 对于这类情况,仅针对实际存在的数据点执行运算可以显著减少不必要的开销并加速处理过程。这种方法特别适用于那些输入数据分布非常不均匀的情形,在这样的场景下应用稀疏卷积能够带来明显的性能提升。 ### 工作原理简介 流形稀疏卷积作为普通卷积的一种扩展形式,专门设计用来高效地提取存在于低密度环境下的特征向量。通过引入哈希表结构来追踪哪些地方有有效的样本存在,从而使得算法能够在遇到非零元素时才启动相应的滤波器响应机制[^2]。 具体来说: - **选择性激活**:只有当卷积核覆盖到至少一个活跃的输入位址(active input site)时才会触发输出位址(output site) 的创建与更新;如果整个感受野范围内都没有任何有意义的内容,则跳过此步。 - **内存优化**:利用哈希映射技术管理已知的有效坐标集合,避免为每一个可能的位置分配存储空间,进而节省了大量的资源消耗。 综上所述,相比于传统的密集型方法,这种策略不仅提高了运行速度而且降低了硬件需求,尤其适合应用于大规模且高度离散化的感知任务之中。 ```python import spconv from spconv.pytorch import SparseConv3d # 定义一个简单的稀疏卷积层 sparse_conv_layer = SparseConv3d(in_channels=3, out_channels=64, kernel_size=3, stride=1) # 假设input_sp_tensor是一个已经构建好的SparseTensor对象 output_sp_tensor = sparse_conv_layer(input_sp_tensor) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值