【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块的计算,只给出最终结果。(计算逻辑都一样)


相关推荐
newsxun22 分钟前
第十六届北京国际电影节东郎分会场启幕
人工智能
大嘴皮猴儿22 分钟前
从零开始学商品图翻译:小白也能快速掌握的多语言文字处理与上架技巧
大数据·ide·人工智能·macos·新媒体运营·xcode·自动翻译
思绪无限24 分钟前
YOLOv5至YOLOv12升级:行人跌倒检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·行人跌倒检测系统
大黄说说25 分钟前
AI大模型对内容创作的颠覆:机遇、版权争议与行业新规则
人工智能
captain_AIouo35 分钟前
OZON航海引领者Captain AI指引运营新航向
大数据·人工智能·经验分享·aigc
AI医影跨模态组学1 小时前
PLOS Medicine 中山大学肿瘤防治中心蔡木炎等团队:基于多视角深度学习的组织病理学分析用于II期结直肠癌的预后与治疗分层
人工智能·深度学习·论文·医学·医学影像
起个名字总是说已存在1 小时前
github开源AI技能:Awesome DESIGN.md让页面设计无限可能
人工智能·开源·github
Aray12341 小时前
大模型推理全栈技术解析:从Transformer到RoPE/YaRN的上下文优化
人工智能·深度学习·transformer
ShingingSky1 小时前
给 Claude Code 加上 Windows 提醒——一个小功能,少操十份心
人工智能·设计
思绪无限1 小时前
YOLOv5至YOLOv12升级:行人车辆检测与计数识别系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·yolo·目标检测·yolov12·yolo全家桶·行人车辆检测与计数