Skip to content

DeepLearning笔记(9)——Inception

1. 论文

2. V1

Inception V1主要就是将不同的CONV和POOL堆叠在一起,一方面增加了网络的宽度,一方面提高了尺寸的自适应性,即不需要人为确定应该使用什么尺寸的filter,而是让网络来自己学习。

如上图(a)所示,左边就是一个简单的Inception module,对输入层分别使用 1×1,3×3,5×5 的卷积以及 3×3 的池化,然后将这些结果堆叠起来作为下一层。具体操作如下图所示:

对于其中 5×5 的卷积,一共需要的乘法计算次数为 (5×5×192)×(28×28×32)=120,422,400,这个计算成本是巨大的。因此往往会先通过 1×1 的卷积缩减维度,从而降低计算成本,如第一幅图中的(b)所示。降维操作如下图所示:

此时计算量为 (1×1×192)×(28×28×16)+(5×5×16)×(28×28×32)=12,443,648,是原来的差不多十分之一。

3. V2

V2相比V1主要有以下改进:

  1. 使用了 Batch Normalization
  2. 使用两个 3×3 的卷积核来代替一个 5×5 的,一方面减少了参数,另一方面增加了更多的非线性变换(网络深度)

此时 Inception module 如下图所示:

4. V3

V3使用 1×nn×1 的卷积来代替一个 n×n 的卷积。

在Inception V3中,有三种Inception module,如下图示:

最终的网络结构如下表所示:

5. V4

Inception V4是Inception与ResNet相结合。