其他分享
首页 > 其他分享> > 多个卷积层间合并的分析

多个卷积层间合并的分析

作者:互联网

1 经过卷积层前后的变化

假设输入数据为 channel1 × nh × nw 经过一个 kh × kw 的卷积核,步长为 s,padding为 p,则输出的空间维度为 ⌊( nh​ − kh​ + p​​ ) / s + 1⌋ × ⌊( nw​ − kw​ + p​ ) / s + 1​⌋,易知,输出空间存在 ⌊( nh​ − kh​ + p​​ ) / s + 1⌋ * ⌊( nw​ − kw​ + p​ ) / s + 1​⌋ 个单元。

下面用 mh 和 mw 分别代表输出的空间维度,此时输出空间内的一个单元在输入空间上的感受野为 kh * kw,那么输出空间内全部单元的感受野之和为 m* m* kh * kw,而输出空间在输入空间上感受野最大即为输入空间本身,即 nh * nw 。

下面根据不同情况分析(不考虑 padding):

2 卷积核的合并

要保证数个卷积层相当于一个卷积层,要做到两者对相同维度的输入,有相同维度的输出。

因为深度学习中卷积核大小往往大于步长,下面我们只考虑 kh > sh && kw > sw && p == 0 && s== sw 时的情况。

2.1 两个3 × 3卷积核相当于一个5 × 5卷积核

假设输入数据为 channel1 × nh × nw,经过一个 channel1 × 3 × 3 的卷积核,输出的空间维度即为 channel1 × ⌊( nh​ − 3​​ ) / sh + 1⌋ × ⌊( nw​ − 3 ) / sw + 1​⌋。

设 ⌊( nh​ − 3​​ ) / sh + 1⌋,⌊( nw​ − 3 ) / sw + 1​⌋ 分别为 mh 和 mw,再经过一个 channel1 × 3 × 3 的卷积核,输出的空间维度即为 channel1 × ⌊( mh​ − 3​​ ) / sh + 1⌋ × ⌊( mw​ − 3 ) / sw + 1​⌋。

2.2 三个3 × 3卷积核相当于一个7 × 7卷积核

同理,当 s== sw == 1 时,三个3 × 3卷积核相当于一个7 × 7卷积核。

 

2.3 总结

涉及多个卷积层的问题,要先一层层将输入空间维度、卷积核维度、步长代入,一层层计算到最后一层,算出最终输出的空间维度,将其作为结果,与初始输入空间维度联立,根据不同步长,可以得到相应的合并后卷积核。

 

标签:nh,卷积,sw,合并,层间,空间,维度,nw
来源: https://www.cnblogs.com/tangzj/p/15557639.html