卷积神经网络 CNN 基础概念
目录
一:卷积神经网络
二:局部感受野
三:卷积层
四:池化层
五:激活层
六:全连接层
七:卷积神经网络算法过程
一:卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习(deep learning)的代表算法之一;卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类;卷积神经网络发展迅速,并被应用于计算机视觉、自然语言处理等邻域
二:局部感受野
人类对外界的认知一般是从局部到全局,先对局部有感知的认识,再逐步对全体有认知,这是人类的认识模式;
在图像中的空间联系也是类似,局部范围内的像素之间联系较为紧密,而距离远的像素则相关性较弱;
因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息
卷积神经网络-权值共享:
每个神经元只与前一层的局部神经元相连;
层数越多需要计算的参数就越多
权值共享:每个神经元的w值都是一样的
CNN卷积神经,经过一系列操作识别
如下示例
特征比对:不同的位置角度,有不同的比对结果
三:卷积层
卷积层的作用:提取图片的每个小部分里具有的特征
假设有一个尺寸5*5的图像,每一个像素点都存储着图像的信息;
再定义一个卷积核(3*3)(相当于权重),,用来从图像中提取一定的特征;
卷积核与数字矩阵对应位相乘再相加,得到卷积层输出结果
卷积过程
把图片的每一个可能的位置都用卷积核进行尝试,相当于把这个特征 变成了一个过滤器;这个用来匹配的过程就称为卷积操作,如下实例
卷积输出
通过每一个卷积核的卷积操作,会得到一个新的二维数组(feature map),其中的值,
越接近1表示对应位置和feature的匹配越完整,
越是接近-1,表示对应位置和feature的反面匹配越完整,
值越接近于0的表示对应位置没有任何匹配或者说没有任何关联
四:池化层
池化:将输入图像进行缩小,减少像素信息,只保留重要信息,也就是提取重要的特征信息
通常情况下,池化区域是2*2大小,然后按照一定的规则转换为相应的值,
例如取这个池化区域内的最大值(max-pooling)、平均值(mean-pooling)等,以这个值作为结果的像素值,大致效果如下
五:激活层
激活层(ReLU),激活函数的作用是用来加入非线性因素,把卷积层输出结果做非线性映射
常用的激活函数有sigmoid、tanh、relu等等,
前二者sigmoid/tanh比较常见于全连接层,后者ReLU常见于卷积层
激活层,特点是收敛快,求梯度简单;计算公式也很简单,max(0,T),
即对于输入的负值,输出全为0,对于正值,则原样输出
过程实例如下
单层卷积神经网络:卷积 + 激活 +池化 组合在一起,如下
六:全连接层
全连接层:在整个卷积神经网络中起到“分类器”的作用,则通过卷积、池化等深度网络后,再经过全连接层对结果进行识别分类
卷积神经网络是属于监督学习,在模型训练的时候,根据训练样本对模型进行训练,从而得到全连接层的权重
七:卷积神经网络算法过程
主要4步,两阶段
1.向前传播过程
从样本集中提取(X,Y),将X输入网络
计算相应的实际输出OP
在此阶段,信息从输入层经过逐层变换,传送到输出层,输入层与每层的权值矩阵点乘,得输出
2.向后传播阶段
计算实际输出和理想输出的差值
按极小误差反向传播调整权值矩阵