我最早接触深度可分离卷积是在Xception网络结构中,这个网络就不在这里赘述了,这里主要讲一下参数计算。
假设某一层输入通道是8,输出通道是16,使用的卷积核是3x3,使用正常卷积那么这层的参数计算方式为(8x3x3+1)x16=1168,其中1是偏置带来的参数。具体为,输入通道数据被8个不同3×3大小的卷积核会遍历16次,从而产生8×16=128个特征图谱,进而通过叠加8个输入通道对应的特征图谱后融合得到1个特征图谱,最后可得到所需的16个输出通道。
在可分离卷积里面参数计算方式为8x3x3+16x(8x1x1+1)=216,其中和8相乘的1是大小为1卷积核参数,最后加的1是偏置带来的参数。具体为,输入通道数据被8个不同3x3大小的卷积核遍历1次,生成8个特征图谱,8个特征图谱中每个被16个1x1卷积核遍历,生成8x16=128个特征图谱,进而通过叠加8个输入通道对应的特征图谱后融合得到1个特征图谱,最后可得到所需的32个输出通道。
通过分离卷积操作参数从1168个降到216个,可见在模型复制度上有很大的优化。
网友评论