卷积神经网络CNN

卷积神经网络(CNN)的基本架构通常包括卷积层,池化层,全链层三大层次,其中不同的层中可能还会包括一些非线性变化(RELU函数)、数据归一化处理、dropoout等。我们常听说的LeNet-5、AlexNet、VGG、ResNet等都是卷积神经网络,而且都是由这些层组成,只是每个网络的层数不一样,所达到的分类效果也不一样。神经网络的深度(depth)和宽度(width)是表征网络复杂度的两个核心因素。
下面分别说下卷积层,池化层和全链层:

(1)卷积层(convlayer)是整个神经网络中最重要的一层,该层最核心的部分为过滤器,或者称为卷积核,卷积核有大小和深度两个属性,大小常用的有3X3、5X5,也有11X11的卷积核,而深度通俗一点理解就是卷积核的个数。卷积核的大小和深度均由人工指定,而权重参数则在初始化的时候由程序随机生成,并在后期训练过程中不断优化这些权重值,以达到最好的分类效果。卷积的过程就是用这些权重值不断的去乘这些图片的RGB值,以提取图片数据信息。

 

可知上图的卷积核为3×3类型的,为[1 0 1;0 1 0;1 0 1],与原图像的对应像素点值矩阵进行卷积得到新的值。卷积可以提取图片信息,同时可以达到降维的想过(5维降3维);

(2)池化层(poolinglayer):卷积层后一般会加入池化层,池化层可以非常有效地缩小矩阵的尺寸,从而减少最后全链层中的参数,使用池化层既可以加快计算速度也有防止过拟合问题的作用。池化层也包含一个过滤器,其作用与卷积层不同,只是简单的计算最大值或者平均值,且池化层的滤波器只影响一个深度上的节点,所以其在作用是不仅要在长和宽两个维度移动,还有在深度这个维度移动。(这里图像深度注解一下:图像深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率。像素深度决定彩色图像的每个像素可以有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。例如,一幅彩色图像的每个像素用R,G,B三个分量表示,若每个分量用8位,那么一个像素共用24位表示,就说像素的深度为24,每个像素可以是16 777 216(2的24次方)种颜色中的一种。在这个意义上,往往把像素深度说成是图像深度。表示一个像素的位数越多,它能表达的颜色数目就越多,而它的深度就越深。)

上图展示的是最大池化层,使用最大值操作 

 (3)全链层:全链层的作用就是进行正确的图片分类,不同神经网络的全链层层数不同,但作用确是相同的。输入到全链层的神经元个数通过卷积层和池化层的处理后大大的减少了,比如以AlexNet为例,一张227*227大小,颜色通道数为3的图片经过处理后,输入到全链层的神经元个数有4096个,最后softmax的输出,则可以根据实际分类标签数来定,同时在全链层中,会使用dropout以随机的去掉一些神经元,这样能够比较有效地防止神经网络的过拟合。

通用卷积结构:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值