卷积神经网络:从基础操作到模型训练
1. 卷积操作的构建模块
在卷积操作中,我们可以以步长为 2(s = 2)从一行/列跳到另一行/列,卷积操作后会得到一个 3×3 的输出。带有步长的输出矩阵维度计算公式为:
[ \left( \frac{n + 2p - f}{s} + 1, \frac{n + 2p - f}{s} + 1 \right) ]
如果计算结果不是整数,我们在 R 中使用向下取整函数。
1.1 三维卷积
对 6×6×3(三维)图像应用卷积时,需要处理颜色“通道”,它是对应红、绿、蓝的三个 RGB 通道的堆叠。为了检测图像中的边缘和其他特征,我们需要一个 3×3×3 的滤波器(三维滤波器),即滤波器的通道数与图像的通道数相匹配。图像通常由其高度、宽度和通道数定义,滤波器也是如此。在这种情况下,输出将是一个 4×4×1 维的图像。
计算这个卷积操作的输出时,我们将滤波器放置在图像的左上角位置。此时滤波器有 3×3×3 = 27 个参数,我们将这些参数与图像红、绿、蓝通道中对应的数字进行点积运算。具体做法是,先取滤波器红色通道的前九个数字,然后是绿色通道和蓝色通道的数字,将它们与图像三个通道中对应的九个数字相乘,将所有这些数字的点积相加,得到输出的第一个数字。然后将滤波器滑动一步,重复相同的过程,直到得到 16 个输出值。
如果我们想检测图像红色通道中的垂直边缘,需要将绿色和蓝色滤波器设置为零。如果不关心边缘的颜色,可以将滤波器设置为如图所示的形式。我们还可以考虑使用多个滤波器,通过不同的滤波器参数选择,我们可以提取不同类型的特征,包括水平和其他角度的边缘。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



