文章目录
前言
- CNN的目标:分类
- CNN的应用:专门应用于图像
- 缺点:CNN不能处理影像放大、缩小、旋转的问题。
一、CNN是对Fully Connected Network的简化
(一)Receptive Field 感受野
- Receptive Field 可以任意定义大小,彼此之间可以重叠,可以选择不同的channel,可以设置成长方形等不同的形状
- 经典Receptive Field安排方式:3×3的kernel size + 所有channel的深度
- kernel size:Receptive Field的高和宽(因为深度肯定是涵盖所有channel的)
- channel:RGB、HSV等颜色通道
- stride:Receptive Field的间隔距离,卷积的步长,一般为1/2
- padding:将超出部分补值,可以是零、平均值和其他数字。
- 一个Receptive Field会有一组neurons来守备
(二)Parameter sharing 共享参数
- 每一个Receptive Field都有许多neuron来守卫,每个neuron负责跟不同的pattern(图案)做类比。如果让不同Receptive Field的neuron共享参数,因为它们守备不同的领域,所以会输出不同的参数,达到简化Fully Connected Network的效果。
- filter(滤波器):共享参数的一组neuron
二、Convolutional Layer(卷积层)
(一)Convolution 卷积
- 另一种理解CNN的方式:设置不同的Filter,将Filter放在不同的Receptive Field做内积来做分类(看图片中有没有这个Filter代表的pattern)
- Feature Map(特征图谱):当一张图片通过一个Convolutional Layer(所有的Filter)产生出的一组图片,它的channel不是原本的RGB。而是Filter的个数。
- Convolution:用Filter扫过一张图片
(二)Pooling 池化(选择性用)
- Pooling:将Feature Map进行简化
- Max Pooling:将Feature Map进行分组,然后选择每组中的最大值。
(三)CNN完整过程
- flatten(拉直):将矩阵拉直为一个向量