googLeNet论文阅读笔记

文章目录

  • 一些介绍
  • Inception模块
  • 辅助的两个分类器模块
  • 平均池化(average pooling)
  • 参考资料

一些介绍

在AlexNet提出之后,CNN网络越来越深越来越大,数据集也是非常大,对计算机的计算速度与内存大小要求很高,所以要想一些办法来让计算更有效率、减少参数量又不让结果变坏。
(1)考虑到全连接层需要的参数实在太多了,所以选择去掉全连接层,换成其他稀疏的结构。但是计算机对稀疏数据的计算不如非稀疏数据有效率,所以文章考虑把稀疏矩阵拆解成密集矩阵来计算,也就是本文的很重要的部分:Inception结构
(2)在卷积层前加入1 × \times × 1的卷积层,大大减少计算量。
(3)网络太深,梯度难以回传,所以增加两个辅助分类器,防止梯度消失。

Inception模块

googLeNet论文阅读笔记_第1张图片

  1. 这个模块的处理方式是:
    input复制四份分别进入四个卷积层中,(之所以选择11、33、5*5大小的核,是因为只要pad分别选取0、1、2,就可以得到长宽相同的图。)然后将得到的长宽相同的feature maps按channel堆叠起来,得到output。
  2. 在卷积层前面加1 × \times × 1卷积层的原因:
    做了1 × \times × 1卷积后的feature maps的channel数会减少,后面卷积就不需要做很多乘法,减少了计算量。
  3. 使用Inception模块的想法:
    直观上用了四种处理方式,提取出来的特征应该是不同的,特征更加丰富了,有助于之后的分类。
    还有一个原因是要把稀疏矩阵拆解成密集矩阵,提高运算效率,并且将相关性强的特征聚集在一起(这里意思是:1 × \times × 1、3 × \times × 3、5 × \times × 5卷积分别聚集了一些相关的特征),减少不相关特征的冗余,让训练速度加快。

辅助的两个分类器模块

googLeNet论文阅读笔记_第2张图片
因为网络深,为了防止梯度消失,作者加了两个辅助分类器。

平均池化(average pooling)

借鉴Network in Network的做法,用平均池化层代替全连接层,top-1 accuracy提高,且减少了参数数量。但是仍然要使用dropout。最后还是加了一个FC层,是为了方便大家微调。

参考资料

感谢各位博主的笔记,让我能学到点东西。

深入理解GoogLeNet结构(原创)
深入解读GoogLeNet网络结构(附代码实现)
GoogLeNetv1 论文研读笔记

你可能感兴趣的:(深度学习论文阅读,论文阅读,深度学习,计算机视觉)