GoogLeNet 神经网络结构

GoogLeNet 神经网络结构GoogLeNet是2014年ILSVRC冠军模型,top-5错误率6.7%,GoogLeNet做了更大胆的网络上的尝试而不像vgg继承了lenet以及alexnet的一些框架,该模型虽然有22层,但参数量只有AlexNet的1/12。GoogLeNet论文指出获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数),但是一般情况下更深或更宽的网络

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

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

GoogLeNet是2014年 ILSVRC 冠军模型,top-5 错误率 6.7% ,GoogLeNet做了更大胆的网络上的尝试而不像vgg继承了lenet以及alexnet的一些框架,该模型虽然有22层,但参数量只有AlexNet的1/12。


GoogLeNet论文指出获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数),但是一般情况下更深或更宽的网络会出现以下问题:

1. 参数太多,容易过拟合,若训练数据集有限,这一问题更加突出;


2. 网络越大计算复杂度越大,难以应用;


3. 网络越深,梯度越往后穿越容易消失,难以优化模型;

总结起来就是更大的网络容易产生过拟合并且增加了计算量。针对这两点,GoogLeNet认为根本方法是将全连接甚至一般的卷积都转化为稀疏连接。传统的网络使用了随机稀疏连接,而计算机软硬件对非均匀稀疏数据的计算效率很低

基于保持神经网络结构的稀疏性,又能充分利用密集矩阵的高计算性能的出发点,GoogleNet提出了名为Inception的模块化结构来实现此目的。依据是大量的文献表明可以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能

Inception是一种网中网(Network In Network)的结构,即原来的结点也是一个网络。Inception一直在不断发展,目前已经V2、V3、V4了。Inception的结构如图所示,其中1*1卷积主要用来降维,用了Inception之后整个网络结构的宽度和深度都可扩大,能够带来2-3倍的性能提升。


GoogLeNet 神经网络结构

对Inception的结构做以下说明:

       1. 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;

       2. 之所以卷积核大小采用1、3和5,主要是为了方便对齐。设定卷积步长stride=1后,只要分别设定pad=0、            1、2,那么卷积后便可以得到相同维度的特征,然后这些特征就可以直接拼接在一起了;

       3 . 文章说很多地方都表明pooling挺有效,所以Inception里面也嵌入了;

       4 . 网络越到后面,特征越抽象,而且每个特征所涉及的感受野也更大了,因此随着层数的增加,3×3和5×5卷             积的比例也要增加。

       5. 使用5×5的卷积核仍然会带来巨大的计算量。 为此,文章借鉴NIN2,采用1×1卷积核来进行降维。 卷积神            经网络 1*1 卷积核  

       此外,该模型最后采用了average pooling来代替全连接层。但是,实际在最后还是加了一个全连接层,主要是为了方便以后大家finetune。


GoogLeNet网络整体结构:

GoogLeNet 神经网络结构


简化版:

GoogLeNet 神经网络结构


对上图做如下说明:

1 . 显然GoogLeNet采用了模块化的结构,方便增添和修改;

2 . 网络最后采用了average pooling来代替全连接层,想法来自NIN,事实证明可以将TOP1 accuracy提高0.6%。但是,实际在最后还是加了一个全连接层,主要是为了方便以后大家finetune;

3 . 虽然移除了全连接,但是网络中依然使用了Dropout ;

4 . 为了避免梯度消失,网络额外增加了2个辅助的softmax用于向前传导梯度。文章中说这两个辅助的分类器的loss应该加一个衰减系数,但看caffe中的model也没有加任何衰减。此外,实际测试的时候,这两个额外的softmax会被去掉。


辅助分类器


GoogLeNet用到了辅助分类器。Inception Net一共有22层,除了最后一层的输出结果,中间节点的分类效果也有可能是很好的,所以GoogLeNet将中间某一层的输出作为分类,并以一个较小的权重(0.3)加到最终的分类结果中。一共有2个这样的辅助分类节点。


辅助分类器相当于对模型做了融合,同时给网络增加了反向传播的梯度信号,在一定程度上提供了正则化的作用。

辅助分类器的具体细节:

1.均值pooling层滤波器大小为5×5,步长为3,(4a)的输出为4x4x512,(4d)的输出为4x4x528;

2.1×1的卷积有用于降维的128个滤波器和修正线性激活;

3.全连接层有1024个单元和修正线性激活;

4.dropout层的dropped的输出比率为70%;

5.线性层将softmax损失作为分类器(和主分类器一样预测1000个类,但在inference时移除)。


参考: http://blog.csdn.net/shuzfan/article/details/50738394

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

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

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


相关推荐

  • AVX512与AVX2比较「建议收藏」

    AVX512与AVX2比较「建议收藏」采用,SHA256(SHA256哈希计算是有效负载处理管道的重要部分)优点:1、寄存器变化(与AVX2相比,不仅寄存器的宽度从256位增加到512位,而且寄存器的数量也增加了一倍,达到32)2、比AVX2提供高达8倍的性能提升,由于并行处理了16条消息如何最好地利用为了获得AVX512实现的最佳性能,这里有一些提示:有很多例行程序并行进行SHA256计算。 尝试使用…

    2022年5月30日
    73
  • 数据库的存储过程_数据库的存储过程语句

    数据库的存储过程_数据库的存储过程语句一、存储过程与函数的区别:1.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。2.对于存储过程来说可以返回参数(output),而函数只能返回值或者表对象。3.存储过程一

    2022年8月5日
    9
  • PyQuery用法详解

    PyQuery用法详解PyQuery是强大而又灵活的网页解析库,如果你觉得正则写起来太麻烦,如果你觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法那么,PyQuery就是你绝佳的选择。一、初始化方式,有三种,可以传入字符串,传入url,传入文件。字符串初始化html=”’<div><ul><liclass="item-…

    2022年4月30日
    45
  • java scanner close_Java Scanner close()方法

    java scanner close_Java Scanner close()方法JavaScannerc 方法 java util Scanner close 方法关闭此 scanner 如果此 scanner 尚未关闭 并且其潜在的可读性也实现 Closeable 接口 然后是可读的 close 方法将被调用 如果此 scanner 已关闭 则调用这个方法不会有任何效果 1 语法 publicvoidcl 2 参数无 3 返回值无 4 示例 packagecom yii

    2025年10月20日
    3
  • Pycharm及python安装详细教程

    Pycharm及python安装详细教程首先我们来安装python1、首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/),进入之后如下图,选择图中红色圈中区域进行下载。2、下载完成后如下图所示3、双击exe文件进行安装,如下图,并按照圈中区域进行设置,切记要勾选打钩的框,然后再点击Customizeinstall

    2022年4月26日
    62
  • 如何求a类不确定度_不确定度a类分量与随机误差相对应

    如何求a类不确定度_不确定度a类分量与随机误差相对应1.计算A类不确定度u(a):某一工业容器温度控制要求为10℃,用温度计连续。A类不确定度的计算方法n=6时,u(a)=S(x)数据平均值设为q用贝塞尔公式S(x)*S(x)=[(X1-q)*(X1-q)+(X2-q)*(X2-q).+(X6-q)(X6-q)]/(6-1)可求出a类不确定度b类Ub就是0.6."A类不确定度"和"B类不确定度"的区别在于测定方法、输入量、系统效应的不…

    2022年9月24日
    3

发表回复

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

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