经典的卷积网络及其发展

1.前言

​ 卷积网络是一种经典的深度学习架构,在图像处理领域发挥着巨大作用。第二部分介绍了5个经典的CNN模型,第三部分是我对其的代码复现

2.介绍

2.1 CNN的基本组件

​ 虽然CNN的模型有很多种,但相似之处在于都是把原始数据作为算法输入, 通过卷积、池化和非线性激活函数映射等一系列操作, 将原始数据逐层抽象为自身任务所需的最终特征表示, 最后以特征到任务目标的映射作为结束。例如图1的LeNet网络,由输入层,卷积层,池化层,全连接层,输出层组成。

​ 卷积层用来提取特征,池化层用来下采样、降维,全连接层用来产生全局语义信息,获得全部的特征,忽略位置关系,输出层用来输出最后信息,分类问题,常用softmax返回某类的概率,回归问题,返回一个值。


图1 LeNet-5模型结构

2.2 LeNet

​ Lenet是一个 7 层的神经网络,包含 3 个卷积层,2 个池化层,1 个全连接层。其中所有卷积层的所有卷积核都为 5x5,步长 strid=1,池化方法都为全局 pooling,激活函数为 Sigmoid。可以说是卷积网络中的HelloWorld。结构如图一所示。

特点:

  1. 相比MLP,LeNet使用了相对更少的参数,获得了更好的结果。

  2. 设计了maxpool来提取特征

2.3 AlexNet

​ AlexNet是最早的现代神经网络,证明了”深度卷积神经网络“在复杂模型的有效性。使用了GPU训练,可以得到一个让人接受的训练时间。

​ Alexnet模型由5个卷积层和3个池化Pooling 层 ,其中还有3个全连接层构成。AlexNet 跟 LeNet 结构类似,但使⽤了更多的卷积层和更⼤的参数空间来拟合⼤规模数据集 ImageNet。它是浅层神经⽹络和深度神经⽹络的分界线。结构如图二所示。


图2 AlexNet模型结构

特点:

  1. 使用了relu作为激活函数,替代了sigmod,解决了梯度消失问题,网络收敛的更快
  2. 使用了dropout,提高了网络的鲁棒性,后期被人理解等效为正则项。
  3. 使用了LRN,局部归一化,提高了准确率。

2.4 VGG

​ VGG可以看成是加深版本的AlexNet.加深了层数,为了解决初始权重的问题,提出先训练浅层网络,再训练深层网络的方式。如图3所示。


图3 VGG模型结构

特点:

  1. 严格使用了3×3大小的卷积,用两个3×3卷积来替代5×5卷积,三个3×3卷积替代7×7卷积,达到了同样的感受野,但减少了参数,增强了网络的性能。

  2. 使用1×1的卷积来改变通道数,增加网络的表达能力,降低计算量。

2.5 GoogLeNet

​ GoogLeNet是一个22层的卷积神经网络, 由Inception 结构作为基本模块级联而成。每个Inception模块使用了不同的卷积核并行级联而成。


图4 GoogLeNet模型结构

特点:

  1. 提出了Inception 结构
  2. 使用1×1的卷积来改变通道数
  3. 删除了全连接层,大大减少了网络参数
  4. 在保证网络性能的情况下极大幅度的节约计算成本

2.6 ResNet

​ 深度网络面临的挑战之一是训练过程中会出现梯度消失问题。ResNet通过引入残差模块,学习残差映射F (x) =H (x) -x, 而不是学习卷积层F (x) 的函数, 解决网络退化的问题,使得可以训练更深的网络。


图5 残差块

特点:

  1. 提出了残差块这个概念,对原有的网络改动很小,但可以加深层数,可以利用到更多的信息,提高网络的准确率。
  2. 残差结构是为了解决网络退化的问题提出的。

2.7 模型比较

​ 从LeNet开始,网络的规模不断变大,本质上LeNet,AlexNet,VGG,GoogLeNet都是对之前网络的修补改进,通过改变小的结构来提升性能。在这个过程了,激活函数从一开始的sigmod变为rulu,卷积核大小也变为常见的3×3,5×5,同时提出1×1的卷积在不改变图片大小的情况下,改变通道数,通过权值预初始化的方式,提高网络的性能,梯度消失/爆炸通过 BN 等方式得到解决。

​ ResNet则是提出了一种新的结构,使得可能训练更深的网络,解决了网络退化的问题,简化了学习的目标和难度,我认为有跨越度的提升。

3.实验

3.1 网络结构

LeNet
class LeNet(torch.nn.Module):
    def __init__(self):
        super(LeNet
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值