Inception v3:Rethinking the Inception Architecture for Computer Vision翻译理解

Inception网络的优化与扩展
探讨了Inception网络架构的优化与扩展策略,包括分解卷积核、使用辅助分类器、网络尺寸的有效减少及正则化技术。通过分解大型卷积滤波器和引入不对称卷积,实现了计算效率的提升。同时,介绍了模型正则化方法,如标签平滑,以及有效的训练策略。

参考博客https://blog.youkuaiyun.com/Quincuntial/article/details/78564389

Abstract

只要有足够的标签数据,增加模型尺寸和计算时间对大多数任务有用。Here we are exploring ways toscale up networks in ways,目的式通过适当的分解卷积核积极的正则化来尽可能地有效利用增加地计算。

Introduction

一个有趣地发现是再分类性能上地收益趋向于转换成各种应用领域上地显著质量收益,这意味着CNN的改进可以用来改善很多视觉任务的性能。

通过应用针对内存使用的专门解决方案【2】【15】或通过计算技巧优化某些操作的执行【10】,可以减轻部分这些问题。

复杂的Inception架构使改变网络变得更困难,如果简单的增加网络层,大部分的计算收益可能会丢失。例如,如果认为有必要增加一些Inception模型的能力,将滤波器组大小的数量加倍的简单变换将导致计算成本和参数数量增加4倍。这在许多实际情况下可能会被证明是禁止或不合理的,尤其是在相关收益适中的情况下。在本文中,我们从描述一些一般原则和优化思想开始,对于以有效的方式扩展卷积网络来说,这被证实是有用的。虽然我们的原则不局限于Inception类型的网络,但是在这种情况下,它们更容易观察,因为Inception类型构建块的通用结构足够灵活,可以自然地合并这些约束。这通过大量使用降维和Inception模块的并行结构来实现,这允许减轻结构变化对邻近组件的影响。但是,对于这样做需要谨慎,因为应该遵守一些指导原则来保持模型的高质量。

General Design Principles

以下原则的效用是推测性的,另外将来的实验证据将对于评估其准确性和有效领域是必要的。grave deviations from these principles 恶化网络质量,修正检测到的这些偏差可以改进结构。

1、前馈网络可以由输入到分类器或者回归器的非循环图表示,为信息流定义了一个明确的方向。对于分离输入输出的任何切口,可以访问通过切口的信息量。表示大小输入到输出缓慢减小。维度只提供了一个信息内容估计。

2、高维表征处理局部,在卷积网络中增加每个图块的激活允许更多的解耦特征。

3、空间聚合可以在较低维度嵌入完成,不会再表示能力上造成损失,如果再空间聚合上下中使用输出,则相邻单元之间的强想关心会导致维度缩减期间的信息损失更少。

4,并行增加宽度和深度达到恒定计算量的最佳改进

Factorizing Convolutions with Large Filter Size

GoogLeNet网络[20]的大部分初始收益来源于大量地使用降维。这可以被视为以计算有效的方式分解卷积的特例。此外,我们可以使用计算和内存节省来增加我们网络的滤波器组的大小,同时保持我们在单个计算机上训练每个模型副本的能力。

分解到更小的卷积

当然,5×5滤波器在更前面的层可以捕获更远的单元激活之间、信号之间的依赖关系,因此滤波器几何尺寸的减小带来了很大的表现力。由于我们正在构建视觉网络,所以通过两层的卷积结构再次利用平移不变性来代替全连接的组件似乎是很自然的。两个3*3代替5*5,如图1。

该设定通过相邻块之间共享权重明显减少了参数数量。我们最终得到一个计算量减少到(9+9)/25网络,通过这种分解导致了28%的相对增益。

如果我们的主要目标是对计算的线性部分进行分解,是不是建议在第一层保持线性激活?我们已经进行了几个控制实验(例如参见图2),图2。两个Inception模型间几个控制实验中的一个,其中一个分解为线性层+ ReLU层,另一个使用两个ReLU层。在三亿八千六百万次运算后,在验证集上前者达到了76.2% top-1准确率,后者达到了77.2% top-1的准确率。

3.2空间分解为不对称卷积

例如使用3×1卷积后接一个1×3卷积,相当于以与3×3卷积相同的感受野滑动两层网络(参见图3)。如果输入和输出滤波器的数量相等,那么对于相同数量的输出滤波器,两层解决方案节省33%。相比之下,将3×3卷积分解为两个2×2卷积表示仅节省了11%的计算量。(图6)实际上,我们发现,采用这种分解在前面的层次上不能很好地工作,但是对于中等网格尺寸(在m×m特征图上,其中m范围在12到20之间),其给出了非常好的结果。在这个水平上,通过使用1×7卷积,然后是7×1卷积可以获得非常好的结果。

4、辅助分类器的效用

5、有效的网络尺寸减少

6 inception v2

7 通过标签平滑进行模型正则化

8 训练方法

提出了一个42层测inception网络,然后是加上BN辅助网络,变成v3,这个网络比GoogLenet,和BN v2效果好

 

 

<think>嗯,用户想让我详细分析《Rethinking the Inception Architecture for Computer Vision》这篇论文中的网络结构,也就是Inception-v3。首先,我需要回忆一下这篇论文的主要内容。记得Inception-v3是在Inception-v2的基础上进一步优化的,主要目标是通过改进网络结构来提升性能同时减少计算量。 首先,得先回顾Inception模块的演变。Inception-v1(GoogLeNet)引入了多分支结构,使用不同大小的卷积核来捕捉不同尺度的特征。然后Inception-v2加入了Batch Normalization,加速训练并减少内部协变量偏移。而Inception-v3在结构上做了更多调整,比如分解大卷积核,使用不对称卷积等。 接下来,用户可能需要了解Inception-v3的具体结构设计。比如,如何将5x5卷积分解成两个3x3卷积,或者使用n x 1和1 x n的卷积来代替n x n的卷积,这样能减少参数量。同时,论文中还提到了辅助分类器的作用,以及如何更高效地降低特征图尺寸,避免信息损失。 另外,用户可能对网络的具体模块设计感兴趣,比如Inception-A到Inception-E的不同结构。需要解释每个模块的组成,比如Inception-A可能包含不同分支的卷积和池化操作,而Inception-B可能使用不对称卷积来替代大核卷积。 还要注意论文中的优化策略,比如标签平滑(Label Smoothing)和RMSProp优化器的使用,这些虽然不是结构部分,但对整体性能提升有帮助。不过用户的问题主要集中在网络结构上,所以可能需要重点放在模块分解、卷积分解和高效降采样方法上。 此外,需要结合引用中的内容,特别是引用[5]提到的用两层3x3卷积代替5x5卷积,以及空间分解为不对称卷积的方法。这些都是在Inception-v3中应用的关键技术,能有效减少计算量而不显著影响模型表达能力。 可能还需要提到网络结构中的网格尺寸缩减部分,即如何在不引起表达瓶颈的情况下降低特征图的尺寸。例如,使用并行的卷积和池化层,然后将它们的输出在通道维度上合并,这样既减少了计算量又保持了信息流。 最后,要确保回答结构清晰,分点说明核心设计思想、模块结构、优化策略和应用场景。同时,生成的相关问题需要覆盖结构设计、优化方法、与其他版本的对比以及实际应用等方面,帮助用户进一步探索。</think>### Rethinking the Inception Architecture for Computer Vision 网络结构详解 《Rethinking the Inception Architecture for Computer Vision》是Google团队对Inception系列网络的系统性改进,其核心目标是通过**结构化网络设计原则**提升计算效率并减少参数冗余[^2]。以下从核心设计思想、模块结构和优化策略三方面展开分析。 --- #### 一、核心设计思想 1. **卷积分解原则** - 用多层小卷积核替代大卷积核:例如将$5 \times 5$卷积分解为两个$3 \times 3$卷积,计算量减少$28\%$[^5] - 使用**非对称卷积**:将$n \times n$卷积分解为$n \times 1$和$1 \times n$的级联,进一步降低计算复杂度。例如用$1 \times 7$和$7 \times 1$卷积替代$7 \times 7$卷积。 - 数学推导:原始$n \times n$卷积的计算量为$k^2 \cdot C_{in} \cdot C_{out}$,分解后计算量降为$n \cdot C_{in} \cdot C_{mid} + n \cdot C_{mid} \cdot C_{out}$,其中$C_{mid}$为中间通道数。 2. **高效降采样策略** 提出**并行降采样结构**:在缩减特征图尺寸时,通过并行的卷积层和池化层组合避免信息瓶颈(如图4与图5对比)[^4]。例如: ```plaintext ┌───────────┐ ┌───────────┐ │ 3x3 conv │ │ 3x3 conv │ │ stride=2 ├───┐ │ stride=1 ├───┐ └───────────┘ │ └───────────┘ │ Concatenate Concatenate ┌───────────┐ │ ┌───────────┐ │ │ MaxPool │ │ │ 3x3 conv │ │ │ stride=2 ├───┘ │ stride=2 ├───┘ └───────────┘ └───────────┘ ``` --- #### 二、模块结构演进 1. **标准Inception模块改进** Inception-v3定义了多种模块类型: - **Inception-A**:基础模块,包含$1 \times 1$、$3 \times 3$、$5 \times 5$卷积分支和池化分支 - **Inception-B**:引入非对称卷积,如将$7 \times 7$卷积分解为$1 \times 7 + 7 \times 1$ - **Inception-C**:在通道维度进行特征重组,增强非线性表达能力 2. **辅助分类器优化** 调整辅助分类器位置,仅在深层网络中使用,避免早期层引入过多计算开销。 --- #### 三、优化策略 1. **标签平滑正则化(Label Smoothing)** 通过修改损失函数防止过拟合: $$q&#39;(k) = (1-\epsilon)q(k) + \epsilon u(k)$$ 其中$\epsilon$为平滑系数,$u(k)$为均匀分布。 2. **RMSProp优化器改进** 引入动量项和梯度裁剪,提升训练稳定性。 --- #### 四、性能表现 在ILSVRC2012数据集上,Inception-v3取得top-5错误率$3.5\%$,相较V1($6.67\%$)和V2($4.8\%$)有显著提升[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值