• 论文精读之 Google_v3,以及其相对于 Google_v1 和 Google_v2_BN 的模型比较


    Rethinking the Inception Architecture for Computer Vision

    重新思考计算机视觉的 Inception 架构

     首先阅读摘要和结论,然后对论文进行精度,其中包含一些模型优化的细节。

    目录

    一、摘要

    二、结论

    三、一般设计原则

    四、辅助分类器的效用

    五、因子分解(Factorizing)卷积 

    (1)5*5分解成两个3*3

    (2)3*3分解成1*3和3*1

    (3)前两种分解的综合应用

    六、高效的网格尺寸缩减

    七、通过标签平滑的模型正则化

    八、在低分辨率输入上的性能(小目标分类检测)

    九、实验结果比较


    一、摘要

    卷积网络是大多数先进的计算机视觉解决方案的核心,适用于各种各样的任务。自2014年以来,深度卷积网络开始成为主流,在各种基准中产生了巨大的收益。尽管对于大多数任务(只要提供足够多的标记数据用于训练),增加的模型大小和计算成本往往转化为即时的质量增益,但计算效率和低参数计数仍然是各种用例(如移动视觉和大数据场景)的使能因素。在这里,我们正在探索扩大网络规模的方法,其目的是通过适当的分解卷积和积极的正则化来尽可能有效地利用增加的计算。我们效验我们的方法在ILSVRC 2012分类挑战验证集上展示了比当前最先进的方法的显著优势:21.2 %的top-1和5.6 %的top-5误差用于单帧评估,使用的网络每次推理的计算量为50亿乘加,使用的参数少于2500万。通过4个模式的集合和multi-crop评估,我们报告了3.5 %的top-5误差和17.3 %的top-1误差。

    multi-crop:通过对图像进行裁剪进行图像数据增强。

    二、结论

    我们提供了一些设计原则来扩展上卷积网络,并在Inception体系结构的背景下对它们进行了研究。这种指导可以导致高性能的视觉网络,与更简单、更单一的架构相比,具有相对适中的计算成本。我们的Inception-v3最高质量版本在ILSVR 2012分类的single-corp评估中达到了21.2 %的top-1误差和5.6 %的top-5误差,开创了最新的技术。这与《Batch normalization: Acceleratingdeep network training by reducing internal covariate shift. 》中描述的网络相比,在计算成本上增加了相对较小( 2.5 × )。不过,我们的解决方案比基于更密集网络的最佳发布结果的计算量要少得多:我们的模型优于《Delving deep intorectifiers: Surpassing human-level performance on imagenet classification. 》的结果- -分别将前5 (前1 )个误差减少了25 % ( 14 % ) - -同时在计算上便宜了6倍,并且使用了至少5倍的参数(估计)。我们的四个Inception - v3模型的集成达到了3.5 %,multi-crop评估达到了3.5 %的前5个误差,比最佳发布结果减少了25 %以上,几乎是ILSVRC2014 winining谷歌公司集成误差的一半。

    我们也证明了在感受野分辨率低至79 × 79的情况下也能得到高质量的结果。这可能在检测相对较小物体的系统中有所帮助。我们研究了神经网络内部的因子分解卷积和激进的降维如何在保持高质量的同时产生计算成本相对较低的网络。较低的参数计数和额外的正则化与批标准化的辅助分类器(auxiliary classifiers)和标签平滑相结合,可以在较小的训练集上训练高质量的网络。

    标签平滑(label smoothing):这是一种正则化策略,主要是通过soft one-hot来加入噪声,减少了真实样本标签的类别在计算损失函数时的权重,最终起到抑制过拟合的效果。

    三、一般设计原则

    在这里,我们将描述一些基于卷积网络的各种体系结构选择的大规模实验的设计原则。在这一点上,下面的原则的效用是推测和额外的未来实验证据将是必要的,以评估其准确性和有效性的领域。尽管如此,对这些原则的严重偏离往往会导致网络质量的恶化,而这些偏差被发现的情况通常会导致体系结构的改进。

    1. 避免代表性瓶颈,尤其是在网络早期。前馈网络可以用一个从输入层到分类器或回归器的无环图来表示。这为信息流定义了一个明确的方向。对于任何分离输入和输出的 cut,人们可以访问通过 cut 的信息量。人们应该避免极端压缩的瓶颈。一般来说,在到达手边任务的最终表征之前,表征的大小应该从输入到输出平缓地减小。理论上,信息内容不能仅仅通过表征的维度来评估,因为它舍弃了相关结构等重要因素;维度仅仅提供了信息内容的粗略估计。
    2. 高维表示更容易在网络内部进行局部处理。在卷积网络中增加 per tile 的激活可以允许更多的解缠特征。由此产生的网络将训练得更快。
    3. 空间聚合可以在低维嵌入上进行,而不会损失太多或任何表征能力。例如,在进行更广泛的(例如3 × 3)卷积之前,可以在空间聚合之前降低输入表示的维度,而不会产生严重的不利影响。我们假设,其原因是相邻单元之间的强相关性导致在降维过程中的信息丢失要少得多,如果输出在空间聚合上下文中使用。考虑到这些信号应该是容易压缩的,降维甚至促进了更快的学习。
    4. 平衡网络的宽度和深度。通过平衡每级过滤器的数量和网络的深度,可以达到网络的最佳性能。同时增加网络的宽度和深度可以提高网络的质量。然而,如果两者都是并行增加的,就可以达到对恒定计算量的最佳改进。因此,计算预算应该以平衡的方式在网络的深度和宽度之间进行分配。

    虽然这些原则可能是有意义的,但使用它们来提高网络的质量是不可能的。其思路是只在不明确的情况下明智地使用它们。

    四、辅助分类器的效用

    《Going deeper with convolutions》引入了auxiliary classifiers的概念,提高了深度网络的收敛性。最初的动机是将有用的梯度推到下层,使其立即有用,并通过对抗非常深的网络中的梯度消失问题来改善训练过程中的收敛性。《Deeply-supervised nets》认为auxiliary classifiers促进了更稳定的学习和更好的收敛。有趣的是,我们发现xauxiliary classifiers在训练初期并没有带来更好的收敛性:在两个模型都达到很高的准确率之前,有侧头(side head)和无side head网络的训练过程看起来几乎完全相同。在接近训练结束时,带有auxiliary 分支的网络开始超过没有任何auxiliary 分支的网络的精度,并达到一个稍高的平台。

    《Going deeper with convolutions》在网络的不同阶段使用了两个侧头。删除较低的auxiliary分支对网络的最终质量没有任何不利影响。结合前面段落中的早期观察,这意味着最初的假设,即这些分支有助于发展低级特性,很可能是错误的。相反,我们认为auxiliary classifiers充当正则化器。这是因为如果两个侧头是 batch-normalization 或有一个 dropout 层,网络的主分类器性能更好。这也为批归一化充当正则化器的猜想提供了一个弱的支持证据。

    五、因子分解(Factorizing)卷积 

    (1)5*5分解成两个3*3

    最下面的网格是5*5的卷积,然后用两个3*3的卷积替代它,最终都是得到一个参数(最上面的正方形)

    因子分解卷积后的线性激活函数和ReLU激活函数的比较。两个3*3的卷积,其中一个使用分解为线性+ ReLU层,另一个使用两个ReLU层。经过386万次运算后,前者达到76.2 %,后者在验证集上达到77.2 % top - 1的准确率。

     左边是原始的Inception模块,右边是进行因子分解后的Inception模块。

         

     (2)3*3分解成1*3和3*1

    3*3的卷积分解成前面是1*3的卷积和后面是3*1的卷积的组合。

    下图是n × n卷积分解后的初始模块。在我们提出的架构中,对于17 × 17的网格,我们选择n = 7。

      (3)前两种分解的综合应用

    • 首先把5*5的卷积分解成两个3*3的卷积
    • 然后把第二个3*3的卷积和中间的3*3的卷积分解成1*3和3*1的卷积
    • 激活函数全部选取ReLU

      

    六、高效的网格尺寸缩减

    两种减小网格尺寸的替代方法。左侧的解决方案违反了“一般设计原则”中不引入表示瓶颈的原则1。右边的版本在计算上要昂贵3倍。

    我们建议另一个变体降低计算成本甚至更进一步,同时消除代表性的瓶颈。左侧是Inception的变体。右图在扩展滤波器组的同时减小网格大小。它既便宜又避免了原则1所建议的代表性瓶颈。右边的图从网格大小的角度来提出的解决方案,左图是具体的操作。

    七、通过标签平滑的模型正则化

    过拟合和概率校准是训练深度学习模型时出现的两个问题。标签平滑是一种正则化技术,同时对抗过度拟合和过度自信。

    它既扰动目标变量,使模型对其预测的确定性降低。也限制了softmax 函数的最大概率使最大概率不会比其他标签大得多,即过度自信(比如:一个标签的预测概率是99.99%,其他的标签的预测概率和是0.01%)。

    八、在低分辨率输入上的性能(小目标分类检测)

    视觉网络的一个典型用例是用于检测的后分类,例如《Scalableobject detection using deep neural networks》的多框分类。这包括对包含单个物体且具有某种上下文的图像的一个相对较小的块进行分析。任务是决定 patch 的中心部分是否与某个对象对应,如果是,则确定该对象的类。面临的挑战是物体往往相对较小且分辨率较低。这就提出了如何妥善处理低分辨率输入的问题。

    通常的看法是,采用高分辨率感受野的模型往往会导致识别性能的显著提高。然而,重要的是要区分第一层感受野分辨率提高的影响和较大的模型容量和计算量的影响。如果我们只是改变输入的分辨率而不对模型做进一步的调整,那么我们最终使用计算上更便宜的模型来解决更困难的任务。当然,这是自然的,这些解决方案因为减少了计算的努力已经以失败告终。为了做出准确的评估,模型需要分析模糊的提示,以便能够"幻觉"精细的细节,然而计算成本昂贵的。因此,问题仍然是:在保持计算量不变的情况下,较高的输入分辨率是否有帮助。确保不断努力的一个简单方法是在较低分辨率输入的情况下减少前两层的步幅,或者简单地移除网络的第一个池化层。

    为此,我们进行了以下三个实验:

    • 299*299的感受野,第一层之后步长为2的最大池化
    • 151*151的感受野,第一层之后步长为1的最大池化
    • 79*79的感受野,第一层之后没有步长为1的最大池化

    所有三个网络的计算成本几乎相同。虽然第三种网络稍微便宜一些,但是池化层的成本是边际的,而且是在总成本的1 %以内的网络。在每种情况下,对网络进行训练,直到收敛,并在ImageNet ILSVRC 2012分类基准的验证集上测量其质量。结果见下表。虽然低分辨率网络需要更长的时间来训练,但最终结果的质量与高分辨率网络的质量相当接近。

    表格中的这些结果表明虽然随着感受野的尺寸变大,精确率随之升高,但是精确率的差别不是很大。表格中的这些结果也表明,对于 R - CNN 中的较小对象,可以考虑使用专用的高成本低分辨率网络。

    九、实验结果比较

     有上述的表格可以观察到:Google_v3模型比Google_v1和Google_v2_BN有了很大的性能提升。

    >>>如有疑问,欢迎评论区一起探讨。

    >>>论文精读以及模型解析往期链接:

    计算机视觉论文精度大纲_Flying Bulldog的博客-CSDN博客图像分类、目标检测、视频目标检测和Transformer论文链接直达。https://blog.csdn.net/qq_54185421/article/details/125571690

  • 相关阅读:
    Oracle partition分区表(一)-----范围分区、列表分区、哈希分区
    微博一面:RPC怎么做零呼损?
    软考通过率低吗?怎么备考?
    token、jwt、oauth2、session解析
    【网络服务&数据库教程】12 NoSQL 数据库
    深度学习中语义分割、实例分割、目标检测和图像分类区别
    大型网站高并发解决方案——集群
    Linux vi和vim
    大数据数据挖掘系统可视化设计艺术
    【毕业设计】大数据电商销售预测分析 - python 数据分析
  • 原文地址:https://blog.csdn.net/qq_54185421/article/details/125578079