1 AI论文笔记--Going deeper with convolutions

1 AI论文笔记–Going deeper with convolutions(2014年论文)

原文链接:https://arxiv.org/abs/1409.4842

还不错的CSDN全文翻译:https://huangfei.blog.csdn.net/article/details/70336079

还不错的InceptionV1-V4论文小结: https://blog.csdn.net/qq_30815237/article/details/89046890
论文课程学习来自—知识星球—同济子豪兄


文章主要说明了如何改变网络结构本身(并不是一昧地加深),来优化模型的性能。
如本文提出了一种可以嵌入到CNN模型中的Inception模块,该模块大大减少了网络中的参数量。
Inception模块如下图
1 AI论文笔记--Going deeper with convolutions


论文结构

Abstract

1 Introduction

2 Related Work

3 Motivation and High Level Considerations

4 Architectural Details

5 GoogLeNet

6 Training Methodology

7 ILSVRC 2014 Classification Challenge Setup and Results

8 ILSVRC 2014 Detection Challenge Setup and Results

9 Conclusions

10 Acknowledgements

References


摘要

  • 在保证网络的深度和宽度的同时,为减少网络的计算量,提出了一种Inception模块的思想。
  • 为优化性能,结构的思想源于Hebbian principle(赫布理论)multi-scale processing(多尺度信息处理)
  • 在CNN模型中加入了Inception,提出了GoogLeNet(a 22 layers deep network)模型,并获得ILSVRC14的图像分类和目标检测冠军

前言

  • 近年来,图像识别和目标检测得到飞速进展,不仅是由于硬件、数据集和更庞大的模型的出现,而是新的模型思路和改进结构,如GoogLeNet比AlexNet少12倍参数量 ,且更加精确。
  • 目前算法不能一昧追求精度提高,还要考虑计算效率、能耗、内存占用等因素,让他们有可能部署于嵌入式设备中

相关工作

  • 从LeNet-5开始,CNN有了典型的结构,即是卷积层的叠加,如(卷积+normalization+最大池化)✖ n+全连接层 ✖ m

  • 在Network-in-Network中指出,为提高模型的表示能力,额外的1x1卷积层后通常是ReLU函数。然而,本文Inception中的1x1卷积的目的有如下:

    • 1、降维
    • 2、减少参数量和运算量 (后面会举例讲到)
    • 3、增加模型深度,提高非线性模型表达能力。

Inception模块思想来源

提高模型性能的传统方法:1、增加网络深度(层数) 2、增加宽度(卷积核的个数)

  • 提出问题:

    • 1、更大更深的网络结构,参数量越多,越容易过拟合(特别是对于小数据集)
    • 2、计算效率变低,如很多权重训练后变成0,那么这部分计算就被浪费了
  • 提出解决思路:

    • 1、受生物学的启发,利用稀疏连接结构代替密集连接结构(当时AlexNet和VGG都是密集连接)
    • 2、但当时硬件对稀疏连接的结构运算并不友好(On the downside, todays computing infrastructures are very inefficient when it comes to numerical calculation on non-uniform sparse data structures.)
    • 3、提出疑问: 能否在现有硬件计算密集矩阵运算条件下,改进模型结构(哪怕是在卷积层水平的改进),从而能够利用额外的稀疏性?
    • 4、大量的文献表明,将稀疏矩阵分解为密集的子矩阵,能加速矩阵的乘法。

结构细节

Inception主要思想:利用密集模块去近似出局部最优稀疏结构。
Inception模块结构如下:
1 AI论文笔记--Going deeper with convolutions

  • a为原生Inception模块,b为改进版Inception模块(增加了1*1的卷积降维)。
  • a中采用多尺度卷积核的优点在于:一张图片中无论目标尺寸大小如何,总有一个卷积核能够捕捉到该目标。a带来的缺点在于模型传递过程中会消耗大量的计算资源。因此考虑b改进版,利用1*1的卷积进行降维,既可以减少信息损失,又可以减少计算量。

GoogLeNet结构

1 AI论文笔记--Going deeper with convolutions

TIPS:

  • 目标检测,以R-CNN为代表的两阶段方法:
    • 1.先找出候选区域(selective search)
    • 2.对每个候选区域运用CNN
  • Hebbian principle(赫布学习法则): 在本文中指的是将不同神经元提取到的特征进行融合,高度相关的神经元会连在一起。
    • 用子豪兄的例子:比如说识别一只猫,有一些神经元是提取猫胡子的,有一些提取猫脸的,有一些提取猫尾巴的。如果图像中有一只猫的话,那在识别的过程中,这些神经元就会高度相关。
  • 1*1卷积核如何降维:1 AI论文笔记--Going deeper with convolutions

附上本文GoogLeNet结构(有点长):

1 AI论文笔记--Going deeper with convolutions

上一篇:EMZ-搭建DL模型的最简便的方式 | 附项目地址


下一篇:基于CNN对掌纹图片进行分类