CNN网络结构进化概述

网络工程问题是深度学习中比较基础的问题,网络工程的难点在于,缺乏对深度神经网络的理论理解(即常说的黑盒模型),无法根据理论来设计网络结构,实际中更多的是不断的尝试,根据实验反馈出来的结果确定某一结构是不是好的结构。在这些尝试中,CNN是一种非常成功的网络形式,CNN的网络结构迭代速度也非常快,诸如大家所熟知的AlexNet,VGGnet,GoogleNet,ResNet,ResNext,DenseNet等等井喷式地出现,这些网络并不是凭空遐想,其设计背后有着一定的逻辑,在演进过程中有创新也有传承。

本文试图简单梳理CNN网络发展脉络,探究网络结构演进背后的逻辑。

上图是CNN网络主要发展脉络的一种描述(但绝不是全部)。网络工程主要可以包括两个方面:连接结构设计和运算操作符设计(structure space和operator space)。

连接结构设计网络层次设计与层次之间的连接方式,如网络深度和宽度,bottleneck,shortcut,branches,RoI pooling layer等;

运算操作符设计网络运算符设计,如激活函数(ReLU等),数据处理(Xavier、Batch Normarlization等),特殊卷积(Holed Convolution、group convolution等),特殊池化,损失函数(Focal loss等)。

 

  • LeNet(1998 )

 

上世纪九十年代末,Yann LeCun将BP算法应用到CNN网络中用于手写字符,LeNet成为第一个具有实用价值的CNN神经网络。LeNet结构为conv1+pooling1+conv2+pooling2+fc,五层结构。LeNet奠定了CNN的三大核心思想:局部感受野,权值共享,下采样。使得神经网络能够在图像领域得到应用。但由于当时计算力和数据限制,加上缺乏理论支持,LeNet火了一把之后就沉寂了,直到2012年AlexNet横空出世。

 

  • AlexNet(12年ImageNet Challenge冠军,2012 NIPS)

AlexNet的成功不是因为理论的巨大创新,而是计算力和数据限制得以突破(GPU和ImageNet),同时,在LeNet的基础上网络结构也做了一些优化(主要就是加深了)。在连接设计方面:卷积层数量增加到5层,卷积层尺度有11x11、5x5、3x3多种,全连接层增加到3层;在运算符操作符方面:使用ReLU替代sigmoid作为激活函数来加速训练,使用Dropout为网络引入ensembling减少过拟合,使用LRN做数据的归一化(后来证明作用不大)。至于论文中提到的创新点之一Data Arguemetation属于数据预处理,不在网络结构讨论范畴。

 

 

  • VGGNet(2014 ImageNet Challenge, 2015 ICLR)

可以看成是加深版的AlexNet,整体框架还是和LeNet和AlexNet类似,都是conv layer+FC layer。创新在于࿰

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值