Lecture 3 Convolutional Neural Network (CNN)

Lecture 3: Image as input

Convolutional Neural Network (CNN)

Image Classification

image-20220830165254662

如上图所示,假设所有的输入图片的大小都是 100 × 100 100\times 100 100×100,输出一个 one-hot 向量 y ′ y' y,用交叉熵来计算标签值 y ^ \hat y y^ 和输出值 y ′ y' y 间的损失。

如下图所示,计算机在处理图片时,将图片视作三维的 Tensor(图片的宽、高、channel,三个 channel 代表了 RGB 三种颜色、宽和高就代表了图片的解析度也就是像素个数),将图片拉直成向量后就能作为模型的输入,向量中的数值代表了某个位置的某一颜色的强度。

image-20220830171630800

如果选择全连接网络(Fully Connected Network)作为模型,那么输入向量的总长度就是 100 × 100 × 3 100\times 100\times 3 100×100×3。假设第一层神经元(Neuron)的个数是 1000 1000 1000,那么第一次的权重(weight)的个数就是 3 × 100 × 100 × 1000 = 3 × 10 7 3\times 100\times 100\times 1000 = 3\times {10}^7 3×100×100×1000=3×107 个。

image-20220830172149451

Observation and Simplification

我们尝试观察图片中的特点,并基于我们的发现在全连接网络上进行简化工作。

Observe and Simplify 01

观察

image-20220830172410890

我们期待模型能够识别物体(object)的一些特定的模式(pattern)或特征,从而学会分辨物体。如上图所示,模型学习到了鸟的喙、眼和足,从而识别出这是一只鸟。

因此,当模型需要学习一些特定的模式或特征时,我们不需要让每一个神经元都看过一整张图片。一些特定的模式或特征往往比完整的图片要小得多。是否可以只将关键的模式或特征作为输入呢?

简化

我们可以划定一个区域,称作感受野(Receptive Field),每个神经元只关心自己感受野中的数值。如下图所示,一个神经元只负责感受野中的 3 × 3 × 3 = 27 3\times 3 \times 3=27 3×3×3=27 个数值,因此总共需要 27 27 27 个权重再加上一个 b i a s bias bias 即可作为下一个神经元的输入。

image-20220830202534561 image-20220830203833142

关于感受野(Receptive Field):

  • 多个神经元可以作用于同一个感受野;
  • 不同的感受野可以重叠;
  • 不同的神经元可以有不同大小的感受野;
  • 神经元可以只作用于某些通道;
  • 感受野不一定得是正方形。
Receptive Field - Typical Setting
image-20220830204402105

如上图所示,是一个经典的感受野设定:

  • 感受野包含了所有的通道(all channels),一般讨论 kernel size的时候,我们只说宽和高,默认包含了所有的通道,比如一个大小为 3 × 3 3\times 3 3×3 的卷积核;
  • 通常会有一组神经元作用于同一个感受野,比如 64 64 64 128 128 128 个;
  • 通过移动卷积核可以得到一个新的感受野,而移动的这一段距离叫做步长(Stride),步长不会设置得很大,我们希望不同的感受野之间要有重叠,比如 s t r i d e = 2 stride=2 stride=2
  • 如果移动卷积核超出了范围,那么我们需要填充(padding),比如补 0 0 0

Observe and Simplify 02

观察

同样一种模式或特征可能出现在图片的不同位置上,如下图中鸟喙的例子。这些作用于图中鸟喙部分的神经元,他们的作用是一样的,只是作用的感受野位置不同。那么是否每个感受野都需要一个检测鸟喙的神经元呢?当让是不需要的,这样参数量就太大了。

image-20220831082204180

简化

我们希望不同感受野的神经元间能够共享参数(parameter sharing)。如下图所示,两个作用于不同感受野的神经元,它们的参数是相同的;而作用于同一感受野的不同神经元之间是不会共享参数的。

image-20220831083052508
Parameter Sharing - Typical Setting
image-20220831084445135

每个感受野都有一组神经元;不同感受野的神经元共享同一组参数;作用于不同感受野且共享参数的神经元,将这样的共享的参数叫做 filter (滤波器)。

Observe and Simplify 03

观察

对图片进行下采样(subsample)不会改变图中的物品,比如去掉图片中的偶数行和奇数列。

image-20220831092858616

简化

Pooling 池化,Pooling 可以减少计算量,让图片越来越小。

image-20220831100618443 image-20220831100711414

Benefit of Convolutional Layer

image-20220831085907998
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值