GoogLeNet v1结构「建议收藏」

GoogLeNet v1结构「建议收藏」GooLeNetInception块GooLeNetGooLeNet是google2014年推出的深度神经网络模型,原论文名称为:Goingdeeperwithconvolutions,在沐神的书上也被叫做含并⾏连结的⽹络(主要由于Inception块中的结构)。该模型在2014年ILSVRC2014比赛中竞赛中夺得冠军,14年之后也在不断发展,这里就介绍一下初始的版本。Inception块GooLeNet思想有点类似于VGG,先构建块,网络主要通过块的堆叠实现,不过这里的块与VGG块不同,称

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

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

GoogLeNet是google2014年推出的深度神经网络模型,原论文名称为:Going deeper with convolutions,在沐神的书上也被叫做含并⾏连结的⽹络(主要由于Inception块中的结构)。该模型在2014年ILSVRC 2014比赛中竞赛中夺得冠军,14年之后也在不断发展,这里就介绍一下初始的版本。

Inception块

GoogLeNet思想有点类似于VGG,先构建块,网络主要通过块的堆叠实现,不过这里的块与VGG块不同,称之为Inception,GoogLeNet的核心就是Inception块,一个Inception块的结构如下图:
Inception块的结构
一个Inception块可以说是集合了LeNet,AlexNet,NiN,VGG其中的架构,包括3×3卷积层、1×1卷积层、5×5卷积层和池化层,可以从上图看到,Inception块与其他的什么VGG块、NiN块不一样的是,VGG与NiN块内部都是一条路的运算,而一个Inception块包括4条路,将输入通过不同的路得到不同的输出(注意这里的输出形状都是一样的),然后将这些输出在channel方向concat起来得到一个Inception的最后输出。我们从左到右将路记为第1,2,3,4路,一个Inception块的这些路具体介绍如下:
第一条路: 只用到了1×1的卷积核,所以输出不改变原输入的形状,输出channel数为超参数。
第二条路: 用到了1×1卷积核与3×3卷积核,1×1卷积层不改变输入形状,channel数自定,3×3卷积层的padding为1,即分别在四周添1行列,stride为1,输出的形状为 ( n − 3 + 2 + 1 ) / 1 = n (n-3+2+1)/1=n (n3+2+1)/1=n(n为输入长或者高),所以可以看到输出形状还是与输入相同,但channel数不一样。
第三条路: 用到了1×1卷积核与5×5卷积核,1×1卷积层不改变输入形状,channel数自定,5×5卷积层的padding为2,即分别在四周添加2行列,输出形状为 ( n − 5 + 4 + 1 ) / 1 = n (n-5+4+1)/1=n (n5+4+1)/1=n(n为输入长或者高),所以可以看到输出形状还是与输入相同,但channel数不一样。
第四条路: 用到了3×3最大池化与1×1卷积,最大池化的padding为1,每个channel输出形状还是与输入相同,接一个1×1的卷积层,也不改变输入形状。
最后将这四条路的输出按照通道数方向合并,得到一个Inception块的最后输出。
第一个Inception块可由下图表示(来自沐神):
第一个Inception块描述

GoogLeNet

GoogLeNet核心就是不同Inception块的堆叠,原作者使用的是9个Inception块,我们可以把GoogLeNet分成5段,称之为5个stage,具体结构如下:
在这里插入图片描述
具体来说,GoogLeNet开始使用一个7×7的卷积层,3×3的最大池化;1×1卷积层,3×3的最大池化,3×3的最大池化;然后是两个Inception块,当然前一个块的输出形状要对应后一个块的输入形状,接一个3×3的最大池化;5个Inception块,接一个3×3的最大池化;2个Inception块,接一个全局平均池化,最后接一个全连接得到最后输出。

代码可见:链接
原论文可见:GoogLeNet

参考资料:李沐—动手学深度学习v2
深度学习笔记 11/16

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

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

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


相关推荐

  • HTML中的定位(php跳转到指定网页)

    1、通过地址定位:先页面定位位置:<aname=”name”/>然后通过js地址跳转:location.href=”#name”;或直接点击的html<ahref=”#name”>2、基于H5标准语法跳转先页面定位位置:<aid=”name”/>document.querySelector(“#name”).sc…

    2022年4月14日
    55
  • SpringBoot整合Mybatis超详细流程

    SpringBoot整合Mybatis超详细流程SpringBoot整合Mybatis超详细流程文章目录SpringBoot整合Mybatis超详细流程前言详细流程0.引入Mybatis1.创建数据2.创建程序目录3.理解后台访问流程4.核心文件配置5.编写entity6.编写dao7.编写Mapper8.编写Service9.编写Controller10.运行项目参考文章前言MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且

    2025年7月16日
    5
  • 解决MyQL数据库中1045错误的方法——Windows系统「建议收藏」

    解决MyQL数据库中1045错误的方法——Windows系统「建议收藏」在各种各样的适用场所,MySQL会出现各种各样的问题,经过足足半年的长跑,我的数据库终于修复了Bug,可以重新使用了。数据库出问题,那可能是家常便饭了。经过这足足半年的煎熬,我决定在以后的日子里,记录下我在使用数据库时遇到的色彩缤纷的问题,以及这些问题的解决方法。由此,今天写了这篇博客。首先,给大家看看,这个问题是什么样子的。我在这里用到的MySQL可视化工具为Navicat。这个错误…

    2022年6月13日
    30
  • github网速很慢(github很慢)

    下面是转载其他人的信息,实测通过换URL确实速度飞快!近日,我在Github上下载源码,真的鸡肋,慢的一匹,通过以下方式,让我下载Github速度飞快,因为刚好有代理,就用的第一种方式,而后面几种方式参考自网上的一些方案,自己也尝试了一下,有点用,就贴出来,给大家提升一下工作效率,如果您也有类似的问题,欢迎转发,收藏~同时,欢迎留言区写下自己用过或者本文没有提到的方案,一起完善~1.有代理只需要针对github设置代理即可,这里以ss为例子:#只对github.comgitconfig

    2022年4月18日
    42
  • JsonObject和JsonArray转换问题

    JsonObject和JsonArray转换问题开发过程中遇到需要将调用接口返回的JsonObject转换为JsonArray格式的数据,在使用过成中遇到转换问题,代码如下publicstaticJSONObjectgetRecJsonObj(StringstuId,StringschoolDate){Stringjson;try{json=Jsoup.connect(UrlConfig.URL+”GetStudentInfo?stuId=”+stuId+

    2022年5月31日
    41
  • 那些长短不一的PCI-E插槽都有什么不一样?

    那些长短不一的PCI-E插槽都有什么不一样?https://www.ednchina.com/news/20171121-PCI-E.html时间:2017-11-21目前PCI-E插槽已经成为了主板上的主力扩展插槽,除了显卡会用到PCI-E插槽外,诸如独立声卡、独立网卡、USB3.0/3.1接口扩展卡以及SSD等硬件都可以使用PCI-E插槽。主板上的扩展插槽曾经是多种多样的,例如曾经非常流行…

    2022年5月30日
    53

发表回复

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

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