经典卷积神经网络的学习(三)—— Inception Net

Google Inception Net 首次出现在 ILSVRC 2014 的比赛中(和 VGGNet 同年),就以较大优势拔得头筹。那届比赛中的 Inception Net 一般被称为 Inception V1(version 1),其最大的优势在于控制 了参数量(也就控制了计算量)的同时,仍然能够获得非常好的分类性能 —— top-5 错误率 6.67%。

Inception V1 降低餐数量的目的在于以下两点:

  • 参数越多,模型越庞大,需要提供模型学习的数据量也就越大,而当前高质量的数据非常昂贵;
  • 参数越多,相应地耗费的计算资源也会更大;

0. 一些细节问题

  • Scale images because Inception needs pixels to be between 0 and 255,
    • Inception net 要求输入图像的像素值在 0-255 区间内,而不是 0-1,如果原始图像的像素值在 0-1,需要在乘以 255;
  • The output of the Inception model is a so-called Softmax-function
    • Inception net 的输出是 softmax-function,
  • 为什么使用了较多 1×1 的卷积
    • 图片数据天然地邻近区域的数据相关性较高,也即可通过卷积操作使相邻的像素点连接在一起。我们可十分方便构造多个卷积核,在同一空间位置但不同通道的卷积核的输出结果相关性较高
    • 因此一个 1×1 的卷积就可以很自然地将这些相关性很高的、在同一空间位置但不同通道的特征连接在一起,这也正是 1×1 的卷积会频繁地应用到 Inception Net 中的原因。
    • 1×1 卷积所连接的节点的相关性是最高的,而稍微大一点尺寸的卷积,3×35×5 的卷积所连接的节点相关性也很高,因此可进一步地使用一些稍大尺寸的卷积,增加特征多样性(diversity)

1. 模型拓扑

  • Inception V1 有 22 层深,比 AlexNet 的 8 层或者 VGGNet 的 19 层还要更深。
  • 去除了最后的全连接层,而使用全局平均池化层(将图片尺寸变为 1×1)取代全连接层;



如上图所示为 Inception Module 的结构图,可知:

  • 基本结构共有四个分支;Inception Module 的 4 个分支在最后一个聚合操作合并(在输出通道数这个维度上聚合)
  • Inception Module 中包含了:
    • 3 种不同尺寸的卷积:1×1,3×3,5×5
    • 1 个最大池化层:3×3

2. Inception Net 家族

  • 2014 年 9 月,Going Deeper with Convolutions ⇒ Inception V1(top-5 错误率 6.67%)
  • 2015 年 2 月,Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate ⇒ Inception V2(top-5 错误率 4.8%)
    • 学习了 VGGNet,用两个 3×3 的卷积代替 5×5 的大卷积(以降低参数和减轻过拟合),正如论文标题所言,还提出了有效的 Batch Normalization 方法,可为大型卷积网络的训练加速很多倍;
  • 2015 年 12 月,Rethinking the Inception Architecture for Computer Vision ⇒ Inception V3(top-5错误率 3.5%),主要有下述改进:
    • 引入 Factorization into Small convolutions 的思想,讲一个较大的二维卷积拆成两个较小的一维卷积,比如将 7×71×7 & 7×1
  • 2016 年 2 月,Inception V4、Inception-ResNet and the Impact of Residual Connections on learning,提出 Inception V4 的概念,(top-5 错误率 3.08%)
原文地址:https://www.cnblogs.com/mtcnn/p/9422034.html