[GoogLeNet]Inception-v4
参考:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning,解析Inception-v4架构
总体架构

各个模块输出如下:
All the convolutions not marked with “V” in the figures are same-padded meaning that their output grid matches the size of their input. Convolutions marked with “V” are valid padded, meaning that input patch of each unit is fully contained in the previous layer and the grid size of the output activation map is reduced accordingly
在下面各个模块的结构图中,没有加
Stem

Stem模块实现了网络早期运算,推导如下:
Inception-A

这是GoogLeNet_BN使用的Inception架构,推导如下:
Reduction-A

模块Reduction-A实现空间尺寸缩减功能,从
Inception-B

模块Inception-B使用了Inception-3模型中的分解卷积模块,其参数如下表所示
| type | patch size/stride | input size | output size | depth | #1x1 | #1x7 | #7x1 | #1x7 | #7x1 |
|---|---|---|---|---|---|---|---|---|---|
| conv | 17x17x1024 | 17x17x384 | 1 | 384 | |||||
| conv | 17x17x1024 | 17x17x256 | 3 | 192 | 224 | 256 | |||
| conv | 17x17x1024 | 17x17x256 | 5 | 192 | 192 | 224 | 224 | 256 | |
| avg pooling | 3x3/1 | 17x17x1024 | 17x17x128 | 2 | 128 |
Reduction-B

| type | patch size/stride | input size | output size | depth | #1x1 | #1x7 | #7x1 | #3x3 |
|---|---|---|---|---|---|---|---|---|
| conv | stride=2 | 17x17x1024 | 8x8x192 | 2 | 192 | 192 | ||
| conv | stride=2 | 17x17x1024 | 8x8x320 | 4 | 256 | 256 | 320 | 320 |
| max pooling | 3x3/2 | 17x17x1024 | 8x8x1024 | 1 |
Inception-C

实现
分别定义上述6个模块,然后定义Inception_v4模型,完整实现参考inception_v4.py