问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

深度可分离卷积:原理、应用与MobileNet详解

创作时间:
作者:
@小白创作中心

深度可分离卷积:原理、应用与MobileNet详解

引用
CSDN
1.
https://blog.csdn.net/qq_34425255/article/details/136877562

深度可分离卷积(Depthwise Separable Convolution)是近年来在深度学习领域广泛应用的一种卷积方式,特别是在移动设备和资源受限的场景中。它通过将标准卷积分解为深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution),在保持模型性能的同时大幅减少了计算量和参数量。本文将通过详细的分析和生动的比喻,帮助读者深入理解深度可分离卷积的工作原理及其在MobileNet等网络中的应用。

深度可分离卷积的基本概念

深度可分离卷积的核心思想是将标准卷积分解为两个阶段:深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)。

深度卷积(Depthwise Convolution)

深度卷积阶段,每个输入通道都使用一个单独的卷积核进行处理,而不是像标准卷积那样使用一个共享的多通道卷积核。这样做的好处是减少了计算量和参数量。

例如,对于一个3通道的输入,深度卷积会使用3个独立的卷积核分别处理每个通道,生成3个特征图。每个卷积核只关注其对应的输入通道,不涉及跨通道的信息融合。

每次卷积操作都是两个二维薄片的点积运算:

逐点卷积(Pointwise Convolution)

逐点卷积阶段使用1x1的卷积核对深度卷积生成的特征图进行处理,实现跨通道的信息融合。这个阶段相当于一个常规的卷积层,但卷积核大小仅为1x1。

逐点卷积的作用是补充深度卷积中缺失的跨通道信息。例如,使用128个1x1卷积核可以生成128个新的特征图,每个卷积核负责融合所有输入通道的信息。

深度可分离卷积的工作流程

深度可分离卷积的基本工作流程如下:

  1. Depthwise卷积:处理空间信息,每个卷积核只关注一个输入通道。
  2. Pointwise卷积:处理跨通道信息,使用1x1卷积核融合所有通道的信息。

这个过程可以类比为吃汉堡的方式:

  • Depthwise卷积:像吃汉堡一样,一层一层地吃,每次只吃一种食材。
  • Pointwise卷积:像一口咬下整个汉堡,同时吃到所有食材。

在MobileNet中的应用

MobileNet是最早大规模应用深度可分离卷积的网络之一。其基本模块由深度卷积和逐点卷积组成:

在MobileNet中,深度卷积的卷积核大小通常为3x3,而逐点卷积的卷积核大小为1x1。这种设计在保持模型性能的同时,显著减少了计算量和参数量。

与Xception的对比

Xception网络也采用了深度可分离卷积,但与MobileNet的顺序不同:Xception是先进行逐点卷积,再进行深度卷积。这种顺序的变化在实际应用中并没有太大区别,因为它们的基本模块堆叠效果相似。

总结

深度可分离卷积通过将标准卷积分解为深度卷积和逐点卷积,实现了计算效率和模型性能的平衡。这种卷积方式在MobileNet等网络中取得了显著的成功,特别是在移动设备和资源受限的场景中。通过本文的详细分析和生动比喻,相信读者已经对深度可分离卷积有了更深入的理解。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号