基于深度学习的图像识别模型发展 (6)

两个子版本都有相同的模块 A、B、C 和缩减块结构。唯一的不同在于超参数设置。在这一部分,我们将聚焦于结构,并参考论文中的相同超参数设置(图像是关于 Inception-ResNet v1 的)

问题:引入残差连接,它将 inception 模块的卷积运算输出添加到输入上。

方法:为了使残差加运算可行,卷积之后的输入和输出必须有相同的维度。因此,我们在初始卷积之后使用 1x1 卷积来匹配深度(深度在卷积之后会增加)。

基于深度学习的图像识别模型发展

 Inception ResNet 中的 Inception 模块 A、B、C。注意池化层被残差连接所替代,并在残差加运算之前有额外的 1x1 卷积。

主要 inception 模块的池化运算由残差连接替代。然而,你仍然可以在缩减块中找到这些运算。缩减块 A 和 Inception v4 中的缩减块相同。

基于深度学习的图像识别模型发展

 (左起)缩减块 A(从 35x35 到 17x17 的尺寸缩减)和缩减块 B(从 17x17 到 8x8 的尺寸缩减)。这里参考了论文中的相同超参数设置(V,I,K)。(图源:https://arxiv.org/pdf/1602.07261.pdf)

如果卷积核的数量超过 1000,则网络架构更深层的残差单元将导致网络崩溃。因此,为了增加稳定性,作者通过 0.1 到 0.3 的比例缩放残差激活值。

基于深度学习的图像识别模型发展

 激活值通过一个常数进行比例缩放,以防止网络崩溃。

原始论文并没有在求和之后使用批归一化,以在单个 GPU 上训练模型(在单个 GPU 上拟合整个模型)。

研究发现 Inception-ResNet 模型可以在更少的 epoch 内达到更高的准确率。

Inception v4 和 Inception-ResNet 的网络完整架构如下图所示:

基于深度学习的图像识别模型发展

这篇论文里,作者借鉴了resnet的残差网络的思想,将其应用到了inception-v3当中,结构如下:

基于深度学习的图像识别模型发展

inception-v4:Inception with skip connections

论文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

问题:某些模块有不必要的复杂性。我们应该添加更多一致的模块来提高性能。

方法:Inception v4 的 stem 被修改了。这里的 stem 参考了在引入 Inception 块之前执行的初始运算集。

基于深度学习的图像识别模型发展

 图上部是 Inception-ResNet v1 的 stem。图下部是 Inception v4 和 Inception-ResNet v2 的 stem

它们有三个主要的 Inception 模块,称为 A、B 和 C(和 Inception v2 不同,这些模块确实被命名为 A、B 和 C)。它们看起来和 Inception v2(或 v3)变体非常相似。

基于深度学习的图像识别模型发展

Inception v4 引入了专用的「缩减块」(reduction block),它被用于改变网格的宽度和高度。早期的版本并没有明确使用缩减块,但也实现了其功能。

基于深度学习的图像识别模型发展

 缩减块 A(从 35x35 到 17x17 的尺寸缩减)和缩减块 B(从 17x17 到 8x8 的尺寸缩减)。这里参考了论文中的相同超参数设置(V,I,k)。

inception-v4 是通过提出了更多新的inception module扩展网络结构,能够达到和inception-resnet-v2相媲美的效果,这个有时间再研究一下。

 网络的性能分析图

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwygfg.html