前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习三人行(第11期)----CNN经典网络之GoogLeNet

深度学习三人行(第11期)----CNN经典网络之GoogLeNet

作者头像
智能算法
发布2018-12-24 16:02:26
5380
发布2018-12-24 16:02:26
举报
文章被收录于专栏:智能算法

上一期,我们一起学习了深度学习卷积神经网络中的经典网络之LeNet-5和AlexNet,

深度学习三人行(第10期)----CNN经典网络之LeNet-5和AlexNet

接下来我们一起学习下关于CNN中的另一个比较经典的网络GoogLeNet的相关知识,学习的路上我们多多交流,共同进步。本期主要内容如下:

  • Inception Module
  • GoogLeNet 构成
  • 小结

GoogLeNet网络是由Christian Szegedy在Google Research中发展起来的,该网络赢得2014年ILSVRC的冠军,成功的把top-5的错误率降到了7%,很大一个原因就是因为这个网络比之前介绍的CNN有更深的层。虽然层数更深,但是权重参数却是更少,比前面学的AlexNet网络要少上10倍。为什么呢?


一. Inception Module

那是因为该网络中有很大一部分的子网络是由如下图的Inception Module组成,我们来看一下下面的这个Inception Module:

其中表示“3x3+1(S)”表示该层的卷积核大小为3x3,stride为1,S means SAME padding。从上面的网络可以看出,首先输入信号被copy并输入到四个不同的层中,所有的卷积层都用ReLU激活函数。注意到上面的卷积层用的分别用1x1, 3x3, 5x5的卷积核,这样有助于捕捉到不同尺度的pattern。还有每个层都用了SAME padding,这就意味着,输入图像的宽高和输出的宽高是一致的,这就能够使得最终的Depth Concat能够实现(不同size的图像无法叠加)。在TensorFlow中,Depth Concat的实现是由concat()函数实现的,将其中的参数axis设为3.

我们可能已经发现,为什么会有一些卷积核的size是1x1呢?由于只有一颗像素,所以这些卷积层其实是无法获取任何特征的。事实上,这种层有两个目的:

  • 首先就是降维,这些层的作用是使得输出的深度比输入的低,所以又称为瓶颈层,这样就达到一个降维的目的。这个效果在3x3和5x5的卷积层之前就特别有效,大大降低了训练权重的数量。
  • 还有就是每一对([1x1,3x3]和[1x1,5x5])的卷积层,像一个强大的卷积层,能够捕获更为复杂的pattern.事实上确实如此,一个单层的卷积层就像是一个简单的线性分类器滑过图像,而该组合相当于是两层神经网络滑过图像。

每一个卷积层中卷积核的数量都是一个超参数,这就意味着一个Inception Module就有6个超参数需要调节。


二. GoogLeNet 构成

来我们一起看下GoogLeNet的构成,如下图。图中包含有9个inception module(图中带有螺旋形的标识)。inception module上的6个数字分别对应上图中每一个卷积层的输出个数。并且图中所有的卷积层都使用ReLU激活函数。

我们来一起看下这个网络:

  • 为了降低计算负载,前两层的stride=2,意味着将图像的宽高分别除以4,面积缩小到之前的1/16。
  • 为了使前面的层能够学到更多的特征,接着用了局部响应正则化(上期一起学过的)。
  • 再接下来就是两个卷积层,类似一个瓶颈层,可以看做是一个智能卷积层。
  • 下面又是一个局部响应正则化的层,来保证能够学到更多的特征。
  • 接着用一个stride为2的最大值池化层来降低计算负载。
  • 接着就是9个inception module,中间插了两个最大值池化层,来降维加速 。
  • 接下来用了一个均值池化层,并且VALID padding。输出图像的size为1x1,这种策略称为全局均值池化。该策略能够很好的强迫之前的层输出更为有效的特征,因为其他特征将会被均值被过滤掉。这样就使得后面的全连接层比较少,没有必要像AlexNet那样有好几个全连接层。
  • 最后就不说了,一个Dropout正则化,一个全连接层和softmax激活函数来获取输出结果。

上面的这个图相对来说更简单一些,原始的GoogLeNet在第三个和第六个inception module顶端还包含了两个辅助的分类器,他们都是由一个均值池化层,一个卷积层,两个全连接层和一个softmax激活层组成。在训练期间,他们损失的70%被加到网络整体损失中,这样做是为了防止梯度消失,并且正则化网络。然而,效果却相对较小。


三. 小结

今天,我们一起学习了卷积神经网络的经典框架GoogLeNet网络的组成,以及其原理,希望其组成能够对我们构建网络有所启发,在学习的路上,我们共同进步,多谢有你。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档