(CNN)卷积神经网络(五)常见卷积神经网络

  1. Letnet
  2. Alexnet
  3. ZFnet
  4. VGG
  5. Googlenet
  6. Resnet: Deep Residual Learning Network
  7. fine-tune

第一篇文章介绍了卷积神经网络的数据输入形式和权值的初始化:CNN)卷积神经网络(一) 第二篇文章介绍了卷积操作,常用的**函数(CNN)卷积神经网络(二)
第三篇介绍了卷积神经网络的池化层,可视化理解以及用数学的角度理解卷积操作:[(CNN)卷积神经网络(三)]
第四篇介绍了dropout的三种不同理解方式:(CNN)卷积神经网络(四)dropout

这一篇看一下常见的卷积神经网络

1.Letnet

这是一开始最简单的卷积神经网络,用来做手写数字识别的。
(CNN)卷积神经网络(五)常见卷积神经网络

这是它的网络结构:
(CNN)卷积神经网络(五)常见卷积神经网络
其实就是最经典的:

[CONVPOOLCONVPOOLCONVFC]

2.Alexnet

(CNN)卷积神经网络(五)常见卷积神经网络
第一层卷积层用55个神经元,每次采样采用11X11的滑动窗口,然后得到55个feature map。
它的top5的准确度超出第二10%。
(CNN)卷积神经网络(五)常见卷积神经网络

3.ZFnet

(CNN)卷积神经网络(五)常见卷积神经网络
ZFnet只是对前面的网络做了一些调整,改动不是很大。
在第一层卷积层,只是把11X11的滑动窗口改为7X7,步长设为2。

4.VGG

这个是VGG-16的
(CNN)卷积神经网络(五)常见卷积神经网络
能训练出一个16层的神经网络,真的很不容易,因为那时候梯度消失还没有得到比较好的解决。

参数比较:
(CNN)卷积神经网络(五)常见卷积神经网络

消耗内存计算:
(CNN)卷积神经网络(五)常见卷积神经网络
总内存:24M*4bytes -=93MB/image
总参数:138M parameters

不要觉得自己有GPU就屌爆了,一次丢太多图片,你的服务器照样受不了。

5.Googlenet

(CNN)卷积神经网络(五)常见卷积神经网络
它把全连接层换成了小卷积,而且它只有5百万个参数。

6.Resnet: Deep Residual Learning Network

(CNN)卷积神经网络(五)常见卷积神经网络
resnet的网络深度比VGG还要深8倍,但是它比VGG好训练。
由上图的中间图,你会发现这是平铺的网络,其实就是

F(W1,F(W2,F(W3,F(W4,x))))
这样层层嵌套的结构,这样在求梯度的时候非常容易导致梯度消失,所以就由人想出了下图这样的结构:
(CNN)卷积神经网络(五)常见卷积神经网络

它相当于x这样的输入数据,和经过卷积之后的输出数据F(x)共同作为下一层的输入,让模型学习他们之间的残差,其实就是x和F(x)之间的差异,然后把这样的差异值叠加。

与之前的差异:求偏导时由:

F(W1,F(W2,F(W3,F(W4,x))))
变成了F(x)+x。求偏导函数对于和函数比嵌套函数更好求嘛。

7.fine-tune

站在巨人的肩膀上来做自己的事情吧,这里有所有CNN的参数文件下载改改就可以用了。
Model-Zoo