GoogLeNet
网络亮点
- 引入Inception结构(融合不同尺度的特征信息)
- 使用$1\times 1$的卷积核进行降维以及映射处理
- 添加两个辅助分类器帮助训练
AlexNet和VGG都只有一个输出层,而GoogLeNet有三个输出层(其中两个辅助分类层) - 丢弃全连接层,使用平均池化层(大大减少模型参数)
前置技能
1 * 1矩阵降维
考虑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采用并行结构。
初始版本:将所得到的特征矩阵同时输入到四个分支中进行处理,将得到的特征矩阵按深度拼接,得到输出矩阵。
加入降维功能:加入三个1 * 1的卷积核,起到降维作用。
注:每个分支所得到的特征矩阵高和宽必须相同。
辅助分类器
- 第一层为平均池化下采样层,池化核大小为5 * 5,stride为3
- 第二层采用128个1 * 1的卷积核进行卷积,降低维度。并且使用ReLU
- 然后采用节点个数为1024的全连接层,同时使用ReLU
- 70%的比例随机失活神经元
- softmax函数得到概率分布