CNN 卷积神经网络 Convolutional neural network
- [1. CNN 和 传统神经网络的差别](#1. CNN 和 传统神经网络的差别)
- [2. CNN 的结构](#2. CNN 的结构)
- [3. 卷积层](#3. 卷积层)
- [4. strides 步长](#4. strides 步长)
- [5. Padding](#5. Padding)
- [6. ReLu](#6. ReLu)
- [7. Pooling(sub-sampling layer)](#7. Pooling(sub-sampling layer))
- [8. 全连接层](#8. 全连接层)
- [9. 三通道特征图](#9. 三通道特征图)
- 10.总结
1. CNN 和 传统神经网络的差别
传统神经网络不考虑图片的空间结构,CNN通过卷积层和池化层考虑了图片的空间结构。
2. CNN 的结构
INPUT-CONVOLUTIONAL-RELU-POOL-FC
3. 卷积层
在卷积神经⽹络(CNN)中,卷积层是最核⼼的组成部分。卷积的本质就是通过不同的滤器(filter or kernal),多⾓度捕捉图⽚的信息从⽽学习特征,卷积层负责从输⼊图像中提取局部特征,这些特征随着⽹络层级的增加⽽逐渐变得更抽象和复杂。
- 局部感受野:卷积操作是通过⼀个⼩的滤波器(或卷积核)在输⼊图像上滑动来实现的。这个滤波器只覆盖图像的⼀个⼩区域(局部感受野)。
- 特征映射:每次滤波器滑过⼀个局部区域时,都会进⾏⼀次点乘和求和操作,⽣成⼀个新的像素值。这样,滤波器便从输⼊图像中提取出⼀个特征映射(或特征图)。
1×1+1×0+1×1+0×0+1×1+1×0+0×1+0×0+1×1=4.
在cnn中,过滤器不是预先设计来检测特定类型的特征,它们的值是在反向传播算法的训练过程中学习的。一个典型的卷积层包含许多过滤器,每个过滤器检测一个不同的特征。
4. strides 步长
水平和垂直步幅。
沿着图像(stride)像素移动滤镜。
更大的步长产生更小的特征图。
5. Padding
Padding可以更好地覆盖图像周围的图像和特征提取。
如果下一个strid将使过滤器达到图像之外,用零填充图像外的区域。
6. ReLu
7. Pooling(sub-sampling layer)
- 总结上一层的输入
- 减少参数的数量,并有助于防止过拟合
- 提高了对接收野移位的鲁棒性。
- Max Pooling 和Average Pooling分别是选择最大的值和选择平均值作为池化层的输出
哪种池化的方法好取决于给到的任务. MP会保留⾼频信息,选择特征图中像素值最大的, 所以特别适合较黑的图像中的特征识别. 而AP会使得特征图更加平滑, 减少细节和噪声.
在卷积神经⽹络(CNN)中,池化层通常⽤于减⼩特征图的尺⼨,以减少模型的计算复杂性。同时,池化操作也能增加模型对于⼩的平移和变换的鲁棒性。减⼩尺⼨:池化操作通常会减⼩特征图的尺⼨,从⽽减少后续层需要处理的数据量。增加鲁棒性:池化层能提⾼模型对⼩的平移、旋转和尺度变化的鲁棒性。特征压缩:通过池化,⼀些⾮必要的信息(通常是低层次的、⾼频的信息)会被丢弃,⽽更重要的全局信息会被保留。减少了特征图的尺⼨,有助于减少模型的参数和计算量,使模型更易于训练。
8. 全连接层
在CNN的最后,我们附加了1个或更多的全连接层。
第一个FC层接收最后一层的输出,该层要么是卷积的,要么是池化的
要做的第一件事是使输出展平。
9. 三通道特征图
将三个通道的特征图相加得到最终特征图
10.总结
- cnn是为图像数据设计的,但也可以应用于其他数据类型
- 关键要素:卷积、池化和全连接层
- 卷积层提取特征
- 池化层汇总来自卷积层的信息,减少参数数量以防止过拟合,并提高对数据移位的鲁棒性。
- 全连接层结合提取的特征,输出每个类的概率。
- cnn在图像处理和计算机视觉任务方面非常成功。