GoogLeNet
GoogleNet是2014年ImageNet的冠军,它颠覆了大家对于卷积网络的串联的印象和固定的做法,采用了一种非常有效的 inception 模块,增加了网络的宽度,得到了比 VGG 更深的网络结构,并且比 VGG 的参数更少,因为去掉了后面的全连接层,所以参数大大减少,同时有了很高的计算效率,即Inception结构。
一、Inception V1
Inception v1的优点:
1、提出了Inception初始模块,对于同一个地方的特征采用不同大小的卷积核并行进行卷积,增加了网络的宽度,获得了一个不同尺度的特征融合。其中有:5 * 5的卷积核、3 * 3的卷积核、1 * 1的卷积核、3 * 3的最大池化。一个分支为:1 * 1的卷积核,一个分支为:1 * 1的卷积然后3 * 3的卷积,一个分支为:1 * 1的卷积然后5 * 5的卷积,一个分支为3 * 3的最大池化然后1 * 1的卷积。
2、使用1 * 1的卷积进行降维,大幅降低了计算量。
3、取消了卷积之后的第一层全连接层,全连接层参数太大,采用了全局平均池化的方式。
4、增加了辅助的分类器,即对网络中间层次也进行一个分类结果的预测并计算损失,解决前几层的梯度消失问题,可以加速收敛,在测试阶段不使用。
二、Inception V2
Inception V2 改进:
1、提出了批归一化(batch normalization)
2、把Inception v1模块55卷积核改为两个33的卷积核。
BN(batch normalization):BN是对该batch中的每个通道进行归一化。计算出每个通道的均值和标准差
在BN的过程中,最后一步是对得到的值先乘以一个s算子,然后再加上b偏差,目的是再尽可能保留一些特征处置之前的信息。论文中有说到,BN放在激活函数之前,但是有时候做实验,发现,BN放在任何地方都会有效果。
三、Inception V3
Inception v3的改进:
1、N * N的卷积核有的变为:1 * N和N * 1的,降低了参数的数量和计算量,Inception采用了三种变形。
2、取消了浅层的分类器,保留了深层的分类器。
四、Inception V4
Inception v4改进:
增加了reduction模块,起到池化的作用,可以降低维度。用该模块可以决定,用maxpool进行降维得到的效果更好还是卷积的方法进行降维效果更好。把这几种的可能性叠加到了一起。reduction里面由两种形式。
四、Inception ResNet
Inception-resnet模块:
三种结构的Inception的模块中,添加了一个分支,该分支直接把输入特征一起与其他分支处理完的特征拼接到了一起。
五、总结
Inception可扩展性比较差,网络的超参数设定针对性比较强,训练出来的网络可能更加适合于当前数据集的一个情况,扩展到其他数据集效果较差。