tensorflow入门教程(十五)深度神经网络简介

1、概述

本来想用卷积神经网络来预测点东西,但是效果嘛......,还是继续学习图像类的应用吧~前面学习的神经网络都是一些基础的结构,这些网络在各自的领域中都有一定效果,但是解决复杂问题肯定不够的,这就需要用到深度神经网络。深度神经网络是将前面所学的网络组合起来,利用各自网络的优势,使整体效果达到最优。这一节就简单的记下一些常用的深度神经网络模型,因为tensorflow等框架都将这些网络实现了,所以暂时不做深入研究。

2、AlexNet

AlexNet模型获得2012年ILSVRC竞赛的冠军,将ImageNet图像的错误率降到16%,其网络结果如下图所示,

tensorflow入门教程(十五)深度神经网络简介

 

该网络由上下两部分组成,输入的图像经过5层卷积层,卷积核大小依次是11×11,5×5和3个3×3,这些卷积层后面跟着池化层。5个卷积层后连接3层全连接层。

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

3、VGG

tensorflow入门教程(十五)深度神经网络简介

 

VGGNet将ImageNet的错误率降低到了7%。上图展示了VGG16的网络结构图,原始论文中,作者训练了6个网络,分别命名为VGG-A, VGG-A-LRN, VGG-B, VGG-C, VGG-D, VGG-E,其网络结构如下图所示,

tensorflow入门教程(十五)深度神经网络简介

 

其中,conv3-512表示使用了3×3的卷积,卷积后的通道数为512,其他的依次类推。这几个网络中,VGG-D和VGG-E的效果是最好的,一般只用这两个网络,因为其网络分别为16和19层,所以它们又被成为VGG16和VGG19模型。

4、GoogLeNet

GoogLeNet模型由Google公司提出,该模型将ImageNet的错误率降到6%,它的创新在于提出了”Inception”结构,这是一种网中网结构,它把原来的单个节点拆成一个神经网络,一个Inception结构如下图所示,

tensorflow入门教程(十五)深度神经网络简介

 

 

 

Inception的结构是将1×1、3×3、5×5的卷积核对应的卷积操作和3×3的滤波器对应的池化操作堆叠在一起,增加了网络的宽度和深度。Google后来又对该模型进行了改进,提出了Inception V1、V2、V3、V4模型,分别如下所示,

V1:

tensorflow入门教程(十五)深度神经网络简介

 

V2:

tensorflow入门教程(十五)深度神经网络简介

V3:

tensorflow入门教程(十五)深度神经网络简介

V4:

tensorflow入门教程(十五)深度神经网络简介

 

 

 

GoogLeNet的网络模型如下图所示,

tensorflow入门教程(十五)深度神经网络简介

 

5、残渣网络(ResNet)

残渣网络在ILSVRC2015中夺得冠军。在深度学习中,网络越深拟合越强,但是如果只是简单地将层叠加在一起,增加网络深度并不会起到什么作用。而且由于梯度消失问题,深层网络难以训练。

tensorflow入门教程(十五)深度神经网络简介

 

 

 

ResNet的核心思想是引入了Residual的结构,可以跳过一层或多层,如下图所示,

tensorflow入门教程(十五)深度神经网络简介

 

该结构增加了一个identity mapping,将原始所需要学的函数H(x)转成F(x)+x。

论文地址:https://arxiv.org/pdf/1512.03385.pdf

总结:

以上结构是目前比较主流的深度神经网络,但是作为初学者,我觉得还没必要花很多时间去深究这些网络的算法和具体实现,tensorflow对他们都进行了封装,我们下一步就应该先去学习怎么使用这些网络来实现什么功能,等遇到什么问题时再去深究。