Inception_V2_V3

news2024/10/7 18:23:48

Inception_V2_V3

CNN卷积网络的发展史

1. LetNet5(1998)
2. AlexNet(2012)
3. ZFNet(2013)
4. VGGNet(2014)
5. GoogLeNet(2014)
6. ResNet(2015)
7. DenseNet(2017)
8. EfficientNet(2019)
9. Vision Transformers(2020)
10. 自适应卷积网络(2021)

上面列出了发展到现在CNN的一些经典的网络模型,我将持续不断更新学习上述神经网络的笔记。共勉!

原论文地址Rethinking the Inception Architecture for Computer Vision

目录

文章目录

  • Inception_V2_V3
    • CNN卷积网络的发展史
    • 目录
    • 主要知识点
      • 1. [通用设计原则:](#2-general-design-principles通用设计原则)
      • 2. [分解卷积和非对称分解卷积:](#3-factorizing-convolutions-with-large-filter-size分解大卷积核的卷积)
      • 3. [高效下采样](#5-efficient-grid-size-reduction高效下采样)
      • 4. [Label Smooth(标签平滑)](#7-model-regularization-via-label-smoothing使用标签平滑进行模型正则化)
    • Abstract(摘要)
    • 1. 介绍
    • 2. General Design Principles(通用设计原则)
      • 1. `避免过度降维或收缩特征而导致表示瓶颈特别是在网络浅层`
      • 2. `特征越多收敛越快,相互独立的特征越多输入的信息分解的越彻底`
      • 3. `3 * 3和5 * 5大卷积核卷积之前可以用1 * 1 卷积核进行降维,信息不会损失`
      • 4. `均衡网络的宽度和深度,两者同时提升既能提高性能又能提高计算效率`
    • 3 Factorizing Convolutions with Large Filter Size(分解大卷积核的卷积)
      • 3.1 Factorization into smaller convolutions(分解成更小的卷积)
        • 灵魂二问:
      • 3.2 Spatial Factorization into Asymmetric Convolutions(非对称分解卷积)
    • 4. Utillity of Auxiliary Classifiers(辅助分类器的作用)
    • 5. Efficient Grid Size Reduction(高效下采样)
      • `目的: `
      • `传统降维方法`
    • 7. Model Regularization via Label Smoothing(使用标签平滑进行模型正则化)
      • one-hot独热编码:
      • 极大似然估计:
      • 对数似然估计:
      • 交叉熵损失函数:
      • Label Smooth:
    • 8. Training Methodology(训练方法)
    • 10. Experimental Results and Comparisons(实验结果比较)
    • 11. Conclusions(总结)
  • 时人不识凌云木,直待凌云始道高!

主要知识点

1. 通用设计原则:

  • (1) 避免过度降维或收缩特征而导致表示瓶颈
  • (2) 特征越多收敛越快,相互独立的特征越多输入的信息分解的越彻底
  • (3) 3 * 3和5 * 5 卷积之前可以使用1 * 1卷积进行降维,不会损失太多信息
  • (4) 均衡网络的深度和宽度,两者同时提升可以即提高计算效率又提高模型性能

2. 分解卷积和非对称分解卷积:

  • 分解卷积:将5 * 5分解为2个 3 * 3卷积核,7 * 7卷积核分解为3个3 * 3卷积核
  • 非对称分解卷积:将5 * 5分解为1 * 5卷积核和5 * 1卷积核

3. 高效下采样

为了解决池化后出现模型表示瓶颈的问题,需要扩展特征维度。

4. Label Smooth(标签平滑)

目的: 减少过拟合,提高模型泛化能力!

在这里插入图片描述

Abstract(摘要)

卷积神经网络在计算机领域大放异彩,但是在加深加宽网络的同时也要考虑计算效率。

  • 引出下文通过可分离卷积正则化去提升计算效率

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 介绍

  • 好的分类模型可以迁移应用到其他计算机视觉任务上,共同特点:都需要CNN提取到的高质量视觉特征(visual features)
  • GoogLeNet在参数量上取得了很好的优势(AlexNet:6000w, GoogLeNet:500w, VGG16:1.3e)
  • 一味的叠加Inception模块会导致参数量过大换来的精度提升,得不偿失。

在这里插入图片描述

在这里插入图片描述

2. General Design Principles(通用设计原则)

这一章主要是介绍了作者想到的四种设计原则,论文中说道,这几种设计原则虽然没有严格的证明或者实验加持,但你要大致上遵守,如果你背离这几个原则太多,则必然会造成较差的实验结果。

  • 1. 避免过度降维或收缩特征而导致表示瓶颈特别是在网络浅层

做法:feature map长宽大小随网络的深度慢慢减小
原因:过度的降维或者收缩特征将造成一定程度的信息丢失(信息相关性丢失)

为何特别是网络的浅层?

因为在网络的浅层丢失的原图信息还不是很多,仍然保留信息的稀疏性。如果在浅层就进行过度地压缩和降维,会对后面提取特征等工作是有负面影响的。

  • 2. 特征越多收敛越快,相互独立的特征越多输入的信息分解的越彻底

赫布原理:fire together,wire together

人脸特征分解成人脸、人左眼、人右眼、鼻子、嘴巴、眉毛等等独立特征会比单纯的一张大脸特征收敛的快。(赫布原理)

  • 3. 3 * 3和5 * 5大卷积核卷积之前可以用1 * 1 卷积核进行降维,信息不会损失

原因: 我们知道feature map上每一个像素的感受野是仅隔一个步长的是具有相关性的,而1 * 1卷积将这些跨通道的信息进行交融、汇总、降维、嵌入,它们任然能保持相关性的。

  • 4. 均衡网络的宽度和深度,两者同时提升既能提高性能又能提高计算效率

深度: 网络层数。
宽度: 网络每层卷积核个数。

在这里插入图片描述

3 Factorizing Convolutions with Large Filter Size(分解大卷积核的卷积)

GoogLeNet成功的原因就是大量使用了1 * 1卷积进行降维。1 ×1 卷积核可以看作一个特殊的大卷积核分解过程,它损失少,大大降低计算量,增加非线性,跨通道交流。

原因:相邻感受野的卷积结果是高度相关的,在传入大卷积核聚合感受野之前可以先进行降维。

在这里插入图片描述

在这里插入图片描述

3.1 Factorization into smaller convolutions(分解成更小的卷积)

我们可以将5 * 5卷积核分解为2个3 * 3卷积核,7 * 7卷积核分解为3个3 * 3卷积核。这样可以有效的减少计算量。

原因:相邻感受野的权值共享。

在这里插入图片描述

在这里插入图片描述

灵魂二问:
  • 分解卷积是否会影响模型表达能力?

直观的看是可行的,从结果看也是可行的。但是要问严谨的数学原理,确实难以解释。

  • 是否需保留第一层的非线性激活函数?

对于分解后的激活函数,作者通过实验证明,保留对于原图的第一次3 ×3卷积的激活函数有较好效果(一层卷积变成两层了,增加了非线性变换,增强模型非线性表达能力),用BN后效果更好。

在这里插入图片描述

在这里插入图片描述

3.2 Spatial Factorization into Asymmetric Convolutions(非对称分解卷积)

将3 * 3卷积分解为1 * 3和3 * 1两个不对称卷积(空间可分离卷积)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

结果

在输入和输出等同的情况下,参数降低33%(将3x3卷积核分解为两个2x2卷积核,只是降低了11%)

结论

  • 不对称卷积分解 (n ×n 分解成了 n×1 和1 ×n) ,n 越大节省的运算量越大。
  • 不对称卷积分解在靠前的层效果不好feature map尺寸在12-20之间

在这里插入图片描述

可以理解成上图中左边这个是在深度上分解,而右边这个扩展滤波器组(增大特征个数)是在宽度上分解。 应用在最后的输出分类层之前,用该模块扩展特征维度生成高维稀疏特征(增加特征个数,符合原则二)。

在这里插入图片描述

在这里插入图片描述

4. Utillity of Auxiliary Classifiers(辅助分类器的作用)

在GoogLeNet里面用了两个辅助分类器(4a和4b两个模块后面),但是事后实验证明,辅助分类器并未在训练初期改善收敛性,第一个没什么用,在v2,v3里面去掉了

提问:

  • 为什么在训练快结束时带有辅助分类器的模型精度更高?

因为辅助分类器也起到了正则化的作用。

在这里插入图片描述

这里解释一下:步长为2就已经达到了下采样的目的

在这里插入图片描述

5. Efficient Grid Size Reduction(高效下采样)

目的:

传统上,卷积网络使用一些池化操作来缩减特征图的网格大小。为了避免表示瓶颈,在应用最大池化或平均池化之前,需要扩展网络滤波器的激活维度。

传统降维方法

  • 方法一:先对feature map进行池化,再卷积会导致表征瓶颈,丢失很顶信息(先池化 -> 再卷积)

  • 方法二:信息保留了但是计算量过大(先卷积 -> 再池化)

在这里插入图片描述

这里我们进行:

并行执行(卷积C+池化P),再进行feature map的堆叠。

在这里插入图片描述

可以在不丢失信息的情况下减少参数量!

在这里插入图片描述

作者将上述信息进行汇总提出了Inception_V2架构。
在这里插入图片描述

如上图所示:
相比于Inception_V1的区别,Inception_V2将:

  • 5 * 5卷积分解为两个3 * 3卷积(figure 5)
  • 第二部分分解为不对称卷积(figure 6)
  • 使用滤波器组(增大特征个数figure 7)

结果:
计算量是GoogLeNet的2.5倍但仍比VGGNet高效!

在这里插入图片描述

7. Model Regularization via Label Smoothing(使用标签平滑进行模型正则化)

  • one-hot独热编码:

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。(简单地说,就是对于多分类向量,计算机中往往用[0, 1, 3]等此类离散的、随机的而非有序(连续)的向量表示,而one-hot vector 对应的向量便可表示为[0, 1, 0],即对于长度为n 的数组,只有一个元素是1,其余都为0。因此表征我们已知样本属于某一类别的概率是为1的确定事件,属于其他类别的概率则均为0。

弊端:

  • 模型泛化能力变差
  • 过拟合(正确类别对应的分数logit会一味增大直达正无穷)
  • 极大似然估计:

极大似然估计(Maximum Likelihood Estimation,MLE)是一种统计方法,用于估计模型参数。它通过寻找使得数据出现概率最大的模型参数来估计真实参数。

  • 对数似然估计:

对数似然估计(Log-Likelihood)是统计学中一种常用的方法,用于评估模型与数据的拟合程度。对数似然估计通过对似然函数取对数来简化计算,并衡量模型对数据的拟合程度。

  • 交叉熵损失函数:

最小化交叉熵损失函数等效于最大化正确类别的对数似然函数

在这里插入图片描述

在这里插入图片描述

  • Label Smooth:

标签平滑的实质就是促使神经网络中进行softmax激活函数激活之后的分类概率结果向正确分类靠近,即正确的分类概率输出大(对应的one-hot标签为1位置的softmax概率大),并且同样尽可能的远离错误分类(对应的one-hot标签为0位置的softmax概率小),即错误的分类概率输出小。

采用Label Smooth可以使网络精度提高0.2%

在这里插入图片描述

8. Training Methodology(训练方法)

最优模型的优化方法:RMSProp + learning rate decay(0.9) , 同时使用了阈值为2的梯度截断使得训练更加稳定。

在这里插入图片描述

目标检测难点:
图像中低分辨率的目标难以检测,如何处理低分辨率输入?如何保证计算量不变的情况下增加感受野从而增加对低分辨率目标的检测。

实验如下图所示:
在这里插入图片描述

结论:实验表明虽然感受野增大,但是在保持计算量不变的情况下模型性能相差不大

10. Experimental Results and Comparisons(实验结果比较)

在这里插入图片描述

对Inception_V2进行改进:

  • InceptionV2 加入RMSProp(一种计算梯度的方法)
  • 在上面的基础上加入Label Smoothing(LSR,标签平滑正则化)
  • 在上面的基础上再加入7×7的卷积核分解(分解成3×3)
  • 在上面的基础上再加入含有BN的辅助分类器

所以本文最终提出的InceptionV3=inceptionV2+RMSProp优化+LSR+BN-auxilary

在这里插入图片描述

进一步进行模型集成加多裁剪

在这里插入图片描述

通过上图可以看到InceptionV3在分类上取得了很好的效果!

在这里插入图片描述

11. Conclusions(总结)

我们提供了几个设计原则来扩展卷积网络,并在Inception体系结构的背景下进行研究。这个指导可以导致高性能的视觉网络,与更简单、更单一的体系结构相比,它具有相对适中的计算成本。Inception-v3的最高质量版本在ILSVR 2012分类上的单裁剪图像评估中达到了21.2%的top-1错误率和5.6%的top-5错误率,达到了新的水平。与Ioffe等[7]中描述的网络相比,这是通过增加相对适中(2.5/times)的计算成本来实​​现的。尽管如此,我们的解决方案所使用的计算量比基于更密集网络公布的最佳结果要少得多:我们的模型比He等[6]的结果更好——将top-5(top-1)的错误率相对分别减少了25%(14%),然而在计算代价上便宜了六倍,并且使用了至少减少了五倍的参数(估计值)。我们的四个Inception-v3模型的组合效果达到了3.5%,多裁剪图像评估达到了3.5%的top-5的错误率,这相当于比最佳发布的结果减少了25%以上,几乎是ILSVRC 2014的冠军GoogLeNet组合错误率的一半。

我们还表明,可以通过感受野分辨率为79×79的感受野取得高质量的结果。这可能证明在检测相对较小物体的系统中是有用的。我们已经研究了在神经网络中如何分解卷积和积极降维可以导致计算成本相对较低的网络,同时保持高质量。较低的参数数量、额外的正则化、标准化的辅助分类器和标签平滑的组合允许在相对适中大小的训练集上训练高质量的网络

参考文章路人贾’ω’
参考视频【精读AI论文】Inception V3深度学习图像分类算法

时人不识凌云木,直待凌云始道高!

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

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

相关文章

GStreamer学习4----写一个插件

参考资料: Constructing the Boilerplate gstreamer插件-CSDN博客 在Constructing the Boilerplate 里面有生成插件的例子, shell $ git clone https://gitlab.freedesktop.org/gstreamer/gst-template.git 使用里面的工具自动生成一个插件程序&…

linux 简单使用 sftp 和 lftp命令

目录 一. 环境准备二. sftp命令连接到SFTP服务器三. lftp命令3.1 连接FTP和SFTP服务器3.2 将文件从sftp服务器下载到本地指定目录 四. 通过WinSCP命令行从SFTP服务器获取文件到Windows 一. 环境准备 ⏹在安卓手机上下载个MiXplorer,用作SFTP和FTP服务器 官网: htt…

Mathtype7在Word2016中闪退(安装过6)

安装教程:https://blog.csdn.net/Little_pudding10/article/details/135465291 Mathtype7在Word2016中闪退是因为安装过Mathtype6,MathPage.wll和MathType Comm***.dotm),不会随着Mathtype的删除自动删除,而新版的Mathtype中的文件…

Debian Linux安装minikubekubectl

minikube&kubectl minkube用于在本地开发环境中快速搭建一个单节点的Kubernetes集群,还有k3s,k3d,kind都是轻量级的k8skubectl是使用K8s API 与K8s集群的控制面进行通信的命令行工具 这里使用Debian Linux演示,其他系统安装见官网,首先…

React+TS 从零开始教程(2):简中简 HelloWolrd

源码链接:https://pan.quark.cn/s/c6fbc31dcb02 这一节,我们来见识ReactTS的威力,开始上手开发第一个组件,什么组件呢? 当然是简中简的 HelloWolrd组件啦。 在src下创建一个components,然后新建Hello.tsx …

nlp基础-文本预处理及循环神经网络

1 认识文本预处理 1 文本预处理及其作用 定义:文本送给模型之前,提前要做的工作 作用:指导模型超参数的选择 、提升模型的评估指标 举个例子: 思路常识,打造成 X Y关于Y:10分类标签是否均衡关于X&#xf…

【break】大头哥哥做题

【break】大头哥哥做题 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 【参考代码】 #include <iostream> using namespace std; int main(){ int sum 0;//求和int day 0;//天数 while(1){int a;cin>>a;if(a-1){break;//结束当前循环 }sum sum a; …

自动更新阿里云CDN SSL证书

deploy-certificate-to-aliyun 随着各大CA机构开始收割用户&#xff0c;云厂商们提供的免费SSL证书也由之前的12个月变成现在的3个月。笔者一直使用阿里云的OSS作为图床&#xff0c;说实话在如果继续在阿里云上三个月免费一换也太频繁了 笔者在这里使用github action来每隔两个…

odoo的采购询价单,默认情况下显示‘draft‘,‘sent‘,‘purchase‘,请问什么情况下才会显示‘to approve‘?

odoo的采购询价单&#xff0c;默认情况下显示’draft’,‘sent’,‘purchase’&#xff0c;请问什么情况下才会显示’to approve’? 见下图&#xff1a; 这与操作人员的角色是相关的&#xff1a; 当操作人员是群组 “采购 / 用户”时&#xff0c;点击“confirm order/确认订…

细说AGV的12种导航方式和原理

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 这十二种导航方式各自具有不同的特点和应用场景&#xff0c;下面我将逐一进行简要介绍&#xff1a; 磁钉导航&#xff1a; 原理&#xf…

基于CDMA的多用户水下无线光通信(2)——系统模型和基于子空间的延时估计

本文首先介绍了基于CDMA的多用户UOWC系统模型&#xff0c;并给出了多用户收发信号的数学模型。然后介绍基于子空间的延时估计算法&#xff0c;该算法只需要已知所有用户的扩频码&#xff0c;然后根据扩频波形的循环移位在观测空间的信号子空间上的投影进行延时估计。 1、基于C…

基于CDMA的多用户水下无线光通信(1)——背景介绍

研究生期间做多用户水下无线光通信&#xff08;Underwater Optical Wireless Communication&#xff0c;UOWC&#xff09;&#xff0c;写几篇博客分享一下学的内容。导师给了大方向&#xff0c;让我用直接序列码分多址&#xff08;Direct Sequence Code Division Multiple Acce…

分布式锁实现方案

分布式锁 1 什么是分布式锁 ​ 就是在分布式环境下&#xff0c;保证某个公共资源只能在同一时间被多进程应用的某个进程的某一个线程访问时使用锁。 2 几个使用场景分析 一段代码同一时间只能被同一个不同进程的一个线程执行 库存超卖 (库存被减到 负数)&#xff0c;上面案…

智慧园区数字化能源云平台的多元化应用场景,您知道哪些?

智慧园区数字化能源云平台的多元化应用场景&#xff0c;您知道哪些&#xff1f; 智慧园区数字化能源云平台&#xff0c;作为新一代信息技术与传统能源管理深度融合的典范&#xff0c;正引领着产业园区向智慧化、绿色化转型的浪潮。该平台依托于大数据、云计算及人工智能等前沿…

AI 大模型企业应用实战(13)-Lostinthemiddle长上下文精度处理

1 长文本切分信息丢失处理方案 10检索时性能大幅下降相关信息在头尾性能最高检索 ->> 排序 ->使用 实战 安装依赖&#xff1a; ! pip install sentence-transformers 演示如何使用 Langchain 库中的组件来处理长文本和检索相关信息。 导入所需的库使用指定的预训…

【计算机组成原理】部分题目汇总

计算机组成原理 部分题目汇总 一. 简答题 RISC和CICS 简要说明&#xff0c;比较异同 RISC&#xff08;精简指令集&#xff09;注重简单快速的指令执行&#xff0c;使用少量通用寄存器&#xff0c;固定长度指令&#xff0c;优化硬件性能&#xff0c;依赖软件&#xff08;如编译…

基于YOLOv5+PyQT5的吸烟行为检测(含pyqt页面、模型、数据集)

简介 吸烟不仅对个人健康有害,也可能在某些特定场合带来安全隐患。为了有效地监控公共场所和工作环境中的吸烟行为,我们开发了一种基于YOLOv5目标检测模型的吸烟检测系统。本报告将详细介绍该系统的实际应用与实现,包括系统架构、功能实现、使用说明、检测示例、数据集获取…

I2C总线8位IO扩展器PCF8574

PCF8574用于I2C总线的远程8位I/O扩展器 PCF8574国产有多个厂家有替代产品&#xff0c;图示为其中一款HT8574 1 产品特点 低待机电流消耗&#xff1a;10 uA&#xff08;最大值&#xff09; I2C 转并行端口扩展器 漏极开路中断输出 与大多数微控制器兼容 具有大电流驱动能力的闭…

JavaScript 预编译与执行机制解析

在深入探讨JavaScript预编译与执行机制之前&#xff0c;我们首先需要明确几个基本概念&#xff1a;声明提升、函数执行上下文、全局执行上下文以及调用栈。这些概念共同构成了JavaScript运行时环境的核心组成部分&#xff0c;对于理解代码的执行流程至关重要。本文将围绕这些核…

网信办公布第六批深度合成服务算法备案清单,深兰科技大模型入选

6月12日&#xff0c;国家互联网信息办公室发布了第六批深度合成服务算法备案信息&#xff0c;深兰科技硅基知识智能对话多模态大模型算法通过相关审核&#xff0c;成功入选该批次《境内深度合成服务算法备案清单》。同时入选的还有腾讯混元大模型多模态算法、支付宝图像生成算法…