分组卷积在AlexNet中提到,下面是AlexNet前两层的卷积,其中第一层没有使用分组卷积,第二层使用了分组卷积。
在进行分析之前,先插入一个知识点“卷积/池化之后的维度计算”
输入:[in_hight, in_width, in_channal]
卷积操作:
卷积核:[filter_height,filter_width, in_channel, out_channel]
步长:strides=[1, stride[1], stride[2], 1]
padding : SAME 或者 VALID
池化操作:
池化核: ksize=[1, filter_height, filter_width, 1]
步长:strides=[1, stride[1], stride[2], 1]
padding : SAME 或者 VALID
输出:[out_hight, out_width, out_channal]
上面是卷积和池化过程中要用到的参数形式,不管是池化还是卷积,其计算之后的height和width维度计算都遵循下面的式子:
当padding为SAME时:
o u t _ h e i g h t = i n _ h i g h t s t r i d e [ 1 ] out\_height = \frac{in\_hight}{stride[1]} out_height=stride[1]in_hight
o u t _ w i d t h = i n _ w i d t h s t r i d e [ 2