1. 分解成更小的卷积
2. 非对称卷积的空间分解

## 辅助分类器

GoogLeNet模型的训练过程中，网络早期层额外使用了两个分类器，其最初的动机是将有用的梯度推至较低层，实现权重训练，通过在极深网络中对抗消失梯度问题来改善训练期间的收敛性。论文经过实验发现辅助分类器在训练的早期并没有改善收敛。但是接近训练结束时，带有辅助分支的网络开始超越没有任何辅助分支的网络的精度，并达到稍高的平台。

• $$Input = 17\times 17\times 768$$
• 使用$$5\times 5$$大小，步长为$$3$$的平均池化，输出为$$5\times 5\times 768$$
• 进行$$1\times 1$$卷积，输出为$$5\times 5\times 128$$
• 全连接操作，权重大小为$$3200\times 1024$$
• $$Output = 1024$$

## 参数推导

The detailed structure of the network, including the sizes of filter banks inside the Inception modules, is given in the supplementary material, given in the model.txt that is in the tar-file of this submission.

1. 前期卷积和池化操作
2. 第一个Inception组（前3Inception模块）
3. 第二个Inception组（中间5Inception模块）
4. 第三个Inception组（最后2Inception模块）
5. 最后的卷积池化操作

### 前期卷积和池化操作

• $$Input = 299\times 299\times 3$$
• $$Conv_1$$
• $$Kernel = 3\times 3, S=2, Num_{filter}=32$$
• $$Output = 149\times 149\times 32$$
• $$Conv_2$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=32$$
• $$Output = 147\times 147\times 32$$
• $$Conv_3$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=64, P=1$$
• $$Output = 147\times 147\times 64$$
• $$Pool$$
• $$Kernel = 3\times 3, S=2$$
• $$Output = 73\times 73\times 64$$
• $$Conv_4$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=80$$
• $$Output = 71\times 71\times 80$$
• $$Conv_5$$
• $$Kernel = 3\times 3, S=2, Num_{filter}=192$$
• $$Output = 35\times 35\times 192$$
• $$Conv_6$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=288, P = 1$$
• $$Output = 35\times 35\times 288$$

### 第一个Inception组

For the Inception part of the network, we have 3 traditional inception modules at the 35×35 with 288 filters each.

3Inception模块包含了288个滤波器，输入$$35\times 35\times 288$$，输出$$17\times 17\times 768$$。设计参数如下：

type步长输出大小#1x1#3x3 reduce#3x3double #3x3 reducedouble #3x3Pool+proj
inception(3a)35x35x2886464646496Avg+64
Inception(3b)35x35x2886464966496Avg+32
Inception(3c)Stride 217x17x768012832064160Max+0
• $$Input = 35\times 35\times 288$$
• $$Inception_{1}$$
• $$1\times 1$$
• $$Conv_{1\times 1}$$
• $$Kernel=1\times 1, S=1, Num_{filter}=64$$
• $$Output = 35\times 35\times 64$$
• $$3\times 3$$
• $$Conv_{1\times 1}$$
• $$Kernel=1\times 1, S=1, Num_{filter}=64$$
• $$Output = 35\times 35\times 64$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=64, P=1$$
• $$Output = 35\times 35\times 64$$
• $$3\times 3 + 3\times 3$$
• $$Conv_{1\times 1}$$
• $$Kernel = 1\times 1, S=1, Num_{filter}+64$$
• $$Output = 35\times 35\times 64$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=96, P=1$$
• $$Output = 35\times 35\times 96$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=96, P=1$$
• $$Output = 35\times 35\times 96$$
• $$Pool$$
• $$Avg Pool$$
• $$Kernel = 3\times 3, S=1, P=1$$
• $$Output = 35\times 35\times 64$$
• $$Conv_{1\times 1}$$
• $$Kernel = 1\times 1, S=1, Num_{filter}=64$$
• $$Output = 35\times 35\times 64$$
• $$Cat = 35\times 35\times 288$$
• $$Inception_{2}$$
• $$1\times 1$$
• $$Conv_{1\times 1}$$
• $$Kernel=1\times 1, S=1, Num_{filter}=64$$
• $$Output = 35\times 35\times 64$$
• $$3\times 3$$
• $$Conv_{1\times 1}$$
• $$Kernel=1\times 1, S=1, Num_{filter}=64$$
• $$Output = 35\times 35\times 64$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=96, P=1$$
• $$Output = 35\times 35\times 96$$
• $$3\times 3 + 3\times 3$$
• $$Conv_{1\times 1}$$
• $$Kernel = 1\times 1, S=1, Num_{filter}+64$$
• $$Output = 35\times 35\times 64$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=96, P=1$$
• $$Output = 35\times 35\times 96$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=96, P=1$$
• $$Output = 35\times 35\times 96$$
• $$Pool$$
• $$Avg Pool$$
• $$Kernel = 3\times 3, S=1, P=1$$
• $$Output = 35\times 35\times 32$$
• $$Conv_{1\times 1}$$
• $$Kernel = 1\times 1, S=1, Num_{filter}=32$$
• $$Output = 35\times 35\times 32$$
• $$Cat = 35\times 35\times 288$$
• $$Inception_{3}$$
• $$1\times 1$$
• $$Conv_{1\times 1}$$
• $$None$$
• $$3\times 3$$
• $$Conv_{1\times 1}$$
• $$Kernel=1\times 1, S=1, Num_{filter}=128$$
• $$Output = 35\times 35\times 128$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=2, Num_{filter}=320$$
• $$Output = 17\times 17\times 320$$
• $$3\times 3 + 3\times 3$$
• $$Conv_{1\times 1}$$
• $$Kernel = 1\times 1, S=1, Num_{filter}+64$$
• $$Output = 35\times 35\times 64$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=1, Num_{filter}=160, P=1$$
• $$Output = 35\times 35\times 160$$
• $$Conv_{3\times 3}$$
• $$Kernel = 3\times 3, S=2, Num_{filter}=160$$
• $$Output = 17\times 17\times 160$$
• $$Pool$$
• $$Max Pool$$
• $$Kernel = 3\times 3, S=2$$
• $$Output = 17\times 17\times 288$$
• $$Cat = 17\times 17\times 768$$

1. $$5\times 5$$卷积进一步拆分成两个$$3\times 3$$小卷积网络，这两个$$3\times 3$$卷积拥有相同大小的卷积核以及滤波器数目
2. 前两层使用$$Avg Pool$$，最后一层使用$$Max Pool$$，且后续不连接$$1\times 1$$卷积

### 第二个Inception组

This is reduced to a 17 × 17 grid with 768 filters using the grid reduction technique described in section 5. This is is followed by 5 instances of the factorized inception modules as depicted in figure 5. This is reduced to a 8 × 8 × 1280 grid with the grid reduction technique depicted in figure 10.

type步长输出大小#1x1#7x7 reduce#7x7double #7x7 reducedouble #3x3Pool+proj
Inception(5a)17x17x7681929616096160Avg+256
Inception(5b)17x17x7681929616096160Avg+256
Inception(5c)17x17x7681929616096160Avg+256
Inception(5d)17x17x7681929616096160Avg+256
Inception(5e)Stride 28x8x12800128192128320Max+0

### 第三个Inception组

At the coarsest 8 × 8 level, we have two Inception modules as depicted in figure 6, with a concatenated output filter bank size of 2048 for each tile.

type步长输出大小#1x1#3x3 reduce#3x3double #3x3 reducedouble #3x3Pool+proj
Inception(2a)8x8x1280256128160128240Avg+224
Inception(2b)8x8x2048256969696160Max+0

• 第一层：$$256+160*2+240*2+224=1280$$
• 第二层：$$256+96*2+160*2+1280=2048$$

### 最后的卷积池化操作

• $$Input = 8\times 8\times 2048$$
• $$Pool$$
• $$Avg Pool$$
• $$Kernel=8\times 8$$
• $$Output = 1\times 1\times 2048$$
• $$Linear$$
• $$kernel = 1\times 1, Num_{filter}=1000$$
• $$Output = 1\times 1\times 1000$$

## 训练

1. 数据集：PASCAL VOC 07+1220类共40058个训练样本和12032个测试样本
2. 批量大小：128
3. 优化器：Adam，学习率为1e-3
4. 随步长衰减：每隔8轮衰减4%，学习因子为0.96
5. 迭代次数：100

100轮迭代后，Inception_v2实现了78.02%的最好测试精度；GoogLeNet_BN实现了74.77%的最好测试精度