VGG 论文笔记

源链接 https://www.jianshu.com/p/9c6d90e4f20e

论文原标题《VERY DEEP CONVOLUTIONAL NETWORK SFOR LARGE-SCALE IMAGE RECOGNITION》

论文被发表在ICLR 2015上

VGG16和VGG19是这篇文章提出的两个非常好的DCNN(Deep Convolutional Neural Network )。(论文作者是Google DeepMind的,噫!

这一系列model在ILSVRC-2013达到了best-performance,并且在其他以DCNN为基础的工作达到了很好的效果(例如FCN)。

比较起ALEXNET, VGG对图片有更精确的估值以及更省空间。我们从分析VGG的结构开始说起。

VGG结构

VGG 论文笔记_第1张图片
VGG系列结构图解.png

我们就看D(VGG16)和E(VGG19)好了。因为前面的网络效果没有D和E的效果好,而且比起D和E来讲不够简洁。

此处有一个和AlexNet的对比。我是连接

相同点

1.最后三层FC层(Fully Connected全连接层)结构相同。
2.都分成五层(组)。
3.每层和每层之间用pooling层分开。

不同点

1.AlexNet每层仅仅含有一个Convolution层,filter的大小7x7(很大);而VGG每层含有多个(2~4)个Convolution层,filter的大小是3x3(最小)。很明显,VGG是在模仿Alex的结构,然而它通过降低filter的大小,增加层数来达到同样的效果。我提出我的一个对这种模仿的一种我自己的理解。因为不是论文中讲到,仅仅是我自己的理解,仅供大家参考。

作者在论文中说了一句
"This can be seen as imposing a regularisation on the 7 × 7 conv. filters, forcing them to have a decomposition through the 3 × 3 filters"
他说7x7 filter可以被分解成若干个3x3的filter的叠加。

类比一下n维空间的向量x,x的正交分解
x = x1(1, 0, 0, ....) + x2(0, 1, 0, ...) + x3(0, 0, 1,...) + ... + xn(0, 0, 0, ..., 1)

每一组的每一层的filter被类比成n维欧几里得空间的基底。
若VGG的一组含有3层3x3的filter,则我们则假设一个7x7的filter可以被分解成3种“正交”的3x3的filter。

作者原文:First, we incorporate three non-linearrectification layers instead of a single one, which makes the decision function more discriminative.Second, we decrease the number of parameters: assuming that both the input and the output of athree-layer 3 × 3 convolution stack has C channels, the stack is parametrised by 3 32C^2 = 27C^2weights; at the same time, a single 7 × 7 conv. layer would require 72C^2 = 49C^2

2.AlexNet的Channel明显小于VGG。猜测VGG的之所以能够达到更高的精准性,源自于更多的Channel数。而由于filter size的减小,channel可以大幅度增加,更多的信息可以被提取。

训练过程

此部分没有很多时间来看,据说训练这个网络需要很多的trick和很长的时间。此部分待我日后遇到再仔细看。毕竟自己没时间出来的东西写出来也不太确定。



作者:voidrank
链接:https://www.jianshu.com/p/9c6d90e4f20e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(深度学习)