上一篇文章实现了用全连接层神经网络手写数字识别,但是全连接层神经网络有一个缺点就是:假设我是32323的RGB图片,如果我的第一层全连接层是500个节点,那么我需要的参数就是32323*500+500一共需要150多万个参数,这样会导致计算过慢以及过拟合的问题。
于是就有了卷积神经网络的算法。
卷积神经网络也有全连接层,但是在全连接层之前它加入了卷积层和池化层达到了减少计算参数的作用
卷积层是卷积神经网络的重要组成部分,又被称为过滤器(Filter)。
过滤器所处理的节点矩阵的长和宽需要由人工指定,这个节点矩阵也被称为是过滤器的矩阵。RGB的节点矩阵是三维的,但是其过滤器尺寸是二维的。我们可以通过控制过滤器的深度来设置输出节点矩阵的深度。比如:如果我们希望RGB图片输出的深度也是三,我们过滤器的深度就需要是3。 这就是一个RGB图像进行过滤之后的操作,最后相应深度矩阵相乘的结果加上偏置就是对影1*1矩阵的值。
对照着demo看一下就能看懂了
首先明确一点池化层也是一种过滤器Filter。卷积层是加权求和加偏置,池化层更加简单就是在当前池化的size下选择最大值(max pooling)或者平均值(average pooling) 假如这是一张RGB图片,我们在三个维度的每一个维度都选择出最大值,其实也就代表着我们选择了分辨能力最大的像素点。很好理解。
参数解释: actived_conv:卷积层计算好的参数 ksize:池化层窗口大小 strides:步长
全连接层是卷积神经网络的最后一层,可以参考文章手写数字识别
author: specyue@mail.ustc.edu.cn 欢迎交流
github:https://github.com/zhangyuespec/AI