卷积神经网络各层次的作用
卷积就是特征提取器
卷积
通常一张照片是有RGB三维度的,而每一维度的像素点也是很多的,假设为10000,而10000个像素点如果全部进入全连接层,则总共需要训练的参数有 3*10000*10000+10000个参数,这无疑是庞大的计算量。所以人们在此基础上引入了卷积神经网络,从而减少这类的计算量。
卷积层的是对输入的原始数据进行特征提取,在这里是用卷积核对数据进行线性计算,同时进行平滑移动,并且卷积核的权重是可以学习的。
如,输入的数据是3*32*32的图片(即RGB三通道的32*32像素点的图片),第一层卷积层就是96*3*3*3(即96个3通道的3*3的卷积核)卷积核,步长为1,这张图片在第一层卷积层中要计算96次的卷积核计算,即对每个输出通道(96个输出通道)分别进行卷积操作,再将这96个输出通道叠加在一起,而输出尺寸是(32-3+1)/1=30,即最终的输出维度是[96,30,30],96个卷积核所用的参数是3*3*3(一个卷积核的参数)*96+96(偏置数)=2688个。
同时要记住:96个通道互相独立,代表着不同卷积核提取的不同特征,没必要把他们加起来变成一个矩阵。
而卷积计算的过程也如上图中展示的那样,要识别数字2的话可以用这么一个3*3的卷积核去比对,这张图可以更好的展示如何提取特征,相较于现在网上的直接矩阵相乘更形象。而且在这里也可以理解出来为什么需要多层卷积层, 多个卷积堆叠就是不断地对图像、特征图进行卷积计算,越深的网络抽象能力就越强,提取的信息也愈加复杂、抽象,但并不是越深越好,太深的网络会造成梯度消失或梯度爆炸。最开始的层对简单的边缘有响应,接下来的层对纹理有响应,再后面的层对更加复杂的物体部件有响应。也就是说,随着层次加深,神经元从简单的形状向“高级”信息变化。换句话说,就像我们理解东西的“含义”一样,响应的对象在逐渐变化。 比如这里可能只是对2的边缘进行卷积计算,后续卷积层可能对2的大小或者旋转等进行卷积计算。
特别是随着卷积层的深度不断增加,特征图的尺寸就会不断减少,这时候可以增加卷积核的个数来增加特征图的深度,保持信息的承载力。
批标准化
批标准化也叫批归一化。是对一小批数据(batch),做标准化处理, 使数据符合0均值,1为标准差的分布。(因为神经网络对0附近的数据更敏感) 。常用在卷积操作和激活操作之间。
跟归一化不同的是:归一化处理是在一开始输入数据时候的操作,而批标准化是网络中的各层输出进行的操作。
批标准化操作使得原本偏移的特征数据,重新拉回到0均值,使进入激活函数的数据分布在激活函数线性区,使得输入数据的微小变化,更明显的体现到激活函数的输出,提升了激活函数对输入数据的区分力。
激活
卷积操作等于说是限定了解的空间(提取图片的特征),不加激活函数的话,实际上还是等价于全连接层。所以要在这之间添加非线性的激活函数,把函数拟合成更复杂的形式,如果不添加就是个线性函数,没办法拟合高维数据。
卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则将学到的“分布式特征表示”映射到样本标记空间的作用。
池化
池化是对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。 其实也就是通过最大池化或均值池化方法来删掉某些参数。卷积其实是提取特征(通过卷积核计算将图像的边缘特征提取出来,参数并没有删除掉,而是“卷积计算”出来了);池化则是再压缩特征图,提取主要特征。
丢弃
为了缓解神经网络过拟合,常把隐藏层的部分神经元按照一定比例从神经网络中临时舍弃,在使用神经网络时,再把所有神经元恢复到神经网络中。即训练时,一部分神经元不参与神经网络训练。
标签:卷积,各层次,神经网络,特征,计算,激活,96 From: https://www.cnblogs.com/zwl-/p/16770743.html