当前位置: 首页 > news >正文

可分离卷积

1. 前言

上一篇我们讲了标准卷积和转置卷积,知道了卷积的“基本操作”和“逆操作”。但在 移动端、嵌入式设备、实时推理 中,标准卷积计算量太大,必须轻量化。

可分离卷积(Depthwise Separable Convolution)就是典型的轻量化卷积核心积木,被 MobileNet、EfficientNet、Xception 等网络广泛采用。

本篇将深入讲:

  1. 可分离卷积原理

  2. 计算量分析

  3. MobileNet 系列演化

  4. PyTorch 实战

  5. 优缺点与适用场景


2. 回顾:标准卷积计算量

输入特征图:H×W×Cin
输出特征图:H×W×Cout
卷积核:K×K

  • 参数量:K*K*Cin*Cout

  • FLOPs:H*W*K*K*Cin*Cout

CinCout 很大时,计算量爆炸。


3. 可分离卷积原理

核心思想:把标准卷积分解成 两步

  1. Depthwise Conv(逐通道卷积)
    每个输入通道独立卷积,输出通道 = 输入通道数

    • 参数量:K*K*Cin

    • FLOPs:H*W*K*K*Cin

  2. Pointwise Conv(1×1 卷积)
    将 Depthwise 输出做通道融合

    • 参数量:Cin*Cout

    • FLOPs:H*W*Cin*Cout

总参数量 & FLOPs = Depthwise + Pointwise
与标准卷积相比,可以降低 约 8~9 倍计算量(3×3卷积为例)


4. MobileNet 系列演化
系列特点改进
MobileNetV1基于 DW + PW第一次大规模应用
MobileNetV2引入 Inverted Residual + Linear Bottleneck保持轻量化 + 增强表达能力
MobileNetV3引入 SE注意力 + NAS搜索精度和速度兼顾

设计思路都是:可分离卷积 → DW处理空间 → PW融合通道 → 加轻量化策略


5. PyTorch 实战
5.1 简单 DW + PW 实现
import torch
import torch.nn as nnclass DepthwiseSeparableConv(nn.Module):def __init__(self, in_ch, out_ch, kernel_size=3, stride=1, padding=1):super().__init__()self.dw = nn.Conv2d(in_ch, in_ch, kernel_size, stride,padding, groups=in_ch, bias=False)self.pw = nn.Conv2d(in_ch, out_ch, 1, bias=False)self.bn = nn.BatchNorm2d(out_ch)self.relu = nn.ReLU(inplace=True)def forward(self, x):x = self.dw(x)x = self.pw(x)x = self.bn(x)return self.relu(x)x = torch.randn(1, 32, 112, 112)
model = DepthwiseSeparableConv(32, 64)
print(model(x).shape)  # torch.Size([1, 64, 112, 112])
5.2 与标准卷积对比(参数量 & FLOPs)
# 标准卷积
conv_std = nn.Conv2d(32, 64, 3, padding=1)
x_std = conv_std(x)

可分离卷积参数量约 1/9,FLOPs 约 1/9,精度略降但效率极高。


6. 优缺点总结
优点缺点
极大降低计算量和参数量特征融合能力略低于标准卷积
支持轻量化网络部署对小模型任务可能需要BN/SE等增强
易于与残差结构结合单独使用时精度可能略低

7. 适用场景
  • 移动端/嵌入式设备(手机、Jetson、Raspberry Pi)

  • 实时推理任务(目标检测、分类、分割)

  • 轻量化网络设计(MobileNet、EfficientNet、ShuffleNet)

不适用场景:

  • 模型容量充足且追求极致精度

  • 需要大范围通道交互的复杂任务


8. 小结

可分离卷积是 轻量化卷积的核心积木,其价值在于:

  1. 解耦空间卷积和通道卷积

  2. 降低计算量 & 参数量

  3. 可与各种轻量化网络策略结合

http://www.dtcms.com/a/526818.html

相关文章:

  • 如何提升网站的排名开通公司网站怎么做分录
  • 汕头市平台网络推广公叿郑州seo外包
  • 网络公司推广软文seo领导屋
  • wordpress做学校网站建湖人才网最新招聘
  • 东莞建设网站公司网站代码怎么查看
  • 如何用织梦建网站苏州工业园区最新通告
  • 电子商务网站业务流程图dw php网站开发书籍云盘
  • 怎样建置换平台网站网页设计素材景区结束
  • 免费手机建站网站雷电模拟器手机版下载官方网站
  • 网站的规划与建设_按时间顺序可以分为哪等五个阶段网站全屏广告
  • 烟台网站建设平台wordpress如何关闭网页
  • 镇海企业建站系统网站
  • cpa网站怎么做南充做网站
  • 专业网站优化seo山东软件开发的公司
  • 贵州省住房和城乡建设网站达州网站开发
  • 个人发布房源的网站手机163邮箱登录
  • 河北婚庆网站建设定制网站建设公司推荐 知乎
  • 企业服务网站建设需要多少钱虚拟主机app
  • 深圳外贸网站设计网页设计图片怎么放进去
  • 网站能实现什么功能石家庄是几线城市
  • 怎么成立个人网站wordpress 邮箱免验证
  • 东莞横沥中学河源seo排名
  • diy网站建设系统源码wordpress 调整布局
  • 湛江市建网站云南省植保植检站网址
  • 建设银行金牛支行网站wordpress 商业授权
  • 枣强网站建设代理所有代刷平台推广
  • 怎么查看网站是否降权做影视网站被告怎么办
  • 单位网站中文域名到期续费家政公司网站怎么做
  • 电商网站零售客户江苏工信部网站备案查询
  • 晋江网站建设赣州网站设计有哪些