深度神经网络——卷积神经网络
普通的全连接神经网络,因为参数过多,训练时间久,也会出现过拟合的现象,故出现了卷积神经网络。即使层数很多,但参数大大减少。在前面几层不是每个神经元都相互连接,并且出现共用权值的现象,只有在最后几层才会有全连接神经网络
最常见的有处理图像的卷积神经网络:
图像的组成
图像其实就是矩阵,每个像素点就是一个值。
现在的图像(JPG格式,PNG格式,BMP格式)都是三通道的,即每个像素都由3个值(红黄蓝)构成,每个值的范围是0~255,一个像素点若是(0,0,0)构成则是白色,(255,255,255)构成则是黑色。
卷积
卷积的目的是提取特征,卷积核就是一个n*n的权重矩阵,通常是3*3,7*7,卷积核在图像矩阵上滑动,卷积核对应的图像矩阵上的值与卷积核上的权重相差然后再相加,得到的值放在卷积核中心位置对应的图像矩阵上的位置,这样滑动之后得到一个新矩阵。如果是三通道的图像,则有3个卷积核,记为一组卷积核,最后得到3个矩阵,然后3个矩阵相加得到1个矩阵。
卷积核可以有N组,这样最后得到N层深的矩阵
卷积核的步长就是卷积核在图像矩阵上一次滑动的距离,通常是1或者2
举例:224×224×3的矩阵,3×3×3的卷积核,共有64组,步长为1,卷积操作后最终得到222×222×64的矩阵,共有3×3×3×64个参数
填充
就是在图像矩阵的周围上填充n圈0,使得原来的图像矩阵变大
池化
池化的目的是简化运算,有max-pooling和average-pooling两种池化,池化核的定义和卷积核差不多,但通常是2×2的,max-pooling是取池化核中最大的那个数,average-pooling是取池化的数的平均数
举例:6×6的矩阵,2×2的池化核,步长为1,池化操作后最终矩阵大小为3×3,这样减少了矩阵的大小,也能提取重要的特征
经典模型
- LeNet
- AlexNet
- VGGNet
- googLeNet
- ResNet