Bottleneck 结构为之后的深度可分离卷积Depthwise Separable Conv打下了坚实的基础。
Bottleneck 结构
在Inception网络中为了减少参数量,我们想了很多的办法,例如:用多个小尺寸卷积代替一个大尺寸卷积; 做下面的变换:3x3 = 3x1 + 1x3,这个效果在深度较深的情况下比规整的卷积核更好 等等操作,当然也包括经典的Bottleneck结构。
Bottleneck结构就是为了降低参数量,Bottleneck 三步走是先 PW 对数据进行降维,再进行常规卷积核的卷积,最后 PW 对数据进行升维(类似于沙漏型)。我们举个例子,方便我们了解:
根据上图,我们来做个对比计算,假设输入 feature map 的维度为 256 维,要求输出维度也是 256 维。有以下两种操作:
直接使用 3x3 的卷积核。