注:假设已经懂了简单神经网络
1. 卷积神经网络
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。
卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。
2、为什么要进行使用卷积神经网络?
俗话说: “认人先认脸”, 是不是大概其中的含义了, 没理解的话不要紧.
先不用想计算机中是如何实现的,我们在生活中总会有这些场景, 看远处走来的人,总是先看脸识别人(看腿的都是老司机,呵呵!), 因为脸是一个人最明显的特征,在大脑进化过程中已经学到了这点先验知识,所以直接就看脸识别人了,但是计算机可就不这么聪明了,它要识别一个手写数字是几(1?,2?,3?,还是其他识别动物(猫,狗等)),它就会把整个图片做一次运算.
那么问题来了, 对于一张图片(手写数字),它的大小是28*28(像素), 那么识别一遍的过程中就要逐个像素进行计算,最终得到整个图片的特征,然后分出是具体的那个数字,或者是那种动物。那最终的问题就是:
识别图片就要 提取特征, 根据特征分类。放出一张总结图:
3、具体如何操作呢?
看了上面的图,第一感觉就是把一张图片最终变成了一个向量,然后经过神经网络进行了计算,最终分类,是的,就这样。
进行的第一步操作就是
3.1:卷积
卷积:通过两个函数 f(x) f ( x ) 和 g(x) g ( x ) 生成第三个函数的一种数学算子,表征函数f和g经过翻转和平移的重叠部分的面积,数学定义为: