卷积神经网络简介
卷积神经网络CNN是一类包含卷积计算且具有深度结构的前馈神经网络。
CNN的发展史
卷积层
卷积:在原始的输入上进行特征提取,并且是在原始输入上一小区域一小区域进行特征提取。
上图中,左方块是输入层,尺寸为32*32的3通道图像。右边的小方块是filter,尺寸为5x5,深度为3。将输入层划分为多个区域,用filter这个固定尺寸的助手,在输入层做运算,最终得到一个深度为1的特征图。
上图使用了6个filter分别卷积进行特征提取,最终得到6个特征图。将这6层叠在一起就得到了卷积层输出的结果。
矩阵经卷积操作后的尺寸
在卷积操作过程中,矩阵经卷积操作后的尺寸由以下几个因数决定:
·输入图片大小 W * W
·filter大小 F * F
·步长(stride) S
·padding的像素数 P(P等于n表示在图像外围加了n圈0)
经卷积后的矩阵尺寸大小计算公式为:
N = (W - F + 2P) / S + 1
权值共享
在卷积神经网络中,有一个非常重要的特性: 权值共享
所谓的权值共享就是说,给一张输入图片,用一个filter去扫这张图,filter里面的数就叫权重,这张图每个位置是被同样的filter扫的,所以权重是一样的,也就是共享。
池化层
池化层不改变特征图的深度,只改变特征图的大小
池化就是对特征图进行特征压缩,池化也叫做下采样
下图展示最大池化下采样:
卷积神经网络的一个过程实例
反向传播
上面都是讲的前向传播
那么反向传播其实就是更新节点权值的一个过程