深度学习经典模型之GoogLeNet
1 GoogLeNet
1.1 模型介绍
GoogLeNet作为2014年ILSVRC在分类任务上的冠军,以6.65%的错误率力压VGGNet等模型,在分类的准确率上面相比过去两届冠军ZFNet和AlexNet都有很大的提升。从名字GoogLeNet可以知道这是来自谷歌工程师所设计的网络结构,而名字中GoogLeNet更是致敬了LeNet[0]^{[0]}[0]。GoogLeNet中最核心的部分是其内部子网络结构Inception,该结构灵感来源于NIN,至今已经经历了四次版本迭代(Inceptionv1−4_{v1-4}v1−4)。

图 1 Inception性能比较图
1.2 模型结构

图 2 GoogLeNet网络结构图
如图4.9中所示,GoogLeNet相比于以前的卷积神经网络结构,除了在深度上进行了延伸,还对网络的宽度进行了扩展,整个网络由许多块状子网络的堆叠而成,这个子网络构成了Inception结构。图4.9为Inception的四个版本:Inceptionv1Inception_{v1}Inceptionv1在同一层中采用不同的卷积核,并对卷积结果进行合并;Inceptionv2Inception_{v2}Inceptionv2组合不同卷积核的堆叠形式,并对卷积结果进行合并;Inceptionv3Inception_{v3}Inceptionv3则在v2v_2v2基础上进行深度组合的尝试;Inceptionv4Inception_{v4}Inceptionv4结构相比于前面的版本更加复杂,子网络中嵌套着子网络。
Inceptionv1Inception_{v1}Inceptionv1


Inceptionv2Inception_{v2}Inceptionv2



Inceptionv3Inception_{v3}Inceptionv3

Inceptionv4Inception_{v4}Inceptionv4



图 3 Inceptionv1−4_{v1-4}v1−4结构图
表 4 GoogLeNet中Inceptionv1_{v1}v1网络参数配置
| 网络层 | 输入尺寸 | 核尺寸 | 输出尺寸 | 参数个数 |
|---|---|---|---|---|
| 卷积层C11C_{11}C11 | H×W×C1H\times{W}\times{C_1}H×W×C1 | 1×1×C2/21\times1\times{C_2}/21×1×C2/2 | H2×W2×C2\frac{H}{2}\times\frac{W}{2}\times{C_2}2H×2W×C2 | (1×1×C1+1)×C2(1\times1\times{C_1}+1)\times{C_2}(1×1×C1+1)×C2 |
| 卷积层C21C_{21}C21 | H×W×C2H\times{W}\times{C_2}H×W×C2 | 1×1×C2/21\times1\times{C_2}/21×1×C2/2 | H2×W2×C2\frac{H}{2}\times\frac{W}{2}\times{C_2}2H×2W×C2 | (1×1×C2+1)×C2(1\times1\times{C_2}+1)\times{C_2}(1×1×C2+1)×C2 |
| 卷积层C22C_{22}C22 | H×W×C2H\times{W}\times{C_2}H×W×C2 | 3×3×C2/13\times3\times{C_2}/13×3×C2/1 | H×W×C2/1H\times{W}\times{C_2}/1H×W×C2/1 | (3×3×C2+1)×C2(3\times3\times{C_2}+1)\times{C_2}(3×3×C2+1)×C2 |
| 卷积层C31C_{31}C31 | H×W×C1H\times{W}\times{C_1}H×W×C1 | 1×1×C2/21\times1\times{C_2}/21×1×C2/2 | H2×W2×C2\frac{H}{2}\times\frac{W}{2}\times{C_2}2H×2W×C2 | (1×1×C1+1)×C2(1\times1\times{C_1}+1)\times{C_2}(1×1×C1+1)×C2 |
| 卷积层C32C_{32}C32 | H×W×C2H\times{W}\times{C_2}H×W×C2 | 5×5×C2/15\times5\times{C_2}/15×5×C2/1 | H×W×C2/1H\times{W}\times{C_2}/1H×W×C2/1 | (5×5×C2+1)×C2(5\times5\times{C_2}+1)\times{C_2}(5×5×C2+1)×C2 |
| 下采样层S41S_{41}S41 | H×W×C1H\times{W}\times{C_1}H×W×C1 | 3×3/23\times3/23×3/2 | H2×W2×C2\frac{H}{2}\times\frac{W}{2}\times{C_2}2H×2W×C2 | 000 |
| 卷积层C42C_{42}C42 | H2×W2×C2\frac{H}{2}\times\frac{W}{2}\times{C_2}2H×2W×C2 | 1×1×C2/11\times1\times{C_2}/11×1×C2/1 | H2×W2×C2\frac{H}{2}\times\frac{W}{2}\times{C_2}2H×2W×C2 | (3×3×C2+1)×C2(3\times3\times{C_2}+1)\times{C_2}(3×3×C2+1)×C2 |
| 合并层MMM | H2×W2×C2(×4)\frac{H}{2}\times\frac{W}{2}\times{C_2}(\times4)2H×2W×C2(×4) | 拼接 | H2×W2×(C2×4)\frac{H}{2}\times\frac{W}{2}\times({C_2}\times4)2H×2W×(C2×4) | 000 |
1.3 模型特性
-
采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;
-
之所以卷积核大小采用1、3和5,主要是为了方便对齐。设定卷积步长stride=1之后,只要分别设定pad=0、1、2,那么卷积之后便可以得到相同维度的特征,然后这些特征就可以直接拼接在一起了;
-
网络越到后面,特征越抽象,而且每个特征所涉及的感受野也更大了,因此随着层数的增加,3x3和5x5卷积的比例也要增加。但是,使用5x5的卷积核仍然会带来巨大的计算量。 为此,文章借鉴NIN2,采用1x1卷积核来进行降维。
如果你也想玩GPT4,市场独享4.0一般在190-230/月,而且官网麻烦,如果想低成本玩GPT4,可以加v:l715666082,加v时刻备注:GPT4
此外,小编为了解决官网的提问次数限制,做了一个账号池,官方事每个号40次/3h提问题次数,通过账号池技术,不用等次数刷新,跟原版的体验感是一样的,因为好用实惠,续费还是很多的
更多推荐
所有评论(0)