如下图所示一个典型的人工神经网络:
张俊海,解放军306医院,神经外科,转
人工神经网络同样能应用到计算机视觉中,但是对于一副图像来说,假如其大小为227*227*3,即使对其做采样到32*32*3其输入的维度依然很高。如果用人工神经网络来对图片进行分类的话,它将面临这主要的两个问题:
w参数的量级将会非常大,会消耗大量的计算资源
将会引起过拟合
怎样解决上述的问题呢,答案也就是我们的卷积神经网络了。
从上图中可以看到,其主要的层次结构有几下的几种:
1. 数据输入层/ Input layer
2. 卷积计算层/ CONV layer
3. ReLU激励层 / ReLU layer
4. 池化层 / Pooling layer,也成为下采样层
5. 全连接层 / FC layer
6. Batch Normalization层(可能有)
下面对其进行介绍。
数据输入层( INPUT layer)
常见的数据输入层的操作分为:
1. 去均值
把输入数据各个维度都中心化到0
2. 归一化
幅度归一化到同样的范围
3.PCA/白化
用PCA降维
白化是对数据每个特征轴上的幅度归一化
在对图像进行处理的时候只用做去均值操作即可,因为R,G,B三个通道的数值都是在(0,255)之间的数,不必做归一化处理。
如下图所示的不同方式的处理效果:
卷积层( CONV layer)
其实卷积层做的工作非常的简单,熟悉图像处理的同学应该知道卷积就是用一个模板作用于一副图像上,然后模板边滑动边与图像进行点乘的操作.
关于卷积的更多操作可以参考:
基于OpenCV底层实现均值滤波,中值滤波和高斯滤波
卷积层做的工作就是用许多的卷积模板,卷积层中的神经元对图像做卷积的操作。如下图所示:
上图中的蓝色圈圈表明的是一个个神经元,也就是参与卷积的核。
深度就是神经元的个数。
步长就是卷积核在图像上滑动的大小。
注意为什么需要填充值呢?
如果不对图像进行填充,则图像会变小,信息会减少
是卷积核能够从左边滑到最右边
计算的过程如下图所示(卷积过程):
因为加入了卷积的机制,其具有如下特性:
1. 参数共享机制
假设每个神经元连接数据窗的权重是固定的,即我们可以看到,一个神经元的权重W是不变的,其和图像进行卷积。
2. 固定每个神经元连接权重,可以看做模板
每个神经元只关注一个特性
3. 需要估算的权重个数减少
这个很容易理解,如果没有卷积的话,那么每一个像素都会有一个权重,而加入卷积,则大大减少了权重的个数。如AlexNet 1亿 = 3.5w
激励层(ReLU)
将卷积层输出的结果做非线性的映射。如下图所示一些常用的激励函数:
其中,人工神经网络中重用sigmoid函数,而卷积神经网络常用的是 sigmoid的缺点。
从 sigmoid函数的图像中可以看到,如果x稍微大点的话,其值接近为1,则在进行反向传播算法的过程中对其求导的导师非常的接近0,因此会导致梯度为0的 梯度消失的现象。同时在图中可以看到 ReLU训练的非常快,因此要小心的使用。池化层( Pooling layer)
池化层是夹在连续的卷积层之间的层次,其主要的工作是用来对数据进行下采样,从而压缩数据和参数哦的量,减少过拟合。
池化层常用的两种方法为:
1. Max pooling
2. average pooling
其类似于卷积的操作,如下图所示:
因此其可以实现压缩数据和减少过拟合的问题。
全连接层( FC layer)
即人工神经网络中的层级结构,两层之间所有的神经元都有权重的连接,通常全连接层在卷积神经网络的尾部。
卷积神经网络的训练算法其同人工神经网络类似,定义Loss Function,表达其输出与输入的损失,然后最小化该损失。其用SGD(随机梯度下降)更新w,b的值,用 BP算法进行误差的反向传递。
可以参考:从感知机到 人工神经网络正则化与Dropout
如何防止过拟合问题是机器学习中的一个重要的问题。正则化,其实就是损失函数加上一个惩罚项,其具有L1,L2等正则项。
关于更多可以参考:
机器学习中的范数规则化之(一)L0、L1与L2范数
Dropout
dropout即随机失活正则化,如下图所示:
a图中为标准的神经网络结构,b图中应用了dropout,可以看到,在应用过后会有一部分神经元失活了,没有与其他的神经相连,因此可以有效的减少过拟合现象,注意这里的失活为随机失活,即下次,这个失活的神经元可能又会被重新的开启。
如下图所示对dropout防止过拟合的理解:
卷积神经网络的优缺点
优点:
1.因为有了卷积层,达到了共享的卷积核,对高维的数据处理无压力
2.不需要手动的选择特征,训练完成后,即可得到特征,这一点也是深度学习流行的原因
3.深层次的网络对于图像来说,表达效果好,因为图像的信息过于丰富
缺点:
1.需要调参,需要大量的样本,计算量大
2.其物理的含义不明确,即你不能很好的说明为什么要这么做,这也是不同于一些理论性很强的算法如SVM的原因。
来源:306医院医学科普、机器人2025
置顶中国指挥与控制学会公众号,精彩内容抢先看!
【主编】想了解哪些军事及学术知识?欢迎留言给我们
C2
如何加入学会
注册学会会员:
个人会员:
关注学会微信:中国指挥与控制学会(c2_china),点击下方的CICC会员-个人会员,进入会员系统,按要求填写申请表即可,如有问题,可阅读位于下方的“阅读学会章程”和“阅读入会须知”。通过学会审核后方可在线进行支付宝缴纳会费。
单位会员:
关注学会微信:中国指挥与控制学会(c2_china),点击下方的CICC会员-单位会员,进入会员系统,按要求填写申请表即可,通过学会审核后,请按照“阅读入会须知”里的付款信息进行会费缴纳。
学会近期活动
1. CICC企业会员交流会
会议时间:(具体时间详见后续通知)
长按下方学会二维码,关注学会微信
感谢关注