深度学习算法--卷积神经网络

卷积神经网络(CNN)是深度学习在图像处理领域的一个应用。在学习卷积神经网络之前,先了解下它的两个基本思想:

1、局部感受:

一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。网络部分连通的思想,也是受启发于生物学里面的视觉系统结构。视觉皮层的神经元就是局部接受信息的(即这些神经元只响应某些特定区域的刺激)。

局部感受的思想既符合实际生物学里面的视觉系统结构的思想,同时它的一个最大好处是可以降维:

比如一个1000×1000的图像,可以表示为一个1000000的向量,如果隐含层数目与输入层一样,即也是1000000时,那么输入层到隐含层全映射的参数数据为1000000×1000000=10^12。但是,假如隐藏层每个神经元只和10×10个像素值相连,那么权值数据为1000000×100个参数,减少为原来的千分之一。而那10×10个像素值对应的10×10个参数,其实就相当于卷积操作。

卷积神经网络



2、共享权值和偏置:

为进一步降维,还有另一个办法,即权值和偏置共享。在上面的局部连接中,每个神经元都对应100个参数和一个偏置,一共1000000个神经元,如果这1000000个神经元的100个参数和偏置都是相等的,那么参数数目就变为101了。

怎么理解权值共享呢?我们可以这100个参数(也就是卷积操作)看成是提取特征的方式,该方式与位置无关。这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。偏置共享的意义与权值共享的意义一样。

更直观一些,当从一个大尺寸图像中随机选取一小块,比如说 8×8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 8×8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从 8×8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。

如下图所示,展示了一个33的卷积核在55的图像上做卷积的过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来。

卷积神经网络

3、特征的概念:

如上图展示的一个33的卷积核在55的图像上做卷积的过程,这个33方块对应的参数称为一个卷积核,这个卷积核在原始图像上卷积之后得到的图像称为原始图像在这个卷积核下的一个特征。  更换卷积核的各个参数,就可以得到原始图像各个不同的特征。

如上图中卷积核为,得到原始图像的特征为

假如更换卷积核为,则得到的原始图像特征为,即只获取图像的中间部分。

一般为了充分提取图像特征,我们可以添加多个卷积核,比如32个卷积核,可以学习32种特征。


4、隐藏层的卷积:

假设m-1层隐藏层得到4幅图片,这4幅图片是通过m-2层的4个卷积核生成的,这4幅图片可以看成m-2层图片的4个不同通道。  再假设m-1层通过2个卷积核w1和w2来继续进行卷积,则卷积的方法为:

先将w2忽略,只看w1,那么在w1的卷积特征的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加然后再取激活函数值得到的,即:

卷积神经网络

同理,用相同的方法可得到w2对应的卷积特征。如下图所示:

卷积神经网络


5、池化

为了降低卷积特征的维度,往往会对卷积后的图片进行降维处理,这个过程成为池化 (pooling)。

池化思想的依据是:我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化 (pooling),有时也称为平均池化或者最大池化 (取决于计算池化的方法)。

卷积神经网络


至此,我们脑海中的卷积神经网络是长成这样的:图像上的每一个像素对应输入层的每个神经元,输入层经过多个卷积核卷积,映射到第一层隐藏层的多个卷积特征,每一个卷积特征经过池化聚合处理,降低维度后,再进一步经过多个卷积核进行卷积,卷积的方法见  隐藏层的卷积 部分,卷积后再进行池化,反复进过若干次卷积和池化,最后隐藏层与输出层全连接。

以上就是卷积神经网络的基本思想。

参考文献:http://www.36dsj.com/archives/24006

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值