GoogLeNet

GoogLeNet, 由谷歌为ILSVRC2014竞赛开发并夺冠, 通过引入Inception模块解决网络深度与宽度增加带来的过拟合与计算量增大问题。从InceptionV1到V4, 通过1x1卷积降维、取消全连接层、引入批归一化及残差连接等策略, 不断优化网络结构。

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

GoogLeNet 网络

GoogLeNet 是由谷歌为了参加 ILSVRC 2014 大赛而开发的,并在挑战赛上获得了冠军,将 Top5 的错误率降低到 6.67%,总体上是一个 22 层的深度网络 。

一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,但这也意味着更多的参数,这容易带来过拟合,也大大增加了计算量。GoogLeNet 论文认为解决上述两个缺点的根本方法是将全连接层甚至一般的卷积都转化为稀疏连接,对于大规模稀疏的神经网络,可以通过分析激活值的统计特性和对高度相关的输出进行聚类来逐层构建出一个最优网络。所以,为了既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能,论文提出了inception的结构!

GoogLeNet 的进化顺序为:

  • Inception V1 ->Inception V2 ->Inception V3 ->Inception V4

Inception V1

Inception 结构的主要思路是用密集成分来近似最优的局部稀疏结构,坐着首先提出如下的的基本结构:
在这里插入图片描述
对上图的解释为:

  1. 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合
  2. 卷积核大小采用 1,3,5,主要是为了方便对齐。设定卷积步长 stride=1 后,这要分别设定 padding=0, 1, 2,就可以在卷积后得到相同维度的特征,然后将这些特征拼接在一起
  3. 网络越到后面,特征越抽象,而且每个特征所涉及的感受野也更大了,因此随着层数的增加,3 x 3 和 5 x 5 卷积的比例也要增加。
一、1 x 1 卷积

使用 1 x 1 卷积实现降维

  • 1 x 1 卷积实现的是 “同一个像素点上” 的各个通道的值的线性组合,如图所示
    在这里插入图片描述
  • f(a11x1+a12x2+...+a1cxc)=y1f(a_{11}x_1+a_{12}x_2+...+a_{1c}x_c)=y_1f(a11x1+a12x2+...+a1cxc)=y1
  • f(a21x1+a22x2+...+a2cxc)=y2f(a_{21}x_1+a_{22}x_2+...+a_{2c}x_c)=y_2f(a21x1+a22x2+...+a2cxc)=y2
  • ..................
  • f(ak1x1+ak2x2+...+akcxc)=ykf(a_{k1}x_1+a_{k2}x_2+...+a_{kc}x_c)=y_kf(ak1x1+ak2x2+...+akcxc)=yk

1 x 1 卷积有两个方面的作用:

  • 实现了跨通道的交互和信息整合
  • 进行卷积核通道数的降维和升维
二、使用 1x1 卷积改进

使用 5 x 5 卷积核仍然会有极大的计算量,因此引入了 1 x 1 来进行降维:举例来说,假设上一层输出为 100 x 100 x 128,经过具有 256 个 5 x 5 卷积核的卷积层(stride=1, pad=2)之后,输出数据为 100 x 100 x 256,这时卷积层的参数为 128 x 5 x 5 x 256。

此时,如果上一层输出先经过具有 32 个输出的 1 x 1 卷积层,再经过具有 256 个输出的 5 x 5 卷积层,那么最终输出数据仍是 100 x 100 x 256,但卷积层参数数量减少为 128 x 1 x 1 x 32 + 32 x 5 x 5 x 256,大约减少了 4 倍。

改进后的 Inception Module 如下图
在这里插入图片描述

三、取消全连接层和全局平均池化

全连接层本质上是全尺寸的卷积层,占用了大量的参数,因此改用全局平均池化代替,全局平均池化没有 size,它针对的是整张 feature map

  • 输入:7 x 7 x 1024
  • 输出:1 x 1 x 1024

取消全连接层也是后期网络结构发展的一大趋势。

四、两个辅助分类器

在这里插入图片描述
如图所示,Inception V1 网络其实是非常深的,梯度回传到最初几层,存在严重消失问题,在训练过程中使用两个辅助分类器能有效加速收敛,测试阶段不使用。

Inception V2

一、把大的卷积核用若干个小的串联起来

大尺寸的卷积核可以带来更大的感受野,但也意味着更多的参数,因此作者提出用两个连续的的 3 x 3 卷积层组成的小网络代替单个 5 x 5 卷积层。
在这里插入图片描述
网络结构对比
在这里插入图片描述

二、核心组件:Batch Normalization (批归一化)
  • 白化:使每一层的输出都规范化到 N(0,1)N(0, 1)N(0,1)
  • 允许较高的学习率
  • 取代部分 Dropout

最新的论文认为批归一化起作用的原理是使 “解空间” 更加平滑。
在 batch 范围内,对每个特征通道分别进行归一化,所有图片,所有像素点
在这里插入图片描述

Inception V3

核心组件
  • 非对称卷积
  • N x N 分解成 1 x N -> N x 1
  • 降低参数数量和计算量
    在这里插入图片描述
    Inception V3 有三种不同结构,如下图,这些结构只在网络的后部出现,前部还是普通的卷积层。
    在这里插入图片描述

Inception V4

这个版本主要研究 Inception Module 结合残差连接,结合 ResNet 可以极大加速训练,并提升性能,Inception V4 是在构建 Inception ResNet 的同时设计的一个更深更优化的模型, 首先查看整体的结构图:
在这里插入图片描述
其中 Stem 模块为:
在这里插入图片描述

### GoogLeNet 深度学习架构特点 GoogLeNet 是一种高效的卷积神经网络(CNN),由 Google 研究人员于 2014 年开发,代表了 CNN 领域的关键里程碑[^3]。该模型通过引入新颖的方法来构建高效且高度准确的深度网络,在多个方面进行了优化。 #### 主要特性 - **Inception模块**:这是 GoogLeNet 的核心组成部分之一。它利用不同大小的滤波器在同一位置上并行操作,并将它们的结果连接起来作为输出特征图的一部分。这种设计允许网络自动学习最优的空间聚合方式,从而提高了性能和计算资源利用率[^5]。 - **辅助分类器**:为了应对深层网络训练过程中可能出现的问题(如梯度消失),GoogLeNet 设计了两个额外的全连接层分支——即所谓的“辅助分类器”。这些附加路径不仅帮助稳定反向传播过程中的梯度流动,还促进了更深层次的信息传递,进而加速整个系统的收敛速度[^2]。 - **减少参数量的技术**:采用瓶颈层(bottleneck layer) 和其他策略有效降低了模型复杂性和内存占用率;例如使用 $1 \times 1$ 卷积核代替较大尺寸的过滤器来进行降维处理,这既保持了表达能力又减少了运算负担[^4]。 ### 使用教程概览 对于希望实现或应用 GoogLeNet 进行图像识别任务的研究者来说,以下是几个重要的指导原则: - **环境搭建与依赖安装**:确保已正确配置 Python 开发环境,并安装必要的库文件,比如 PaddlePaddle 或 PyTorch 。如果选择的是前者,则可参照官方文档完成最新版框架及其扩展包的部署工作[^1]。 - **数据预处理**:准备高质量的数据集至关重要。通常情况下需要对原始图片执行标准化、裁剪、翻转等一系列变换以增强泛化能力和防止过拟合现象的发生。 - **定义模型结构**:按照上述提到的特点编写相应的代码片段来描述 GoogLeNet 的拓扑关系。注意遵循所选平台特有的语法规范书写每一部分逻辑,包括但不限于输入层、各阶段 Inception 块以及最终决策单元的设计。 - **编译与训练流程设置**:指定损失函数形式(交叉熵)、优化算法种类(SGD/Adam)等超参选项后启动迭代更新机制直至达到预期精度水平或者满足最大轮次限制条件为止。 ```python import paddle.fluid as fluid def googlenet(input, class_dim=1000): conv1 = fluid.layers.conv2d( input=input, num_filters=64, filter_size=7, stride=2, padding=3) pool1 = fluid.layers.pool2d( input=conv1, pool_size=3, pool_stride=2, pool_padding=1, pool_type='max') # Continue defining the rest of the network... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值