卷积神经网络最具特色的地方在于引入了卷积层,这使得数据量降低,进而在计算能力核内存有限的情况下能够实现深层的网络。

卷积核的操作是受生物启发的,它具有局部感知功能。

卷积核的Size代表感受野的大小,卷积核的步长度代表提取的精度:

例如:Size为3的卷积核,如果step为1,那么相邻步感受野之间就会有重复区域,重复区域是两列的数据;如果step为2,那么相邻感受野的重复区域会更少;;如果step为3,那么相邻感受野之间没有重复区域;如果step大于3,那么相邻步感受野之间会有一道大小为1的缝隙,从某种程度来说,这样就遗漏了原图的信息,直观上理解是不好的。

另外,当卷积核step为1时,输出矩阵Size会和输入矩阵Size保持一致(加padding填充周围中后);而卷积核step为2时,由于跨步会导致输出矩阵Size降低为输入矩阵Size的一半。由此会产生一种类似“池化”的效果,利用这一特性可以代替池化层。

例如在ResNet中,每隔几层Layer卷积核step就设置为2,以此替代池化层来对图形的Size进行压缩,完成某种程度上的降维同时减少计算量,而中间层Layer卷积核的大小依然保持为1。

而在上述ResNet的支路中,跳层前后的主路矩阵Size可能会不一致(由于上述压缩导致),这时候通过调整支路卷积核step的大小就能将层前主路矩阵映射成和层后主路矩阵一样的Size,以此保持tensor的正常流动。

当卷积核的step越大的时候,提取的特征会越少,step越小的时候,提取的特征会越多。

【卷积核的大小一般为奇数*奇数】 1*1,3*3,5*5,7*7都是最常见的。这是为什么呢?为什么没有偶数*偶数? 

Stride的作用:是成倍缩小尺寸,而这个参数的值就是缩小的具体倍数,比如步幅为2,输出就是输入的1/2;步幅为3,输出就是输入的1/3。以此类推。