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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle 数据库隔离级别

    oracle 数据库隔离级别[b]事务不同引发的状况:[/b]脏读(Dirtyreads)一个事务读取另一个事务尚未提交的修改时,产生脏读很多数据库允许脏读以避免排它锁的竞争。不可重复读(Nonrepeatablereads)同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发…

    2022年5月9日
    29
  • 微服务架构-实现技术之具体实现工具与框架8:Spring Cloud Config原理与注意事项

    目录注:主要只做理论性的总结与分析,相关实战代码会在后面的博客中和github中逐步增加。一、配置中心的由来及选择(一)配置中心由来(二)配置中心要求具备的功能(三)配置中心基本流转图和支撑体系分析​(四)多种配置中心的选择与对比方案二、SpringCloudConfig概述及基本实现方法介绍三、SpringClo…

    2022年4月6日
    50
  • php网上购物系统_有享网商城官网

    php网上购物系统_有享网商城官网实现功能:1、系统功能模块包括:1)登陆注册模块包括验证码、找回密码。注册模块中要使用Ajax判断用户名是否已经存在,使用正则表达式判断电子邮件、手机号和用户密码的格式是否合法。2)用户管理模

    2022年8月1日
    6
  • android中UI设计心得

    android中UI设计心得UI布局的设计,布局方式有相对布局(RelativeLayout)线性布局(LinearLayout),表格布局(TableLayout),网格布局(GridLayout),帧布局(FrameLayout),绝对布局(AbsoluteLayout);下面这个界面的布局格式,是通过相对布局实现的,每一行是一个整体,整体里面也是也是通过相对布局实现的;编写项目时,我们需要在res中创建文件夹一定要

    2022年6月26日
    41
  • 超级用户权限root_小米开发版root权限获取

    超级用户权限root_小米开发版root权限获取小米手机6X有没有办法开启ROOT超级权限?我们知道,安卓手机有ROOT超级权限,如果手机开启root相关权限,能够实现更好的功能,举例子,我们部门的营销部门,使用一些营销软件都需要在ROOT超级权限下执行,如果手机没办法获的root的权限,即没办法正常使用具体的功能。小米手机6X开发版系统自身拥有root权限管理工具,如果你使用的是小米手机6X稳定版,建议可以先将小米手机6X刷入开发版,再进…

    2025年6月18日
    5
  • eclipse没有server选项怎么解决

    eclipse是一个开放源代码的、基于java的可扩展开发平台。它使用频率十分高,然而当使用它部署项目时候,经常会发现一个重要的问题就是打开eclipse之后没有了server选项,那么该怎么解决这个问题呢?第一步、在eclipse菜单“Help”中选择“InstallNewSoftware”第二步、在浏览器输入:https://download.eclipse….

    2022年4月7日
    51

发表回复

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

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