普通卷积,分组卷积,深度可分离卷积

2021/10/6 23:13:38

本文主要是介绍普通卷积,分组卷积,深度可分离卷积,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

转载https://blog.csdn.net/weixin_43572595/article/details/110563397

直观理解

用一幅图就可以很直观的理解了:
在这里插入图片描述
如上图,左边是常规卷积,假设input_features[1, 12, Hi, Wi], output_features[1, 6, Ho, Wo],此时需要的kernel[12, 6, K, K], 卷积核的总参数量为126KK;右边为分组卷积,分组即将input_features进行分组,假设这里将input_features分为三组,每组有四个维度,那么每一组的input_features[1, 4, Hi, Wi], 输出的output_features[1, 2, Ho, Wo],此时每组需要的Kernel[4, 2, K, K], 每组的卷积核参数总量为42KK, 一共有三组,所以分组卷积时卷积核总的参数量为42KK3。参数量是常规卷积的1/3。假设分组卷积分为G组,那么参数量就变为常规卷积的1/G。

分组卷积的作用

  • 减少参数量
  • 有时候可以起到正则化的效果
  • Depthwise Convolution,参见MobileNet和Xception等

深度可分离卷积

当分组数量等于输入map数量,输出map数量也等于输入map数量,即G = N = C , N 个卷积核每个尺寸为1 * K * K时,分组卷积就变成了深度卷积。(用深度卷积主要进行像素的融合)
在这里插入图片描述

三种卷积关系

在这里插入图片描述



这篇关于普通卷积,分组卷积,深度可分离卷积的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程