深度学习(五)-卷积神经网络结构

总体结构

通常情况下,卷积神经网络由若干个卷积层(Convolutional Layer)、激活层(Activation Layer)、池化层(Pooling Layer)及全连接层(Fully Connected Layer)组成。
卷积层
它是卷积神经网络的核心所在, 通过卷积运算,达到降维处理和提取特征两个重要目的

激活层

其作用在于将前一层的线性输出,通过非线性的激活函数进行处理,这样用以模拟任意函数,从而增强网络的表征能力。前面章节中介绍的激活函数,如挤压函数Sigmoid也是可用的,但效果并不好。在深度学习领域,ReLU(Rectified-Linear Unit,修正线性单元)是目前使用较多的激活函数,主要原因是它收敛更快,次要原因在于它部分解决了梯度消失问题。

池化层(Pooling Layer)

也称子采样层或下采样层(Subsampling Layer),目的是缩小高、长方向上的空间的运算,以降低计算量,提高泛化能力。如下的示例,将4*4的矩阵缩小成2*2的矩阵输出
池化层计算
  • 对于每个输入矩阵,我们将其切割成若干大小相等的正方形小块,对每一个区块取最大值或者平均值,并将结果组成一个新的矩阵
  • Max池化:对各个参与池化计算的区域取最大值,形成的新矩阵。在图像识别领域,主要使用Max池化
  • Average池化:对各个参与池化计算的区域计算平均值
池化层的特征
  • 没有要学习的参数。池化层和卷积层不同,没有要学习的参数。池化只是从目标区域中取最大值(或者平均值),所以不存在要学习的参数
  • 通道数不发生变化。经过池化运算,输入数据和输出数据的通道数不会发生变化
  • 对微小的位置变化具有鲁棒性(健壮)。输入数据发生微小偏差时,池化仍会返回相同的结果

全连接层

  • 这个网络层相当于多层感知机(Multi-Layer Perceptron,简称MLP),其在整个卷积神经网络中起到分类器的作用
  • 通过前面多个“卷积-激活-池化”层的反复处理,待处理的数据特性已有了显著提高:一方面,输入数据的维度已下降到可用传统的前馈全连接网络来处理了;另一方面,此时的全连接层输入的数据已不再是“泥沙俱下、鱼龙混杂”,而是经过反复提纯过的结果,因此输出的分类品质要高得多。

典型CNN介绍

LeNet
LeNet是 Yann LeCun在1998年提出,用于解决手写数字识别的视觉任务。自那时起,CNN的最基本的架构就定下来了:卷积层、池化层、全连接层。
主要参数
  • 输入:输入32*32大小单通道图像
  • 两个“卷积-池化层”
  • 第一个全连接层神经元数目为500,再接激活函数
  • 第二个全连接层神经元数目为10,得到10维的特征向量,用于10个数字的分类训练,送入softmaxt分类,得到分类结果的概率
LeNet
结构
LeNet是 Yann LeCun在1998年提出,用于解决手写数字识别的视觉任务。自那时起,CNN的最基本的架构就定下来了:卷积层、池化层、全连接层。
主要参数
  • 输入:输入32*32大小单通道图像
  • 两个“卷积-池化层”
  • 第一个全连接层神经元数目为500,再接激活函数
  • 第二个全连接层神经元数目为10,得到10维的特征向量,用于10个数字的分类训练,送入softmaxt分类,得到分类结果的概率
AlexNet
  • 使用ReLU作为激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深 时的梯度弥散问题
  • 使用Dropout(丢弃学习)随机忽略一部分神经元防止过拟合
  • 在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均 池化的模糊化效果
  • 提出了LRN(Local Response Normalization,局部正规化)层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力
  • 使用CUDA加速深度卷积网络的训练,利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算
AlexNet网络包含8层,其中前5层为卷积-池化层,后3层为全连接层;输入224×224×3的图像,第一卷积层用96个11×11×3的卷积核对进行滤波,步幅4像素;全连接的每层有4096个神经元,最后一个完全连接的层的输出被馈送到1000路SoftMax,它产生超过1000个类别标签的分布;整个网络共650000个神经元

 论文地址:https://www.cs.toronto.edu/~fritz/absps/imagenet.pdf

VGG
VGG是Visual Geometry Group, Department of Engineering Science, University of Oxford(牛津大学工程科学系视觉几何组)的缩写,2014年参加ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 2014大赛获得亚军(当年冠军为GoogLeNet,但因为VGG结构简单,应用性强,所以很多技术人员都喜欢使用基于VGG的网络)
主要参数
  • 网络深度:16~19层
  • 5组卷积-池化层,3个全连接层
  • 三个全连接层,前两层都有4096通道,第三层共1000路及代表1000个标签类别;最后一层为softmax层
  • 所有卷积层有相同的配置,即卷积核大小为3x3,步长为1,填充为1
  • 池化层区域大小2x2,步长为2

注意这里图中的模型是16层的,判断是否是层的依据是是否有参数更新,在池化层核softmax就没有参数更新,所以这两部分不能算作是层

GoogLeNet

论文:https://arxiv.org/pdf/1409.4842

卷积效果对比

红框这里需要先做1*1的卷积,再去做5*5的卷积,这两个有何差异?

直接做5*5卷积
  • 输入数据:256*156*128,
  • 卷积尺寸:5*5
  • 步长:1
  • 填充:2
  • 卷积核个数:256
  • 卷积结果:256*256*256
  • 卷积层权重个数:输入的通道数*卷积核尺寸*卷积核个数=128*5*5*256=819200个
先做1*1卷积,再做5*5卷积

1.先做1*1卷积

  • 输入数据:256*156*128,
  • 卷积尺寸:1*1
  • 步长:1
  • 填充:0
  • 卷积核个数:32
  • 卷积结果:256*256*32
  • 当前卷积权重个数:128*1*1*32 = 4096 

2.再做5*5卷积

  • 输入数据:256*156*32,
  • 卷积尺寸:5*5
  • 步长:1
  • 填充:2
  • 卷积核个数:256
  • 卷积结果:256*256*256
  • 当前卷积权重个数:32*5*5*256=204800

总的参数量=1*1参数量+5*5参数量 = 4096+204800 = 208896,远远小于直接5*5卷积的参数权重数量

ResNet
  • ResNet是ILSVRC 2015大赛冠军,在ImageNet测试集上取得了3.57%的错误率
  • 更深的网络结构,采用残差结构来缓解深度CNN的梯度消失问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值