卷积神经网络原理,理解卷积神经网络( 五 )


这种模式就是卷积神经网络中降低参数数目的重要神器:局部感受野 。2)提取特征如果字母X、字母O是固定不变的,那么最简单的方式就是图像之间的像素一一比对就行,但在现实生活中,字体都有着各个形态上的变化(例如手写文字识别),例如平移、缩放、旋转、微变形等等,如下图所示:我们的目标是对于各种形态变化的X和O,都能通过CNN准确地识别出来,这就涉及到应该如何有效地提取特征,作为识别的关键因子 。
回想前面讲到的“局部感受野”模式,对于CNN来说,它是一小块一小块地来进行比对,在两幅图像中大致相同的位置找到一些粗糙的特征(小块图像)进行匹配,相比起传统的整幅图逐一比对的方式,CNN的这种小块匹配方式能够更好的比较两幅图像之间的相似性 。如下图:以字母X为例,可以提取出三个重要特征(两个交叉线、一个对角线),如下图所示:假如以像素值"1"代表白色,像素值"-1"代表黑色,则字母X的三个重要特征如下:对其进行特征匹配计算的方法不在这里阐述 。
CNN(卷积神经网络)相比较普通的神经网络,是不是只有“降低计算量”这一个优势?
首先纠正一个问题,CNN并没有降低计算量,因为CNN通常处理的都是图像数据,因此,需要的计算量反而相当的大,需要专业的显卡支持其计算 。既然问出这个问题,我猜你应该是对CNN的共享权重没有理解透彻,你以为cnn共享权重相对于普通网络降低了计算量,当然不能说没降低,但是其目的可不是为了降低计算量 。简单的问题采用全连接的方式是可以的,但牵扯到图像,动则上千万像素这个量级的问题,全连接明显是不可能的 。
那为何CNN会共享权重呢?这与我们大脑的对图像处理的机制有关,我们大脑处理图像绝不是DNN(深度神经网络)的一个点一个点处理的方式 。举个例子,下面这张图,我们第一眼看到并开始分析的决对不会是像素点(你非要说你就是看像素点我就没办法了),而是对图做了分类如颜色角度整张图偏暖色,头发偏黑色;从生物角度讲里面还有个人,在从人的细节是一个年轻的瘦瘦的性感的长发的戴帽子的大眼睛的高鼻梁的露肩外国女人;在从底层一点分析,有镜子的反射轮廓,帽子轮廓,人的轮廓等等 。
这说明啥,这说明我们在第一眼看到这幅图像时,我们的右脑已经自动将整幅图分解成各个类别的集合 。如人类的特征集合、帽子特征集合、环境特征集合 。看到大眼睛、紧致皮肤、俊俏面庞、长发我们会连想到“美女”,没有人会把这些特征和其他特征联系在一起,因此这些集合是共享的 。Cnn正是从我们大脑的运行方式学来的方法,权重共享只是模拟大脑的一种方法,并不是为了减小计算量,并且牵扯图像的,计算量都非常大 。

推荐阅读