关于group convolution 和 depth-wise separable convolution的理解

关于group convolution 和 depth-wise separable convolution的理解,第1张

关于group convolution 和 depth-wise separable convolution的理解

整体可以参考这里
以下是我的个人理解的补充,方便日后回顾

normal convolution:普通卷积对于每一个输入channel都提供一套卷积参数,例如卷积核为 K ∗ K K * K K∗K,输出channel为 C o u t C_{out} Cout​,则对于每一个输入channel,卷积参数为 K ∗ K ∗ C o u t K * K * C_{out} K∗K∗Cout​。因此如果输入channel为 C i n C_{in} Cin​,则全部参数为 C i n ∗ K ∗ K ∗ C o u t C_{in}*K*K*C_{out} Cin​∗K∗K∗Cout​。group convolution:对于分组卷积,他将输入分组为 G G G组,每组共享卷积参数,因此他卷积的全部参数仅为 ( C i n / G ) ∗ K ∗ K ∗ C o u t (C_{in}/G)*K*K*C_{out} (Cin​/G)∗K∗K∗Cout​。depth-wise separable convolution:第一层卷积:separable convolution,输入channel等于输出channel,相当于深度没有增加,但是每个channel的height和width会有依据kernel_size所改变。第二层卷积:point convolution, C o u t C_{out} Cout​可以自定义,而kernel_size固定为1*1,从而增加卷积深度。依照这样的方法,可以得到和normal convolution相同的输出,参数量减少; 相比于group convolution, 卷积核也 *** 作到了输入的每一层chanel。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5714207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存