Appearance

Lecture 5 - Convolutional Neural Network

byml2024-08-13CV

Convolutional Layer

Filter (receptive field)

  • Filter 会以滑动窗口的方式扫过图像,截取的图像将与 Filter 做点积,然后得到一个数值。例如,输入图像为 32×32×3,Filter 为 5×5×3,那么输出就会是 28×28×1,每次执行的操作是将一个 5×5×3 的张量展平成一个 75 维向量,然后使用 WTx+b 的形式对其进行计算,得到一个输出
  • Filter 并不唯一,同一个卷积层里面可以应用多个 Filter,其思路是使用不同的模板进行匹配。这就导致卷积层的输出最终会是一个 width×height×n 的张量。
  • 卷积层可以串联,在串联情况下,前面的卷积层识别的会是简单的元素(如方向线条),后面的卷积层识别的会是更加抽象的元素(如转角、圆点)
  • 图像宽高均为 N,Filter 宽高为 F,前进的步长为 stride,四周填充了 pad 宽度的 0,则输出的大小是 (N+2×padF)÷stride+1
    • 可以通过添加 pad 的方式,使得输出和输入宽高相同。这可以有效防止在具有多个卷积层的时候图像迅速减小导致的信息丢失。
  • 与全连接层不同,全连接层输出的每一个点关注的是图像整体的特征,而卷积层输出的每一个点,关注的事图像的局部特征。

Pooling Layer

  • 池化的目的是为了缩减图像的大小

Max Pooling

  • 将输入划分成若干个正方形区域,选择每个区域中最大值作为该区域的值,然后计算每个区域得到新的输出
  • 池化层在设置 stride 的时候一般不会有重叠,即 stride 一般设置成 filter 大小

Fully Connected Layer