深度学习中的各种卷积总结
在深度学习中,卷积是一个非常重要的概念,卷积也是卷积神经网络拥有良好的图像处理能力的关键。这篇文章将介绍一下不同类型的卷积,为了简单起见,本文只关注于二维的卷积。首先我们先回忆一下卷积的基本概念:
卷积核大小(Kernel Size):卷积核的大小定义了卷积操作的感受野。在二维卷积中,通常设置为3,即卷积核大小为3×3。
步长(Stride):定义了卷积核遍历图像时的步幅大小。其默认值通常设置为1,也可将步幅设置为2后对图像进行下采样,这种方式与最大池化类似。
填充(Padding):定义了网络层处理样本边界的方式。当卷积核大于1且不进行边界扩充,输出尺寸将相应缩小;当卷积核以标准方式进行边界扩充,则输出数据的空间尺寸将与输入相等。
输入和输出通道(Channel):构建卷积层时需定义输入通道 I I I,并由此确定输出通道 O O O。这样,可算出每个网络层的参数量为 I ∗ O ∗ K I*O*K I∗O∗K,其中 K K K为卷积核的参数个数。例如,某个网络层有64个大小为3×3的卷积核,则对应 K K K值为 3×3 =9。
参考论文:
01 Paper: A guide to convolution arithmetic for deep learning
02 Paper:Multi-Scale Context Aggregation by Dilated Convolutions