GoogLeNet论文解读—Going deeper with convolutions2015(V1)

GoogLeNet论文解读—Going deeper with convolutions2015

说明:本文只解读GooleNet的14年参赛的v1版本,之后的改进版本可能在日后的学习中继续更新

研究背景

更深的卷积神经网络

认识数据集:ImageNet的大规模图像识别挑战赛

LSVRC-2014:ImageNet Large Scale Visual Recoanition Challenge(14年的相关比赛)

ILSVRC:大规模图像识别挑战赛

ImageNet Large Scale Visual RecognitionChallenge是李飞飞等人于2010年创办的图像识别挑战赛,自2010起连续举办8年,极大地推动计算机视觉发展。

比赛项目涵盖:图像分类(Classification)、目标定位(Objectlocalization)、目标检测(Object detection)、视频目标检测(Object detection from video)、场景分类(Scene classification)、场景解析(Scenearsing)

竞赛中脱颖而出大量经典模型:
alexnet,vgg,googlenet,resnet,densenet

参考的研究背景:

  1. NlN(NetworkinNetwork):首个采用1*1卷积的卷积神经网络,舍弃全连接层,大大减少网络参数(网络中的网络
  2. Robust Object Recognition with Cortex-Like Mechanisms:多尺度Gabor滤波器提取特征
  3. Hebbianprinciple(赫布理论 )一起激发的神经元连接在一起

NiN网络

在李沐老师的动手学深度学习中有对NiN网络的相关的描述信息。
VGG和NiN及它们的块之间主要架构差异。 NiN块以一个普通卷积层开始,后面是两个的1x1卷积层。这两个卷积层充当带有ReLU激活函数的逐像素全连接层。 第一层的卷积窗口形状通常由用户设置。 随后的卷积窗口形状固定。

在这里插入图片描述

NIN(Network in Network):首个采用1 * 1卷积的卷积神经网络
特点:

  • 1*1卷积
  • GAP输出(全局平均池化

在这里插入图片描述
回顾特征图输出大小的计算公式:

F o = ⌊ F in  − k + 2 p s ⌋ + 1 F_{o}=\left\lfloor\frac{F_{\text {in }}-k+2 p}{s}\right\rfloor+1 Fo=sFin k+2p+1

对NIN中的数值进行分析可以得到的是在第一次我们采用的是224x224的三个通道的输入。

使用了11x11的步长为4的96个卷积核来进行卷积运算:应用公式可以得到:=(224-11)/4+1=54

得到了54x54的96通道数的输出值(与Alexnet保持相同

之后使用3x3的maxpooling 步长为2(不改变通道数)

=(54-3)/2+1 =26

之后就得到了26x26x96的输出,中间的nin块使用了两个全连接的卷积层来代替全连接层

之后的分析过程相同,可以理解为在AlexNet的基础上引入了1x1的卷积核

在这里插入图片描述

研究成果

GoogLeNet:

分类第一名,检测第一名 ,定位第二名

VGG:定位第一名,分类第二名

在这里插入图片描述

  1. 开启多尺度卷积时代
  2. 拉开1*1卷积广泛应用序幕
  3. 为GoogLeNet系列开辟道路(v1-v2-v3-v4)

论文精读

摘要

We propose a deep convolutional neural network architecture codenamed Inception, which was responsible for setting the new state of the art for classification and detection in the ImageNet Large-Scale Visual Recognition Challenge 2014(ILSVRC14). The main hallmark of this architecture is the improved utilization of the computing resources inside the network. This was achieved by a carefully crafted design that allows for increasing the depth and width of the network while keeping the computational budget constant. To optimize quality, the architectural decisions were based on the Hebbian principle and the intuition of multi-scale processing. One particular incarnation used in our submission for ILSVRC14 is called GoogLeNet, a 22 layers deep network, the quality of which is assessed in the context of classification and detection.

摘要总结:

  1. 本文主题:提出名为lnception的深度卷积神经网络,在ILSVRC-2014获得分类及检测双料冠军
  2. 模型特点1:Inception特点是提高计算资源利用率,增加网络深度和宽度时,参数少量增加
  3. 模型特点2:借鉴Hebbain理论和多尺度处理

论文结构

  1. introduction
  2. RelatedWork
  3. Motivation and High Level Considerations
  4. ArchitecturalDetails
  5. GoogLeNet
  6. Trainning ethodology
  7. ILSVRC 2014 Classification Challenge Setup and Results
  8. ILSVRC 2014 Detection Challenge Setup and Results
  9. Conclusions
  10. Acknowlegements

论文中的图一任务:举例说明了分类任务本身就是比较有难度的,哈士奇犬和爱斯基摩犬本身就难以区分。

在这里插入图片描述
论文中的图二任务解释了多尺度卷积的inception结构,和其改进之后的形式。(补充动手学深度学习中的图)

在这里插入图片描述
在这里插入图片描述

GoogLenet网络结构

Inception Module

特点:

  1. 多尺度
  2. 1*1卷积降维,信息融合
  3. 3*3 max pooling 保留了特征图数量

图片中的改进方式主要体现在了降维上
在这里插入图片描述

首先说明之前的Inception Module存在的问题

结合原始的inception结构(3x3的填充为1 5x5的填充为2,可以使得输出的大小保持不变28x28
在这里插入图片描述

最后几个尺度得到的特征图都是28x28在融合的过程中将通道数进行相加运算。

3 * 3pool可让特征图通道数增加,且用较少计算量。缺点:数据量激增

其中计算量大的主要的原因是因为通道数过多导致了,计算的参数量过大,解决的办法就是使用1x1卷积进行一个通道融合的操作

在这里插入图片描述

主要的降维解决方法如下:

首先3x3的pooling还保留了原来的256个通道数,使用1x1的卷积核进行降维处理,保持64个通道数,在3x3卷积核与5x5卷积核在28x28x256上进行卷积的运算量过多,使用1x1的64卷积核对特征进行了一部分的压缩处理

F i × ( K s × K s ) × K n + K n F_{i} \times\left(K_{\mathrm{s}} \times K_{\mathrm{s}}\right) \times K_{n}+K_{n} Fi×(Ks×Ks)×Kn+Kn

Fi:输入的通道数
ks:卷积核的尺寸
kn:卷积核的数量(输出的通道数)

Fi从256到64减少参数的运算

在这里插入图片描述

网络架构

  1. 三阶段:conv-pool-conv-pool快速降低分辨率;堆叠lnception;FC层分类输出
  2. 堆叠使用lnceptionModule,达22层
  3. 增加两个辅助损失,缓解梯度消失(中间层特征具有分类能力)

在这里插入图片描述
简化之后的网络结构可以用动手学深度学习中的图来进行简化操作

在这里插入图片描述
而论文中也给出了表格形式的具体的描述信息:

在这里插入图片描述
根据这个图表中给出的参数,简单解释一下计算的步骤,同样输入的图片也是224x224的3通道彩色图像。

首先进行7x7的步长为2的卷积运算(padding=3做减半运算

=(224-7+6)/2 +1=112
第二次池化的padding=1做减半运算
=(112+2-1)/2 +1 =56

之后的运算过程结合公式依次进行类推。(设置的参数之间并没有发现一些规律

All the convolutions, including those inside the Inception modules, use rectified linear activation.
The size of the receptive field in our network is 224×224 taking RGB color channels with mean subtraction. “#3×3 reduce” and “#5×5 reduce” stands for the number of 1×1 filters in the reduction
layer used before the 3×3 and 5×5 convolutions. One can see the number of 1×1 filters in the projection layer after the built-in max-pooling in the pool proj column. All these reduction/projection
layers use rectified linear activation as well.
The network was designed with computational efficiency and practicality in mind, so that inference
can be run on individual devices including even those with limited computational resources, especially with low-memory footprint. The network is 22 layers deep when counting only layers with
parameters (or 27 layers if we also count pooling). The overall number of layers (independent building blocks) used for the construction of the network is about 100. However this number depends on
the machine learning infrastructure system used. The use of average pooling before the classifier is
based on [12], although our implementation differs in that we use an extra linear layer. This enables
adapting and fine-tuning our networks for other label sets easily, but it is mostly convenience and
we do not expect it to have a major effect. It was found that a move from fully connected layers to
average pooling improved the top-1 accuracy by about 0.6%, however the use of dropout remained
essential even after removing the fully connected layers.

训练技巧(Training Tricks)

辅助损失(训练使用)

在lnception4b和Inception4e增加两个辅助分类层,用于计算辅助损失
达到

  1. 增加loss回传
  2. 充当正则约束,迫使中间层特征也能具备分类能力

后面的后续论文中证明了辅助损失几乎没什么作用

数据增强

指导方针:

  1. 图像尺寸均匀分布在8%-100%之间
  2. 长宽比在[3/4,4/3]之间
  3. Photometricdistortions有效,如亮度、饱和度和对比度等

论文原文中(第6部分)没有公布具体的训练方法,对于数据增强的方式,描述入下:

so it is hard to give a definitive guidance to the most effective single way to train these networks.

To complicate matters further, some of the models were mainly trained on smaller relative crops, others on larger ones, inspired by [8]. Still, one prescription that was verified to work very well after the competition includes sampling of various sized patches of the image whose size is distributed evenly between 8% and 100% of the image area and whose aspect ratio is chosen randomly between 3/4 and 4/3. Also, we found that the photometric distortions by Andrew Howard [8] were useful to combat overfitting to some extent. In addition, we started to use random interpolation methods (bilinear, area, nearest neighbor and cubic, with equal probability) for resizing relatively late and in conjunction with other hyperparameter changes, so we could not tell definitely whether the final results were affected positively by their use.

测试技巧

  1. Multi crop(不是特别理解简单理解为防止过拟合的一种数据增强方式)文章将 1张图变144张图
  • Step1:等比例缩放短边至256,288,320,352,四种尺寸。一分为四
  • Step2:在长边上裁剪出3个正方形,左中右或者上中下,三个位置。一分为三
  • Step3:左上,右上,左下,右下,中心,全局resize,六个位置。一分为六
  • Step4:水平镜像。一分为二
  • 436*2=144
  1. 原文中提到了模型融合的概念
  1. We independently trained 7 versions of the same GoogLeNet model (including one wider
    version), and performed ensemble prediction with them. These models were trained with
    the same initialization (even with the same initial weights, mainly because of an oversight)
    and learning rate policies, and they only differ in sampling methodologies and the random
    order in which they see input images

七个模型训练差异仅在图像采样方式和顺序的差异(超参数的不同)

结合测试的模型实验值

在这里插入图片描述
在这里插入图片描述

单模型的效果一般,多模型的效果更好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试八股之Thread类中的yeild方法有什么作用

Thread类中的yeild方法有什么作用 谦让机制:Thread.yield()方法主要用于实现线程间的礼让或谦让机制。当某个线程执行到yield()方法时,它会主动放弃当前已获得的CPU执行权,从运行状态(Running)转变为可运行状态&#…

快速失败“fail-fast”和安全失败“fail-safe”

目录 快速失败——fail-fast 异常原因 正常原因 安全失败“fail-safe” 快速失败——fail-fast java的快速失败机制是java集合框架中的一种错误检测机制,当多个线程对集合中的内容进行修改时可能就会抛出ConcurrentModificationException异常。不仅仅在多线程状态…

网络安全等级保护2.0(等保)是什么

等保的全称是信息安全等级保护,是《网络安全法》规定的必须强制执行的,保障公民、社会、国家利益的重要工作。 通俗来讲就是:公司或者单位因为要用互联网,但是网上有坏人,我们不仅要防御外部坏人,还要看看…

2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟

注意开浮点数 ​​​​ import java.util.Scanner;public class Main {static Scanner scnew Scanner(System.in);public static void main(String[] args) {double t0;int cnt0;double distance1000;while(distance>1){//相撞时间tdistance/60.0;distance-t*20;cnt;}Syste…

Text Control 控件 中 Service Pack 3:MailMerge 支持 SVG 图像

图像的合并方式与报告模板中的合并字段相同。占位符在设计时添加,并与文件、数据库或内存中的数据合并。可以将图像对象添加到具有指定名称的模板中。数据列必须包含字节数组形式的二进制图像数据、System.Drawing.Image 类型的对象、文件名、十六进制或 Base64 编码…

【Linux进程篇】父子进程fork函数||进程生死轮回状态||僵尸进程与孤儿进程

W...Y的主页 😊 代码仓库分享💕 前言:上篇文章中我们认识了进程,可执行程序在内存中加载运行被称作进程,而操作系统是通过给每一个可执行程序创建一个PCB来管理进程的。并且学习了一些查看进程的指令,认识…

香橙派AIpro开发板开箱体验,国产AI计算力实现可控

一、引言 1. 嵌入式AI技术背景与发展趋势 近年来,随着人工智能技术的飞速发展,嵌入式AI技术在各个领域得到了广泛应用。作为智能设备的核心部件,嵌入式AI开发板为开发者提供了高效、便捷的开发环境,推动了智能设备的不断创新和进步…

新闻稿推广策略有哪些?建议收藏

新闻稿推广是一种有效的公关工具,它可以帮助企业或组织传递信息、提升品牌知名度、建立权威形象,并最终促进销售。新闻稿推广策略有哪些?接下来伯乐网络传媒就来给大家分享一下。 确定目标受众:在撰写新闻稿之前,明确你…

重生之 SpringBoot3 入门保姆级学习(06、属性绑定)

重生之 SpringBoot3 入门保姆级学习(06、属性绑定) 2.3.1 使用 ConfigurationProperties2.3.2 使用 EnableConfigurationProperties 2.3.1 使用 ConfigurationProperties application.properties 文件书写相关配置 pig.id1 pig.name王萍 pig.age21方法一…

揭秘淘宝API接口:轻松连接电商巨头,打造无限商业可能

淘宝API接口是淘宝平台对外开放的一系列接口,通过这些接口,开发者可以获取淘宝平台上的商品信息、订单信息、物流信息等数据,实现与淘宝平台的交互。淘宝API接口支持多种数据格式,如JSON、XML等,方便开发者根据自己的需…

实时工业数据采集分析平台:推动工厂智能化的关键

在当今的工业领域,随着科技的飞速发展和竞争的日益激烈,实现工厂的智能化已成为企业追求持续发展的关键目标。而实时工业数据采集分析平台作为推动工厂智能化的重要力量,正发挥着重要的作用。 实时工业数据采集分析平台能够全方位、高精度地…

elementPlus+vue3易踩的坑之el-radio单选框:为什么默认选项都被勾选了?

出错的效果&#xff1a; 选项都被选中了...... 明明是从elementplus复制过来的代码&#xff08;如下&#xff09;&#xff0c;怎么会出现这个情况呢&#xff1f; <el-radio-group v-model"radio"><el-radio value"1">通过</el-radio>&…

Windows:安装Win10、Win7系统常用的2种方式及相关问题处理

一、准备工作 1、U盘 首先&#xff0c;我们要准备一个8G左右大小的U盘 2、下载镜像文件 参考∶ 镜像文件下载及其检验方法 3、新机必备软件 建议安装之前&#xff0c;先把这些软件下载好。 360驱动大师、chrom浏览器、搜狗输入法、爱奇艺万能联播、Notepad、PDF、QQ、微信、…

如何免费把微信视频号的视频下载下来?电脑手机都可使用

今天&#xff0c;我将为大家分享一个实用的技巧&#xff1a;如何免费将微信视频号的视频下载下来。 微信视频号作为一个流行的短视频平台&#xff0c;拥有大量优质内容。然而&#xff0c;由于平台政策限制&#xff0c;我们无法直接下载视频。不过&#xff0c;别担心&#xff0…

Python环境配置以及包管理方法详细介绍

本文记录一下在Windows和Linux上安装部署Python环境以及Python包管理方法。 目录 1 Windows上安装Python2 Linux安装Python2.1 环境准备2.2 安装2.3 验证 3 python虚拟环境3.1 虚拟环境安装3.2 虚拟环境激活3.3 虚拟环境去激活 4 python包管理4.1 pip包管理工具4.2 包安装4.2.1…

拥塞控制的自适应 AQM 探索

拥塞控制面临的几类问题&#xff1a; 网络拥塞时&#xff0c;大象流如何为微突发让路&#xff1b;网络拥塞时&#xff0c;如何只惩罚造成拥塞的流量&#xff1b;网络拥塞时&#xff0c;如何确保小流量不受影响。 既然不想在 host 将流按照大小分类&#xff0c;嫌没意义&#…

【B站 heima】小兔鲜Vue3 项目学习笔记Day05

Day05 文章目录 Day05登录1. 整体认识和路由设置2. 表单校验实现3. 表单-统一校验4. 基础登录业务实现5. Pinia管理用户数据6. Pinia 数据持久化7. 登录和非登录状态下的模板适配8. 请求拦截器携带Token9. 退出登录功能的实现10. Token失效401拦截处理 购物车1. 流程梳理2. 本地…

韬光养晦的超绝项目

发展方向 竞技闯关类 可以加入对战系统积累积分&#xff0c;竞技类的接受程度更高&#xff0c;小孩&#xff08;我和我身边大多数人小时候&#xff09;都喜欢玩王者吃鸡这种经济类游戏&#xff0c;开放世界探索&#xff08;本项目、一梦江湖、逆水寒&#xff09;的受众群体年…

一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…