GoogLeNet论文详解[通俗易懂]

GoogLeNet论文详解[通俗易懂]GoogLeNet1.Introduction  得益于深度学习的优势和更强大的卷积神经网络的出现,图像分类和目标检测的准确率发生了令人意想不到的进步。在2014年的ILSVRC比赛中,GoogLeNet取得了第一名的成绩,所用模型参数不足AlexNet(2012年冠军)的1/12。论文题目《Goingdeeperwithconvolutions》中的deeper有两层含义…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

GoogLeNet


1. Introduction

得益于深度学习的优势和更强大的卷积神经网络的出现,图像分类和目标检测的准确率发生了令人意想不到的进步。在2014年的ILSVRC比赛中,GoogLeNet取得了第一名的成绩,所用模型参数不足AlexNet(2012年冠军)的1/12。论文题目《Going deeper with convolutions》中的deeper有两层含义,一是指本文引入了一种新的结构“Inception module”,二就是其直接含义——网络深度(depth)的增加。

2. Relative work

相比传统的网络架构设计——由多个卷积层堆积,选择性的使用Normalization和maxpool,然后经过一层或多层的全连接层输出,由于模型参数主要集中在全连接层,可选择在全连接层使用dropout来降低过拟合的风险。
  但是Maxpool可能会导致空间信息的损失,降低神经网络的表现力。为了解决这个问题,Lin等人在2013年提出了inception——“Network in Network”的想法。在卷积网络中的实现方法就是添加一个额外的1X1卷积层,使用Relu作为激活函数。其主要作用是降维(dimension reduction),在不牺牲模型表现的前提下,可以大量减少计算量,有利用训练更深更广的网络。
  前沿的目标检测方法是R-CNN,主要思想是将目标检测问题划分为两个子问题:首先利用低级的特征比如颜色和超像素的一致性来得到潜在的object proposals。然后利用CNN分类器对这些位置上的proposals进行分类识别。GoogLeNet对这两步分别进行了优化,取得了令人惊喜的结果。

3. Motivation

通常来说要想提高网络性能,常用的方法就是提高神经网络层数和宽度,但是会带来两个严重的缺陷:一是更深的网络意味着会有更多的参数,这样很容易导致过拟合;二是更深的网络会带来更多计算上的开支,减缓训练周期。而参数又主要集中在全连接层,于是就想到了用稀疏连接来取代全连接层的方法,是解决这两个问题的关键。
  在《Provable bounds for learning some deep representations》中提到**“如果用大而稀疏的CNN来表示数据集的概率分布,那么可以通过逐层分析最后一层的Activation和具有高度相关的输出的聚类神经的相关统计数据来构建最优的网络拓补结构。”**,尽管没有严格的数学证明,但是这很符合Hebbian principle的说法,这为网络架构的设计提供了有力的理论保障!

4. Inception Module

Inception的主要观点是弄明白卷积视觉网络中的一个局部最优稀疏结构是如何被一个可轻易获取的密集结构去逼近和覆盖的。
  Inception model 的结构如下;左边是初期版本,这里使用三个不同的patch size,1X1 3X3 5X5,主要是为了避免patch alignment问题和减少计算量。比如对三个patch分别使用padding=0,1,2进行卷积就可以让卷积后的输出具有相同的尺寸,而patch size较小的时候对应的参数相应也小一些,比如1×1=1,3×3=9,5×5=25,再往后参数数量的增长速度就更快了。由于池化层在卷积神经网络中的作用往往都是起关键作用的,所以Inception model里也加入了一个池化层。但这种设计不是必须的,只是为了更方便。
Inception Module   
  但是初级的版本有个很大的缺点就是参数量和计算量会很大,而且将三个卷积层和一个池化层的输出拼接后的feature map数量会变得很大,随着网络层数的增加,模型会变得很复杂,变得难以训练。以GoogLeNet的3a模块为例,输入的feature map是28×28×192,3a模块中1×1卷积通道为64,3×3卷积通道为128,5×5卷积通道为32,如果是左图结构,那么卷积核参数为 1 × 1 × 192 × 64 + 3 × 3 × 192 × 128 + 5 × 5 × 192 × 32 1×1×192×64+3×3×192×128+5×5×192×32 1×1×192×64+3×3×192×128+5×5×192×32,而右图对3×3和5×5卷积层前分别加入了通道数为96和16的1×1卷积层,这样卷积核参数就变成了 1 × 1 × 192 × 64 + ( 1 × 1 × 192 × 96 + 3 × 3 × 96 × 128 ) + ( 1 × 1 × 192 × 16 + 5 × 5 × 16 × 32 ) 1×1×192×64+(1×1×192×96+3×3×96×128)+(1×1×192×16+5×5×16×32) 1×1×192×64+1×1×192×96+3×3×96×128+1×1×192×16+5×5×16×32,参数大约减少到原来的三分之一。同时在并行pooling层后面加入1×1卷积层后也可以降低输出的feature map数量,左图pooling后feature map是不变的,再加卷积层得到的feature map,会使输出的feature map扩大到416,如果每个模块都这样,网络的输出会越来越大。而右图在pooling后面加了通道为32的1×1卷积,使得输出的feature map数降到了256。GoogLeNet利用1×1的卷积降维后,得到了更为紧凑的网络结构,虽然总共有22层,但是参数数量却只是8层的AlexNet的十二分之一(当然也有很大一部分原因是去掉了全连接层)。
   另外一个值得注意的地方是:为了避免网络过深引起的浅层梯度消失问题,GoogLenet在中间层的Inception module加入了两个辅助分类器(softmax),训练时在进行梯度下降求导的时候,将辅助分类器的损失函数(cost function)乘以0.3的权重加到总的损失函数上,这样可以有效避免梯度消失的问题。做预测的时候就不管这两个辅助分类器。

5. GoogleNet

GoogLeNet

6. Conclusion

GoogLeNet最终在2014年的ILSVRC Classification & Detection均斩获冠军,取得了惊人的成绩。相比第二名的VGGNet,GoogLeNet拥有更深的网络结构和更少的参数和计算量,主要归功于在卷积网络中大量使用了1×1卷积,以及用AveragePool取代了传统网络架构中的全连接层,当然这需要精心设计Inception architecture 才能取得最后这优异的成绩。

7. Reference

(1)Going deeper with convolutions https://arxiv.org/pdf/1409.4842.pdf
(2)Network in Network https://arxiv.org/pdf/1312.4400.pdf
(3)https://blog.csdn.net/mounty_fsc/article/details/51746111
(4)https://blog.csdn.net/qq_31531635/article/details/72232651

附录

《Going deeper with convolutions》论文中计算量表的修正版
纠正
图片来源:http://www.xue63.com/toutiaojy/20180102G0RYYR00.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170441.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • word文件都变成了白色的图标了,该怎么处理?-ZOL问答_word图标变成白底docx

    word文件都变成了白色的图标了,该怎么处理?-ZOL问答_word图标变成白底docxwin10word图标变白了怎么办?在win10操作系统中当我们需要使用一些办公软件office,当我们在win10系统中安装了office之后,桌面上出现了excel、word以及PowerPoint等图标,这些图标上竟然都显示不正常,在图标上面有一个白色的图标,变白的现象该怎么办呢?针对这样的现象一般是缓存文件引起的,下面给大家介绍下win10word图标变成白底的解决方法。word图标…

    2022年10月19日
    3
  • java 刷屏器「建议收藏」

    java 刷屏器「建议收藏」本想做个聊天机器人,最终还是获取不了聊天信息,只能写了个刷屏器,仅供娱乐。importjava.awt.AWTException;importjava.awt.Robot;importjava.awt.Toolkit;importjava.awt.datatransfer.StringSelection;importjava.awt.event.KeyEvent;imp

    2022年5月31日
    28
  • pdf拆分保留书签_pdf补丁

    pdf拆分保留书签_pdf补丁PDF补丁丁0.2.7.2版软件已经更新,请在博客首页(http://pdfpatcher.cnblogs.com)下载最新版。2010年6月11日更新功能介绍PDF补丁丁是一个用于修改PDF文件信息的工具。它具有以下功能:生成PDF文件:通过导入一批图片或已有PDF文件,生成包含图片及已有PDF文件指定页面范围的PDF文件。在生成文件时还可挂上书签。用此功能…

    2025年5月24日
    6
  • android之存储篇_SQLite数据库_让你彻底学会SQLite的使用「建议收藏」

    SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外:定义为INTEGERPRIMARYKEY的字段只能存储64位整数,当向这种字段保存除整数以外的数据时,将会产生错误。另外,SQLite在解析CR…

    2022年3月10日
    36
  • 腾讯群关系数据泄漏下载什么软件_云和数据/和华为之间的关系

    腾讯群关系数据泄漏下载什么软件_云和数据/和华为之间的关系腾讯群关系数据泄漏(可根据QQ号获得该人姓名经历等详细信息),外界已经有下载地址了,迅雷上就可以看到很多用户数据泄漏,可能是早期的漏洞被利用抓取的,可以根据QQ查一个人的姓名,年龄,关系网甚至从业经历等等

    2022年9月1日
    4
  • vue 滑动验证码(vue登陆如何获取token)

    之前别人都是用jq写的,自己整理了一下开始使用<el-form-itemlabel="验证"><divclass="form-inline-input"><divclass="code-box"id="code-box">

    2022年4月15日
    131

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号