分组卷积与DW卷积、Residuals与Inverted Residuals、bottleneck与linearbottleneck

分组卷积(Group Convolution)

分组卷积在ResNext、ShuffleNet中都用到了

首先必须明确:
常规卷积(Convolution)的参数量是:

K*K*C_in*n
K是卷积核大小,C_in是input的channel数,n是卷积核个数(output的channel数)

分组卷积的参数量是:

K*K*C_in*n*1/g
K是卷积核大小,C_in是input的channel数,n是卷积核个数(output的channel数),g是分组数

分组卷积与DW卷积、Residuals与Inverted Residuals、bottleneck与linearbottleneck_第1张图片

DW(Depthwise Separable Conv)+PW(Pointwise Conv) 卷积

DW卷积也叫做深度可分离卷积,DW+PW的组合在MobileNet、ShuffleNet中都使用了

DW卷积的参数量是:

K*K*C_in (此时C_in = n)
K是卷积核大小,C_in是input的channel数,DW卷积中,卷积核个数与input的channel数相同

PW卷积的参数量是:

1*1*C_in*n 
PW卷积的卷积核为1*1大小,C_in是input的channel数,n是卷积核个数(output的channel数)

在这里插入图片描述

总结

  • 分组卷积的参数量是常规卷积(Convolution)参数量的1/g, 其中g是分组数
  • DW卷积的参数量是常规卷积(Convolution)参数量的1/n, 其中n是卷积核个数
  • 当分组卷积中的g=C_in, n=C_in时,DW==分组卷积(将每个channel自己作为一组)

Residuals与Inverted Residuals

分组卷积与DW卷积、Residuals与Inverted Residuals、bottleneck与linearbottleneck_第2张图片

bottleneck与linearbottleneck

Bottleneck指的是瓶颈层,Bottleneck结构其实就是为了降低参数量,Bottleneck 三步走是先 PW 对数据进行降维,再进行常规卷积核的卷积,最后 PW 对数据进行升维(类似于沙漏型)。

这里侧重的是网络中的降(升)维->卷积->升(降)维结构,而不关注shortcut

Linear Bottlececk: 针对MobileNet v2中的Inverted residual block结构的最后一个1*1 卷积层使用了线性激活函数,而不是relu激活函数

你可能感兴趣的:(CV,深度学习与机器学习,深度学习,cnn,神经网络)