深度可分离卷积&&组卷积

目录

一:深度可分离卷积

深度可分离卷积完整示意图

普通卷积和深度可分离卷积计算量的对比

二:Group CONV(组卷积)


一:深度可分离卷积

深度可分离卷积被提出于MobileNet中,其主要作用用于减少模型参数和运算量。

深度可分离卷积主要由两部分构成:DW卷积和PW卷积

网络中的亮点在于(1)DW卷积(大大的减少了运算量和参数数量)

(2)增加了参数α和β

传统卷积和DW卷积的对比图如下所示:

深度可分离卷积&&组卷积_第1张图片

在DW卷积中每个卷积核的深度都是为1的,每个卷积核只负责与输入特征矩阵的一个channel进行卷积运算,然后再得到相应的输出矩阵的一个channel

深度可分离卷积完整示意图

深度可分离卷积&&组卷积_第2张图片

图中的PW卷积其实和普通的卷积区别不大,只是将卷积核大小变为1

普通卷积和深度可分离卷积计算量的对比

 深度可分离卷积&&组卷积_第3张图片

其中D_{F}代表的是输入特征矩阵的高和宽,D_{K}是卷积核的大小,M是输入特征矩阵的深度。然后N是输出特征矩阵的深度也对应着卷积核的个数。

所以普通卷积的计算量等于:卷积核的高*卷积核的宽*输入特征矩阵的深度*卷积核的个数N*输入特征矩阵的宽*输入特征矩阵的宽

 那么深度可分离卷积的计算量就等于DW卷积和PW卷积两种卷积的和

对于DW卷积:卷积核的高*卷积核的宽*1(因为卷积核的深度为1)*输入特征矩阵的深度*输入特征矩阵的宽度*输入特征矩阵的高度

对于PW卷积:1*1(这里的卷积核大小为1)*输入特征矩阵的深度*卷积核的个数*输入特征矩阵的高度和宽度

二:Group CONV(组卷积)

 组卷积和普通卷积对比示意图如下

深度可分离卷积&&组卷积_第4张图片

假设每个卷积核的高和宽都是k,再假设输入特征矩阵的channel等于C_{in},卷积核个数等于n。普通卷积核所需要的参数数量为k*k*C_{in}*n。

而在组卷积中,在图中假设将输入特征矩阵的channel划分为两个组,然后再对每个组分别进行卷积操作。假设第一个组使用n/2个卷积核那么可以得到channel=n/2的特征矩阵,同理在第二个组中也使用n/2个卷积核,那么它的输出矩阵深度也是n/2。再将这两个特征矩阵的Contact拼接起来最终得到的特征矩阵也是n

参数量:假设卷积核的高和宽都是为k的,假设输入特征矩阵的channel等于C_{in}分成了g组,使用了g/n个卷积核。并且是划分了g个组·所以还需要乘一个g。

当分组个数与输入特征矩阵的Channel是保持一致的,并且输出特征矩阵的channel也与输入特征矩阵的channel保持一致的话,此时组卷积就是DW卷积

你可能感兴趣的:(深度学习基础知识,深度学习,人工智能,神经网络)