CNN的发展史LeNet、Alexnet 、VGG、GoogleNet、ResNet简介

https://www.pianshen.com/article/39961694615/

 

2006年Hinton的   Deep Learning的概念被提出来

时间终于到了2012年,Hinton的学生Alex Krizhevsky在寝室用GPU死磕了一个Deep Learning模型,一举摘下了视觉领域竞赛ILSVRC 2012的桂冠,在百万量级的ImageNet数据集合上,效果大幅度超过传统的方法,从传统的70%多提升到80%多。

这个Deep Learning模型就是后来大名鼎鼎的AlexNet模型。这从天而降的AlexNet为何能耐如此之大?有三个很重要的原因:

1.大量数据,Deep Learning领域应该感谢李飞飞团队搞出来如此大的标注数据集合ImageNet;
2.GPU,这种高度并行的计算神器确实助了洪荒之力,没有神器在手,Alex估计不敢搞太复杂的模型;
3.算法的改进,包括网络变深、数据增强、ReLU、Dropout等,这个后面后详细介绍。

 

随着模型变得越来越深,Top-5的错误率也越来越低,目前降到了3.5%附近,而在同样的ImageNet数据集合上,人眼的辨识错误率大概在5.1%,也就是目前的Deep Learning模型的识别能力已经超过了人眼。

LeNet有时也被称作LeNet5或者LeNet-5,其中的5代表五层模型。

 

最古老的CNN模型
1985年提出的后向传播算法(Back Propagation,BP算法)。BP算法来训练多层神经网络用于识别手写数字(MNIST),CNN的开山之作。

LeNet
1998年的LeNet5[4]标注着CNN的真正面世,但是这个模型在后来的一段时间并未能火起来,主要原因是费机器(当时苦逼的没有GPU啊),而且其他的算法(SVM,老实说是你干的吧?)也能达到类似的效果甚至超过。

AlexNet
AlexNet结构图:
共含5层卷积层和3层全连接层。
Alex-Net的上下两支是为方便同时使用两个GPU并行训练,不过在第三层卷积和全连接层处上下两支信息可交互。由于两支网络完全一致,在此仅对其中一只进行分析。

 

AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:
(1) Data Augmentation
(2) Dropout

(3) ReLU**函数
用ReLU代替了传统的Tanh或者Logistic。

(4) Local Response Normalization

(5) Overlapping Pooling

(6) 多GPU并行

 

VGG
VGG的特点:
1.小卷积核。作者将卷积核全部替换为3x3(极少用了1x1);
2.小池化核。相比AlexNet的3x3的池化核,VGG全部为2x2的池化核;

 

VGG16相比AlexNet的改进:
采用连续的几个3x3的卷积核代替AlexNet中的较大卷积(11x11,5x5)。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

 

GoogLeNet

GoogLeNet网络结构:

主要的创新在于他的Inception,这是一种网中网(Network In Network)的结构,即原来的结点也是一个网络。Inception一直在不断发展,目前已经V2、V3、V4了,感兴趣的同学可以查阅相关资料。Inception的结构如图9所示,其中1*1卷积主要用来降维,用了Inception之后整个网络结构的宽度和深度都可扩大,能够带来2-3倍的性能提升。

 

ResNet

ResNet主要的创新在残差网络,如图所示,其实这个网络的提出本质上还是要解决层次比较深的时候无法训练的问题。

posted @ 2021-03-12 10:41  ethan178  Views(748)  Comments(0)    收藏  举报