本文重点
我们前面学习了使用不同大小的滑动窗口来滑动图片,然后切分成许多小的图片,然后依次应用到我们已经训练好的图像分类模型中,但是这种方式效率太低了,本节课程我们学习一种新的方式,来看一下如何并行识别这些剪切的图片。
原始结构
首先我们先来看一下,如何把神经网络的全连接层转化成卷积层,现在有一个已经训练好的卷积神经网络,前面是卷积层,后面是全连接层。
当输入到该模型一个14*14*3的图片,它的维度是如何变化的?
首先它经过16个5*5*3的过滤器,此时输出变为10*10*16的图片,然后通过参数为2*2的最大池化操作,图像减少到5*5*16,之后连接一个400个单元的全连接神经网络,然后又是一个400单元的全连接神经网络,最后softmax输出y,用 4 个数字来表示,它们分别对应4 个分类出现的概率,这 4 个分类可以是行人、汽车、摩托车和背景或其它对象。
结构变换
现在我们能够使用卷积层来完成全连接神经网络一样的效果吗?也就是说如何把如上所示的卷积神经网络中的全连接层转化为卷积层?
首先这个新的卷积神经网络的卷积层和以前的结构是一样的。而对于第一个全连接层,我们可以用400个 5×5*16 的过滤器来实现, 输出维度就是 1×1×400,我们不再把它看作一个含有 400 个节点的集合,而是一个 1×1×400的输出层。从数学角度看,它和全连接层是