之前我们已经有一个卷积神经网络识别手写数字的代码,执行下来正确率可以达到96%以上。
若是再优化下结构,正确率还可以进一步提升1~2个百分点。
卷积神经网络在机器学习领域有着广泛的应用。现在我们就来深入了解下卷积神经网络的细节。
卷积层,听名字就知道,这是卷积神经网络中的重要部分。
这个部分被称为过滤器(filter)或者内核(kernel)
Tensorflow的官方文档中称这个部分为过滤器(filter)。
在一个卷积层总,过滤器所处理的节点矩阵的长和宽都是由人工指定的,这个节点矩阵的尺寸也被称为过滤器尺寸。
常用的尺寸有3*3或5*5。而过滤层处理的矩阵深度和当前处理的神经层网络节点矩阵的深度一致,所以虽然节点矩阵是三维的,单过滤层的尺寸只需要指定两个维度。
过滤层另一个需要人工指定的设置是处理得到的单位节点矩阵的深度,这个设置成为过滤器的深度.
注意,尺寸说的是指一个过滤器输入节点矩阵大小,而深度是输出单位的节点矩阵深度。
卷积层过滤器(filter)结构示意图。
过滤层向前传播的过程就是就是通过左侧小矩阵中的节点算出单位矩阵中节点的过程。
参考资料:
《Tensorflow+实战Google深度学习框架》6章