VGG和GoogLeNet inception

01 介绍

googlenet和vggnet这两个模型是在AlexNet后人工神经网络方面研究的又一里程碑,也是许多论文和博客中用来和提出的新方法进行对比的baseline。理解这两个网络并且明白它们的优劣对走在机器学习之路上的小伙伴们来说是非常重要的。这两类模型结构有一个共同特点是Go deeper,但是在具体实现上却有很大差异。

02 VGG

vgg[1]继承了lenet以及alexnet的一些框架,尤其是跟alexnet框架非常像,vgg也是5个group的卷积、2层fc图像特征、一层fc分类特征,可以看做和alexnet一样总共8个part,vgg论文中给出了A~E这五种配置,卷积层数从8到16递增。由于VGG-Net的所有 convolutional layer 使用同样大小的 convolutional filter,大小为 3 x 3,所以它的深度比较容易扩展,同时结构也比较简单。其具体结构参数如表1所示:

表1.vgg模型

03 GoogLeNet

与VGG不同的是,Goog[2]做了更大胆的网络上的尝试,为了获得高质量的模型,它也从增加模型的深度(层数)或者是其宽度(层核或者神经元数)这两方面考虑了,但是在这种思路下会出现两个缺陷(1.参数太多,容易过拟合,若训练数据集有限;2.网络越大计算复杂度越大,难以应用;3.网络越深,梯度越往后穿越容易消失,难以优化模型)。而GoogLeNet通过新的结构设计,在增加深度和宽度的同时避免了以上问题:

1、深度

GoogLeNet采用了22层网络,为了避免上述提到的梯度消失问题,GoogLeNet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。结构如图1所示:

图1.GoogLeNet网络模型

2、宽度

Inception的网络,将1x1,3x3,5x5的conv和3x3的pooling,stack在一起,一方面增加了网络的width,另一方面增加了网络对尺度的适应性,但是如果简单的将这些应用到feature map上的话,concat起来的feature map厚度将会很大,所以为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max pooling后分别加上了1x1的卷积核起到了降低feature map厚度的作用,这也使得虽然googlenet有22层但是参数个数要少于alexnet和vgg。inception的具体结构如图2所示。

图2.Inception结构

04 总结

综上所述,vgg网络更简单粗暴,在Alexnet的基础上不停地加卷基层,扩展神经网络的深度,并且取得了较好的效果,也让人们认识到加深网络是提高模型质量的一个有效途径。但它同时也面临着参数太多,训练较慢,梯度消失等问题。而GoogLeNet则通过增加在不同层算loss和提出inception结构两种方式,不仅加深了网络,同时也加宽了网络,并且减少了参数个数。

05 参考资料

[1]Very deep convolutional networks for large-scale image recognization. https://arxiv.org/pdf/1409.1556v6.pdf

[2]Going deeper with convolutions.

https://www.cs.unc.edu/~wliu/papers/GoogLeNet.pdf

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2018-01-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

开发 | 你的机器学习模型为什么会出错?奉上四大原因解析及五条改进措施

对开发者来说,目前有一系列的机器学习模型可供选择。AI科技评论了解,可以用线性回归模型预测具体的数值,用逻辑回归模型对不同的运算结果进行归类,以及用神经网络模型...

3486
来自专栏智能算法

卷积神经网络工作原理直观解释

其实我们在做线性回归也好,分类(逻辑斯蒂回归)也好,本质上来讲,就是把数据进行映射,要么映射到一个多个离散的标签上,或者是连续的空间里面,一般简单的数据而言,...

1152
来自专栏量子位

在Keras+TF环境中,用迁移学习和微调做专属图像识别系统

图1:CompCars数据集的示例图像,整个数据集包含163家汽车制造商,1713种车型 王小新 编译自 Deep Learning Sandbox 量子位 出...

3375
来自专栏深度学习自然语言处理

【深度学习】你该会的精选面试题(二)

Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个节点都是计算图上...

2352
来自专栏Spark学习技巧

【深度学习】②--细说卷积神经网络

1. 神经网络与卷积神经网络 先来回忆一下神经网络的结构,如下图,由输入层,输出层,隐藏层组成。每一个节点之间都是全连接,即上一层的节点会链接到下一层的每一个节...

3688
来自专栏智能算法

卷积神经网络工作原理直观解释

其实我们在做线性回归也好,分类(逻辑斯蒂回归)也好,本质上来讲,就是把数据进行映射,要么映射到一个多个离散的标签上,或者是连续的空间里面,一般简单的数据而言,我...

3039
来自专栏智能算法

卷积神经网络工作原理直观解释

其实我们在做线性回归也好,分类(逻辑斯蒂回归)也好,本质上来讲,就是把数据进行映射,要么映射到一个多个离散的标签上,或者是连续的空间里面,一般简单的数据而言,我...

3105
来自专栏PaddlePaddle

解析卷积神经网络——数据扩充

《解析卷积神经网络——深度学习实践手册》基础理论篇部分已经更新完毕,从今天开始更新实践应用篇,正文部分为数据扩充篇目的知识

893
来自专栏人工智能

深度学习系列教程(八)TensorFlow 中的正则化方法

"玩转TensorFlow与深度学习模型”系列文字教程,本周带来TensorFlow 中的正则化方法! 大家在学习和实操过程中,有任何疑问都可以通过学院微信交流...

24210
来自专栏林欣哲

迁移学习

机器视觉领域的问题通常来说是个有很多参数的复杂问题,从零开始自己构造一个神经网络通常来说是非常消耗计算能力和时间的。 我们可以站在巨人的肩膀上,用别人训练好的图...

3216

扫码关注云+社区