[bilibili乱搞]GoogLeNet

GoogLeNet

网络亮点

  • 引入Inception结构(融合不同尺度的特征信息)
  • 使用$1\times 1$的卷积核进行降维以及映射处理
  • 添加两个辅助分类器帮助训练
    AlexNet和VGG都只有一个输出层,而GoogLeNet有三个输出层(其中两个辅助分类层)
  • 丢弃全连接层,使用平均池化层(大大减少模型参数)

前置技能

1 * 1矩阵降维

upload successful
考虑channel为512的特征矩阵:

  • 不使用1 * 1的卷积核进行降维:
    使用64个$5\times 5$的卷积核进行卷积,所需特征值个数为$5 \times 5 \times 512 \times 64=819200$
  • 使用$1 \times 1$的卷积核进行降维:
    首先使用24个$1\times 1$的卷积核进行卷积,得到channel为24的特征矩阵,然后使用64个$5\times 5$的卷积核进行卷积。所需参数个数为$1\times 1\times 512\times 24+5\times 5\times 24\times 64=50688$

Inception结构

之前所提到的网络,例如AlexNet和VGG等,都是串行结构,将卷积层和下采样层等进行串联得到,而Inception采用并行结构。
初始版本:将所得到的特征矩阵同时输入到四个分支中进行处理,将得到的特征矩阵按深度拼接,得到输出矩阵。
upload successful
加入降维功能:加入三个1 * 1的卷积核,起到降维作用。
upload successful
注:每个分支所得到的特征矩阵高和宽必须相同。

辅助分类器

upload successful

  • 第一层为平均池化下采样层,池化核大小为5 * 5,stride为3
  • 第二层采用128个1 * 1的卷积核进行卷积,降低维度。并且使用ReLU
  • 然后采用节点个数为1024的全连接层,同时使用ReLU
  • 70%的比例随机失活神经元
  • softmax函数得到概率分布