一般一个神经网络的一层包括一个卷积和一个池化,这里主要讲述对输入和输出的尺寸的理解:

一、卷积

首先input输入矩阵,weight权值矩阵(滤波器)如下图429是由weight与input对应位置相乘再相加得到。

快速理解卷积神经网络的输入输出尺寸问题

然后是步长stride和边界padding

像我们在上面看到的一样,过滤器或者说权值矩阵,在整个图像范围内一次移动一个像素。我们可以把它定义成一个超参数,从而来表示我们想让权值矩阵在图像内如何移动。如果权值矩阵一次移动一个像素,我们称其步长为 1。下面我们看一下步长为 2 时的情况:weight从右下角的204跳过113直接移步到109

快速理解卷积神经网络的输入输出尺寸问题

可以看见当我们增加步长值的时候,图像的规格持续变小。在输入图像四周填充 0 边界可以解决这个问题。我们也可以在高步长值的情况下在图像四周填加不只一层的 0 边界。如下图:weight中心直接放到18然后依次54,51(stride=1时)

快速理解卷积神经网络的输入输出尺寸问题

不填充0时为valid padding,填充0时为same padding (输入输出图像大小相同)

下面是三维立体卷积:

一幅图像不仅有灰度特征,有时我们也想检测它的彩色特征(RGB),我们假设一幅图像为6*6*3,这里的 3 指的是三个颜色通道,用nc表示。你可以把它想象成三个 6×6图像的堆叠。为了检测图像的边缘或者其他的特征,不是把它跟原来的 3×3 的过滤器做卷积,而是跟一个三维的过滤器,它的维度是 3×3×3,这样这个过滤器也有三层,对应红绿、蓝三个通道。

快速理解卷积神经网络的输入输出尺寸问题

注意4*4中第一个数是由27个数字相加得到,二这27 个数字是由weight对应6*6*3中的左上角的3*3*3立方体对应相乘得到。

这里讲一个输出维度计算问题:

快速理解卷积神经网络的输入输出尺寸问题

二、池化层

有时图像太大,我们需要减少训练参数的数量,它被要求在随后的卷积层之间周期性地引进池化层。池化的唯一目的是减少图像的空间大小。池化在每一个纵深维度上独自完成,因此图像的纵深保持不变。池化层的最常见形式是最大池化(还有均值池化等等)。

如下图:nc两个术语,通道或者深度

快速理解卷积神经网络的输入输出尺寸问题


相关文章:

  • 2021-05-09
  • 2021-06-26
  • 2021-09-29
  • 2021-12-19
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2021-07-13
猜你喜欢
  • 2021-07-20
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
  • 2021-11-14
相关资源
相似解决方案