up主 刘二大人
GoogLeNet
如下图所示, 当层数过多时, 为了减少代码冗余即将设计中重复出现的层定义成一个类。
GoogLeNet模型中将这样的模块称之为Inception Module.
Inception Module
如下图所示为Inception Module设计, 最终这四条路径的输出,按照通道的顺序进行拼接,进而进行下一步。
Inception Module 进一步解读参考如下博客:
1*1卷积(Network in Network)
对于多通道输入数据, 每个通道配置一个1*1 卷积核, 输出数据W/H不变, 输出通道数根据卷积核个数变化而变化。
如 (C=Channel=通道数):
输入数据 3(C) * W * H , 经过1个 3(C)* 1*1 卷积核, 输出为1(C) * W * H;
输入数据 3(C) * W * H , 经过10个 3(C) * 1*1 卷积核, 输出为10(C) * W * H
得出:
1*1 卷积核Channel = 输入数据Channel;
输出数据Channel = C*1*1卷积核的个数
1*1 卷积的作用
- 减少计算量
- 改变通道数, 从而达到升维/降维的作用
1) 减少计算量
如下示例中,通过1*1 卷积计算量降低1/10 (假设有padding,28个元素都参与运算)
2) 改变通道数
借鉴如下博客: