文章目录
前言
以卷积神经网络(CNN)为代表的深度学习方法实现对象识别与分类,是把特征提取完全交给机器、整个特征提取的过程无需手工设计、全部由机器自动完成。
一、CNN是什么?
CNN的目的是以一定的模型对事物进行特征提取,而后根据特征对该事物进行分类、识别、预测或决策等。在这个过程里,最重要的步骤在于特征提取,即如何提取到能最大程度区分事物的特征。如果提取的特征无法将不同的事物进行划分,那么该特征提取步骤将毫无意义。而实现这个伟大的模型的,是对CNN进行迭代训练。
二、CNN的结构
CNN网络一共有5个层级结构:
- 输入层
- 卷积层
- 激活层
- 池化层
- 全连接FC层
1.卷积层
一幅1000*1000的图像,那么它的输入数据将达到10的六次方,可以利用空间结构关系有效地降低输出尺度,进而减少模型所需要学习的参数量,提高算法的训练效率。而且,第一个卷积层会直接接受图像像素级的输入,每一个卷积操作只会处理一小块图像,每经过一次卷积核所得到的新的图像像素都是对原图像最有效的特征提取。
2.池化层
池化层的作用是保留最显著的特征,一般常用最大池化法和平均池化法。
卷积层和池化层中过滤器移动的方式是相似的,唯一的区别就是卷积层使用的过滤器是横跨整个输入节点矩阵的深度,而池化层使用的过滤器只影响一个深度上的节点。所以池化层的过滤器除了在长和宽两个维度移动,还需要在深度这个维度上移动。
3.激活函数
激活函数是向神经网络中引入非线性因素,通过激活函数神经网络就可以拟合各种曲线。激活函数主要分为饱和激活函数(Saturated Neurons)和非饱和函数(One-sided Saturations)。
非饱和激活函数的优势(如ReLU):
1.非饱和激活函数可以解决梯度消失问题。
2.非饱和激活函数可