[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