Rethinking the Inception Architecture for Computer Vision Christian Szegedy Google Inc. Vincent VanhouckeSergey IoffeJonathon Shlens vanhoucke@google.com sioffe@google.com shlens@google.com arXiv:1512.00567v3 [cs.CV] 11 Dec 2015 szegedy@google.com Zbigniew Wojna University College London zbigniewwojna@gmail.com 核心
局部连接,参数共享,一个位置的核的计算结果对应一个点/数值,反之逆向也有一个对应关系
现代的设计理念为 多层小核,其效果与少层大核的一样
但流量不一样,
大核每次计算的参数很大,层数虽然少了,但每次计算的参数量大
大核的感受视野大,小核的感受视野小,将不同视野的向量并起来,
这就是多尺度的概念
多尺度的思想是有价值的,是重要的,但不需要设计的如此复杂,
意思就是同样使用多尺度的思想,用更简单的设计也能达到同样的效果
|
从不同的维度提取特征,然后 整合/融合,就是多尺度的思想
这个整合/融合,通常是拼接,相加
resnet使用的是相加,也叫短接,
这一加,就解决了DL因为层数多导致的梯度消失问题
|
|
|
|
|
## Inception 模块
GoogLeNet(Inception V1)的核心创新是 **Inception 模块**,通过并行使用不同尺寸的卷积核来提取多尺度特征。
### 基本结构
```
输入
├──→ [1×1 卷积] ────────────────┐
├──→ [1×1 卷积] → [3×3 卷积] ───┤
├──→ [1×1 卷积] → [5×5 卷积] ───┤ → 通道拼接(Concat)
└──→ [3×3 最大池化] → [1×1 卷积] ┘
```
### 特点
- **多尺度特征提取**:同时使用 1×1、3×3、5×5 卷积核
- **1×1 卷积降维**:在 3×3 和 5×5 卷积前使用 1×1 卷积减少通道数
- **参数效率高**:仅 4M 参数(远小于 VGG 的 138M)
### 输出尺寸计算
假设输入为 28×28×192:
- 1×1 卷积(128通道):28×28×128
- 3×3 卷积(192→96→128):28×28×128
- 5×5 卷积(192→16→32):28×28×32
- 池化(192→32):28×28×32
**输出**:28×28×(128+128+32+32) = **28×28×320**
|
|
## 1×1 卷积的作用
1×1 卷积是 Inception 模块的关键组件,作用包括:
### 1. 降维(减少参数量)
**示例**:输入 28×28×192,输出 28×28×32
- 直接使用 5×5 卷积:$5×5×192×32 = 153,600$ 参数
- 先 1×1 降维到 16,再 5×5:$1×1×192×16 + 5×5×16×32 = 3,072 + 12,800 = 15,872$ 参数
**参数量减少约 10 倍!**
### 2. 增加非线性
1×1 卷积后接激活函数,增加网络的非线性表达能力。
### 3. 跨通道信息融合
1×1 卷积可以看作是对每个像素位置的所有通道进行线性组合,实现跨通道信息融合。
### 公式
$$Output_{h,w} = \\sum_{c=0}^{C_{in}-1} W_c \\cdot Input_{h,w,c} + b$$
|
|
## GoogLeNet 网络结构
```
输入(224×224×3)
→ Conv(7×7,64,stride=2) → MaxPool
→ Conv(1×1,64) → Conv(3×3,192) → MaxPool
→ Inception(3a) → Inception(3b) → MaxPool
→ Inception(4a) → Inception(4b) → Inception(4c) → Inception(4d) → Inception(4e) → MaxPool
→ Inception(5a) → Inception(5b)
→ 全局平均池化 → Dropout → FC(1000) → Softmax
```
**辅助分类器**:
- 在 Inception(4a) 和 Inception(4d) 后添加辅助分类器
- 用于缓解梯度消失问题
- 训练时使用,推理时移除
**总参数量**:约 4M(远小于 AlexNet 的 60M 和 VGG 的 138M)
|
|
## Inception 演进版本
### Inception V2 (2015)
**改进**:将大卷积核拆分为小卷积核
- 5×5 卷积 → 两个 3×3 卷积
- 参数量:$5×5 = 25$ → $3×3 + 3×3 = 18$(减少 28%)
### Inception V3 (2015)
**改进**:非对称卷积分解
- n×n 卷积 → 1×n + n×1
- 3×3 卷积 → 1×3 + 3×1
- 参数量:$3×3 = 9$ → $1×3 + 3×1 = 6$(减少 33%)
### Inception V4 (2016)
**改进**:更深的网络结构,结合 ResNet 的残差连接
- Inception + ResNet = Inception-ResNet
|