Inception笔记

本文详细介绍了Inception系列网络的发展,从Inception-v1到Inception-v4及Inception-ResNet,探讨了各个版本的创新点,如1*1卷积、批量归一化、卷积核的拆分等,旨在提高网络性能和计算效率。同时,讨论了GoogLeNet的模块化结构、辅助softmax分支的作用,并展示了Inception模块和Stem的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Inception-v1

论文链接:Going deeper with convolutions

1.1 为什么提出Inception

一般来说,提升网络性能最保险的方法就是增加网络的深度和宽度,但这样做同时也会伴随着副作用:

  • 当越深越宽的网络往往会有着巨大的参数量,当数据量很少的时候,训练出来的网络容易过拟合
  • 需要更多的计算资源
  • 网络越深,梯度容易消失,优化困难(这时还没有提出BN时,网络的优化极其困难)

基于此,我们的目标就是,提高网络计算资源的利用率,在计算量不变的情况下,提高网络的宽度和深度。作者认为,解决这种困难的方法就是,把全连接改成稀疏连接,卷积层也是稀疏连接,但是不对称的稀疏数据数值计算效率低下,因为硬件全是针对密集矩阵优化的,所以,我们要找到卷积网络可以近似的最优局部稀疏结构,并且该结构下可以用现有的密度矩阵计算硬件实现,产生的结果就是Inception。

1.2 网络结构

Inception Module基本组成结构有四个成分。1*1卷积核,3*3卷积核,5*5卷积核,3*3最大池化。最后对四个成分运算结果进行通道上组合。
Inception结构如下图:
在这里插入图片描述

图(a)是原始版本的Inception模型,它的结构特点有

  • 如此大小的卷积核,并没有特殊的意义,主要是为了方便对齐,后期可以得到相同大小的特征图易于拼接
  • 使用不同大小的卷积核,则使感受野的大小也不同,这样即可得到不同尺度的特征。

图(b)是相对于图(a)增加了1*1卷积核进行降维,作用是

  • 由于5*5的卷积核计算量太大,降低维度可以减少计算量
  • 增加网络的深度和宽度,提高网络的表达能力
1.3 作用

Inception的核心思想:通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征
具体来说,假设我们要提取狗的脸部特征,不同图片中狗脸占比显然是不一样的,那么我们就需要使用不同大小的卷积核提取不同的信息。信息分布比较全局性的图像采用大卷积核,信息分布比较局部性的图像采用小卷积核。
作者提出的Inception的优点:

  • 显著增加了每一步的单元数目,计算复杂度不会不受限制,尺度较大的特征在卷积之前先降维
  • 视觉信息在不同尺度上进行处理融合,这样下一步可以从不同尺度提取特征
1.4 GoogLeNet

GoogLeNet是由Inception Module组成的,它的结构图:
在这里插入图片描述
它的特点:

  • 采用模块化结构,方便增加和修改。整个网络结构其实就是叠加Inception Module
  • 使用Dropout层,防止过拟合
  • 使用Averagepool来代替全连接层的思想。实际在最后一层还是添加了一个全连接层,是为了大家做finetune。
  • 另外增加了两个辅助的softmax分支,作用有两点,一是为了避免梯度消失,用于向前传导梯度。反向传播时如果有一层求导为0,链式求导结果则为0。二是将中间某一层输出用作分类,起到模型融合作用。最后的loss=loss_2 + 0.3 * loss_1 + 0.3 * loss_0。实际测试时,这两个辅助softmax分支会被去掉。

2. Inception-v2

论文链接:Batch Normalization

2.1 创新点

谷歌团队在2015年提出了Inception-v2,首次提出了批量归一化(Batch Normalization)方法,同时也改进了网络结构。具体的创新点:

2.1.1 Batch Normalization

在神经网络的每层计算中,参数变化导致数据分布不一致,会产生数据的协方差偏移问题,通过对第i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值