卷积神经网络

一个简单的卷积神经网络是由各种层按照顺序组成,卷积神经网络主要由三种类型的层组成:卷积层池化层全连接层。通过这些层叠加起来,就可以构成一个完整的卷积神经网络。

卷积层

卷积层是由一些可学习的滤波器集合构成的。每个滤波器在空间上(宽度和高度)都比较小,但是在深度上和输入数据一致。神经网络会让滤波器学习到当它看到某些特征的视觉特征时就被激活,具体的视觉特征可能是某些方位上的边界,或者在第一层上的某些颜色的斑点,甚至可以是网络更高层上的蜂巢状或者车轮状的图案。在前向传播的时候,让每个滤波器都在输入数据的宽度和高度上滑动(更精确的说是卷积),然后计算整个滤波器和输入数据任一处的内积。当滤波器沿着输入数据的宽度和高度划过后,会生成一个2维的激活图。如下展示了基本的卷积操作:
这里写图片描述

卷积层具有三个重要的特性:局部连接,参数共享,等变表示。另外卷积层提供了一种处理可变大小的输入的方法。

  • 局部连接

    我们让每个神经元只是和输入数据的一个局部区域连接,该连接的空间大小叫做神经元的感受野。如下图所示,左图中的局部连接中每个输入单元只影响部分输出单元,同样地,每个输出单元也只受分布输入单元的影响。而在右图全连接中,连接不再是稀疏的,每个输入单元会影响所有的输出单元,每个输出单元也会受所有的输入单元的影响。
    这里写图片描述

  • 参数共享

    在卷积神经网络中,核的每一个元素都作用在输入的每一个位置上。卷积运算中的参数共享保证了我们只需要学习一个参数集合,而不是对每个位置都需要学习一个单独的参数集合。由于参数共享,每个滤波器包含卷积层一共有F*F*D*K 个权重和K个偏置,其中 F 表示滤波器的大小,D表示滤波器的深度,K表示滤波器的数量。

这里写图片描述

  • 等变表示

    参数共享的特殊形式使得卷积层具有平移等变的性质。平移不变性是指卷积产生了一个二维的映射来表明某些特征在输入中的位置,如果我们移动输入的图像,它的表示也会在输出中移动同样的量。卷积对图像缩放和旋转并没有不变性,通常需要加入一些特殊的机制进行处理。

有三个超参数控制着输出数据体的尺寸:深度(depth)、步长(stride) 和 零填充(zero-padding), 输出数据体在空间上的尺寸可以通过输入数据体尺寸(W)、卷积层中神经元的感受野尺寸(F)、步长(S) 和零填充的数量(P) 的函数来计算。输出数据体的空间尺寸为(W - F + 2P) / S + 1。一般来说,当步长S = 1时, 零填充的值是 P = (F-1)/2 时,这样就能保证输入和输出数据体有相同的空间尺寸,这种做法非常常见。需要注意的一点是这些超参数是相互限制的,如果(W - F + 2P) / S + 1不是整数,那么卷积神经网络库就会报错。

池化层

池化层使用某一位置的相邻输出的总体统计特征来代替网络在该位置的输出。如下图所示:池化层在输入数据体的每个切片上,独立的对其进行空间中的降采样。
这里写图片描述

左边输入数据体的尺寸为 [224 x 224 x 64] 被降采样到了 [112 x 112 x 64], 采样的滤波器尺寸是1,步长为2,而深度保持不变。右边表示最大值池化,这里步长为2,每个操作从4个数字中取最大值。

对于池化操作来说。其输出尺寸 W_0 = (W_1 - F)/S + 1 其中 W1 表示输入尺寸,F 表示滤波器的大小,S 表示步长。

按照滤波器和步长的关心进行分类。当F > S时,被称为重叠汇聚,当F <= S 时,被称为非重叠汇聚。按照池化单元的操作,池化可以被分为最大池化,平均池化,L-2范式池化和基于中心像素距离的加权平均池化。

池化层的具有三个很显著的特点:

  • 平移不变性:当我们对输入进行少量平移时,经过池化后的输出并不会发生改变。d当我们关心某个特征是否出现,而不关心它的出现的位置时,局部平移不变性是一个很有用的性质。当我们队卷积的输出进行池化时,特征能够学得对于那些变换具有不变性。
  • 可以逐渐降低数据体的空间尺寸,减少网络中参数的数量,使得计算资源耗费变少,也能有效的控制过拟合。
  • 可以用于处理不同大小的输入,使分类层能够介绍到相同数量的统计特征而不管最初的输入大小。

很多人不喜欢使用池化操作,认为它可以不使用,比如在 Striving for Simplicity:The All Convolutional Net 一文中提出了一种只有重复卷积层组成的结构,而不使用池化操作。有发现认为,在训练一个良好的生成模型时,弃用池化层也是很重要的。比如自编码器(VAEs)和对抗生成网络(GANs)。

全连接层

在全连接层中,神经元对前一层中的所有激活数据是全部连接的,这个和常规的神经网络中一样,它们的激活先用矩阵乘法,再加上偏差。

TBD:

  • 卷积神经网络概述
  • 特殊的卷积层(1 * 1 卷积,空洞卷积,可变形卷积,转置卷积)
  • 特殊的池化层(fast RCNN ROI pooling)
  • 卷积神经网络的结果
  • Numpy 实现(卷积,池化,全连接)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值