BiribiriBird's Gallery.

李宏毅机器学习L3 · Image as input

字数统计: 663阅读时长: 2 min
2024/07/27
loading

L3. Image as input

ML 2022 Spring (ntu.edu.tw)

https://www.bilibili.com/video/BV1J94y1f7u5

原则

局部性

  • 图片的识别往往需要注意一小块的特征
image-20240727181929979
  • 就算是人类也会根据局部特征,被误导进行分类(其实这是一只猫而不是一只鸟)

  • 图像会被切分成多个感受野,感受野之间需要有所重叠(否则会遗失边界上的信息)

image-20240727182325873

  • 因此我们需要用感受野覆盖整个图像

  • 用一组神经元,识别同一个感受野,即负责这一块区域的图像识别

平移不变性

image-20240727201934526
  • 同一个特征可以出现在不同的位置,因此理论上识别同一个特征的单元应该有相同的参数
image-20240727202440749
  • 对于同一个感受野,它应该携带多个神经元,即多个识别单元filter,以识别不同的特征
  • 不同感受野的同一个filter,需要共享参数

卷积神经网络

卷积层

我们从一般的全连接神经网络出发,引入了两个限制

  • 一组神经元只会接受图片上一块区域的张量(感受野)
    • 断掉了这些神经元与其他位置的连接
  • 不同组神经元的同一类识别单元需要共享参数

此时我们相当于对MLP大砍一刀,变成了一个限制非常大的神经网络,即卷积层

  • 但实际实现我们其实对于一个filter,就是一个卷积核,直接让它扫一遍整个图像即可

一个卷积核会产生一个新的通道

image-20240727205533086
  • 如图,同样一个3*3的卷积核,恢复到原图像中,会对应上超过9个以上的像素

  • 随着深度增加,一个卷积核的真实感受野也会变大

池化层

  • 大量的卷积核,产生大量的通道,因此对于原图像的尺寸来说参数会非常多

  • 我们考虑通过池化缩减原图像尺寸(通道数不变)

  • Max、Mean Pooling

image-20240727210158517

在计算量足够的时候,不一定需要使用Pooling(会丢失很多信息)

数据增强

旋转、缩放图像,可能会使得CNN变得很差

所以推荐在训练前使用数据增强

Spatial Transformer Layer

但我们为什么不直接在网络结构中加一个层呢

详细解读Spatial Transformer Networks(STN)-一篇文章让你完全理解STN了-CSDN博客

没学太明白,知道个大概

CATALOG
  1. 1. L3. Image as input
    1. 1.1. 原则
      1. 1.1.1. 局部性
      2. 1.1.2. 平移不变性
    2. 1.2. 卷积神经网络
      1. 1.2.1. 卷积层
      2. 1.2.2. 池化层
      3. 1.2.3. 数据增强
      4. 1.2.4. Spatial Transformer Layer