我真的没能力留住每个我不想失去的人。

李宏毅2021春机器学习-第三节-CNN

在影像辨识时如果使用fully connection,会导致参数过多,从而导致网络弹性过大容易出现over fitting的问题。

1. Simplification 1

simplification

通过划分receptive field,每个神经元只考虑自己负责的receptive field(通常一个receptive field有多个神经元守备)。receptive field可以是不同的尺寸、不同的通道、不同的形状。

  • Typical Setting

typical_setting

Kernel size Receptive field尺寸 3x3
Stride 移动的距离,希望Receptive field可以重叠 1、2
Padding 超出影响范围之外的地方进行补值 0或者边界值或者均值

2. Simplification 2

同样的pattern出现在不同的地方,导致Neural出现重复。

在影像系统上让同一个Neural处理多个Receptive field,这些Neural之间共享参数(parameters sharing)。

parameter_sharing

  • Typical Setting

    filter

    这些共享参数的名称为filter,图中的球为不同的neural。

3. Benefit of Convolutional Layer

benefit_convolutional_layer

$Convolutional Layer=Receptive Field+Parameter Sharing$

Fully Connected Layer 可以进行各种变化,但无法在特定的问题上做的更好。

Convolutional Layer专门为image设计。

model bias小+模型的flexibility很大的时候容易over fitting。

4. Convolutional Layer

通过使用Filter与图像相乘,得到一个future map(多少个filter就产生多少组future map)。

future_map

图像通过一个Convolutional Layer后变成一个有n(n为当前层的Filter的数量)个Channel的Future Map。

随着network越来越深,每一个Receptive filed的范围将会对应原始图像上越来越多的点。

5. Pooling-Max Pooling

将Future Map中的值按照指定尺寸分组,将其中最大的数值挑出其中的最大值,以此来减小图片的尺寸。

通常情况下做几次Convolution做一次Pooling。Pooling会丢失某些细节,减小运算量。

7. CNN的网路结构

cnn

其中Flatten的作用是将Pooling后的矩阵拉直,然后放入网络中。

添加新评论