【GoogLeNet】基本原理

文章目录

1.整体结构

看着很复杂是吧,不要着急,一层层拆解。

2.背景

在2014年的ImageNet图像识别挑战赛中,一个名叫 GoogLeNet 的网络架构大放异彩。以前流行的网络使用

小到1×1,大到7×7的卷积核。本文的一个观点是,有时 使用不同大小的卷积核组合 是有利的。

在GoogLeNet中,基本的卷积块被称为Inception块(Inception block)。这很可能得名于电影《盗梦空间》(Inception),因为电

影中的一句话"我们需要走得更深"("We need to go deeper")。

Inception块由四条并行路径组成:

  • 前三条路径使用窗口大小为1×1、3×3和5×5的卷积层,从不同空间大小中提取信息。
  • 中间的两条路径在输入上执行1×1卷积,以减少通道数(卷积核数量决定),从而降低模型的复杂性。
  • 第四条路径使用3×3最大池化层,然后使用1×1卷积层来改变通道数(卷积核数量决定)。
  • 这四条路径都使用合适的 填充和步幅 来使输入与输出的高和宽一致(即宽高不变)。
  • 最后我们将每条线路的输出在通道维度上连结,并构成Inception块的输出。
  • 在Inception块中,通常调整的 超参数 是每层输出通道数。

举例】:

输入为224×224×3三通道的图像。
路径1:

(1)输入为224×224×3,卷积核数量为64个;卷积核的尺寸大小为1×1×3;步幅为1(stride=1),填充为0(padding=0);卷积后得到shape为224×224×64的特征图输出。
路径2:

(1)输入为224×224×3,卷积核数量为96个;卷积核的尺寸大小为1×1×3;步幅为1(stride=1),填充为0(padding=0);卷积后得到shape为224×224×96的特征图输出。

(2)输入为224×224×96,卷积核数量为128个;卷积核的尺寸大小为3×3×96;步幅为1(stride=1),填充为1(padding=1);卷积后得到shape为224×224×128的特征图输出。

路径3:

(1)输入为224×224×3,卷积核数量为16个;卷积核的尺寸大小为1×1×3;步幅为1(stride=1),填充为0(padding=0);卷积后得到shape为224×224×16的特征图输出。

(2)输入为224×224×16,卷积核数量为32个;卷积核的尺寸大小为5×5×16;步幅为1(stride=1),填充为2(padding=2);卷积后得到shape为224×224×32的特征图输出。
路径4:

(1)输入为224×224×3,池化感受野的尺寸大小为3×3;步幅为1(stride=1),填充为1(padding=1);池化后得到shape为224×224×3的特征图输出。

(2)输入为224×224×3,卷积核数量为32个;卷积核的尺寸大小为1×1×3;步幅为1(stride=1),填充为0(padding=0);卷积后得到shape为224×224×32的特征图输出。

通道合并:

路径1的到输出为:224×224×64

路径2的到输出为:224×224×128

路径3的到输出为:224×224×32

路径4的到输出为:224×224×32

最终通道合并为64+128+32+32=256,最终的输出为:224×224×256。

那么为什么GoogLeNet这个网络如此有效呢?

首先我们考虑一下滤波器(filter)(指的是卷积核)的组合,它们可以用各种滤波器尺寸(不同尺寸的卷积核)探索图像,这意味着不同大小的滤波器可以有效地识别不同范围的图像细节。同时,我们可以为不同的滤波器分配不同数量的参数。

3.大小为1×1卷积核的优点

本节的内容讲的太勉强,不够有说服力,感兴趣的去看看原视频。

  1. 实现跨通道的交互和信息整合(其他尺寸卷积核也有该效果)
  2. 卷积核通道数的降维和升维,减少网络参数

4.全局平均池化层GAP

4.1优点

4.2缺点

5.网络参数详解

注意: 根据公式计算输出图大小时,Pytorch是 向下取整

Inception块只改变输入特征图的通道数,不改变其大小

此处省略5个Inception块的计算,只给出最终结果。(计算逻辑都一样)

此处省略2个Inception块的计算,只给出最终结果。(计算逻辑都一样)


相关推荐
北京晶数信息科技5 分钟前
成品油交易即开票原创一体化解决方案汇报(二)
大数据·人工智能·物联网·产品经理·需求分析
浪里镖客7 分钟前
激光雷达与惯导、相机与惯导的外参标定原理
人工智能·数码相机
DO_Community9 分钟前
AI 应用成本怎么算?从推理费用到完整 TCO 拆解
人工智能·gpt·agent·ai编程·llama·kimi
IT_陈寒16 分钟前
Redis的KEYS命令差点把我的生产环境拖垮,改用SCAN吧
前端·人工智能·后端
其美杰布-富贵-李17 分钟前
03 类别不平衡下如何选择评估指标:Accuracy 为什么会失效?
人工智能·机器学习
野生技术架构师18 分钟前
Multi-agent的新趋势,从Agent Team到Agent Swarm
开发语言·人工智能
狂师28 分钟前
想做测试工具却不会写代码?怎么办?
人工智能·程序员·测试
xiangzhihong834 分钟前
零基础学AI之机器学习原理
人工智能·机器学习·机器人
Aision_36 分钟前
实习手记 Day:从 ELK 到 Agent 的“最后一公里”——告警消费与上下文富化
运维·人工智能·web安全·elk·网络安全·安全威胁分析
workbuddy小能手36 分钟前
用 WorkBuddy 调混元 Hy3 做批量文档摘要:一个可运行的实战示例
人工智能·workbuddy