四、经典网络12(ResNet拓展及总结)

ResNet 作为小型网络的组合

《具有随机深度的深度网络》提出了一种反直觉的方式,训练一个非常深层的网络,通过在训练期间随机丢弃它的层,并在测试时间内使用完整的网络。Veit 等人有一个更反直觉的发现:我们实际上可以删除一些已训练的 ResNet 的一些层,但仍然具有可比性能。这使得ResNet 架构更加有趣,该论文亦降低了 VGG 网络的层,并大大降低了其性能。
该论文首先提供了 ResNet 的一个简单的视图,使事情更清晰。在我们展开网络架构之后,这是很显而易见的,具有 i 个残差块的 ResNet 架构具有 2 ** i 个不同的路径(因为每个残差块提供两个独立的路径)。

 鉴于上述发现,我们很容易发现为什么在 ResNet 架构中删除几层,对于其性能影响不大——架构具有许多独立的有效路径,在我们删除了几层之后,它们大部分保持不变。相反,VGG网络只有一条有效的路径,所以删除一层是唯一的途径。
作者还进行了实验,表明 ResNet 中的路径集合具有集合行为。他们是通过在测试时间删除不同数量的层,然后查看网络的性能是否与已删除层的数量平滑相关,这样的方式做到的。
结果表明,网络确实表现得像集合,如下图所示:

ResNet  中路径的特点

最后,作者研究了 ResNet 中路径的特点:
很明显,所有可能的路径长度的分布都遵循二项式分布,如(a)所示。大多数路径经过19到35个残差块。

调查路径长度与经过其的梯度大小之间的关系,同时获得长度为 k 的路径的梯度幅度,作者首先将一批数据馈送给网络,随机抽取 k 个残差块。当反向传播梯度时,它们仅传播到采样残余块的权重层。(b)表明随着路径变长,梯度的大小迅速下降。我们现在可以将每个路径长度的频率与其预期的梯度大小相乘,以了解每个长度的路径对于训练有多少帮助,如(c)所示。令人惊讶的是,大多数贡献来自长度为 9 至 18 的路径,但它们仅占总路径的一小部分,如(a)所示。这是一个非常有趣的发现,因为它表明 ResNet并没有解决长路径上的梯度消失问题,而是通过缩短其有效路径,ResNet 实际上能够实现训练非常深度的网络。

为什么现在的CNN 模型都是在GoogleNet 、VGGNet 或 者AlexNet 上调整的?

1. 那是因为你看到的大部分是公开的论文,公开的论文需要一个标准的 baseline 及在baseline 上改进的比较,因此大家会基于一个公认的 baseline 开始做实验大家才比较信服。常见的比如各种检测分割的问题都会基于 VGG 或者 Resnet101 这样的基础网络。而这类型 paper很多,就会有种业内只有这几个模型的错觉
2. 发表论文的同学多数是在校的 phd 同学,首先大家有强大的科研压力和 ddl 的压力,时间和精力只允许大家在有限的范围探索。因此基于 vision 问题的特性进行各种模型和算法方案的改进肯定是更有 novelty(也是更符合发 paper 的思路),所以有限的精力就放在了另外的方面而继续沿用目前 VGG/GoogleNet/AlexNet/Resnet 这样的 baseline
3. 进行基本模型的改进需要大量的实验和尝试,很有可能投入产出比比较小。能做到Kaiming ResNet 这样的工作真是需要大量的实验积累加强大的灵感,真是偶像。我们大部分人自己的实验过程,很多之前预想的可能会 work 的 idea 经过尝试可能提升有限(失望脸,没法毕业怎么办)。基于我们今年参与 ImageNet 的经历来讲,对于深度学习,很大部分可以提升性能的点在于一些对于细节的精确把握。因此你可以看到许多排名靠前的队伍最后讲的关键技术点似乎都是 tricks。而这样精确细节的把握是需要大量的时间和计算资源的,往往在学校不可行。因此有大量计算资源的比如香港中文大学,我司商汤科技,公安三所,海康等成绩靠前。PS,我们之后会公布我们今年参加 ImageNet Scene Parsing 比赛拿到第一的技术方案(paper+code+model),实际构成是一些 insights(可以写 paper 的技术点)加大量的 tricks(好像不太容易写 paper)。敬请期待。
4. 如果所有人的目标都是 ImageNet/VOC/Kitti/Cityscapes 这种标准数据库拼性能的话,大家会慢慢收敛到比较大的网络,比如你提到的这些。但是实际上也有很多讨论不同模型结构和计算性能的文章,拿 Kaiming 偶像的其他文章举例(https://arxiv.org/abs/1412.1710,
https://arxiv.org/abs/1411.4229),都是分析的很深入浅出的好的文章。但是由于不符合发 paper
一定要 state-of-the-art 且可比较的性能的基本法,因此之后 follow 在这样的网络结构上继续做的人就很有限。
5.  在实际的应用场景中,其实是有大量的非标准模型的配置。比如我司在做的人脸关键点 tracking 可以在低端的 android 手机上达到 5ms 的运行速度(很差的手机和 CPU 速度差约50 倍,CPU 和 GPU 速度差约 10-20 倍?。。),基于的也是深度学习的网络;比如我们自己团队做的人像分割,也可以在 PC CPU 上达到接近 800fps 的速度。这些所有的深度学习的网络结构研究,基于的目标是能够在限制的环境中达到最优的性能,同时会兼顾各种平台不同的优化方案调整网络结构。其中的黑科技非常多,主要是对基础网络的结构改进,肯定不会是VGG/AlexNet/GoogleNet/ResNet152 这种庞然大物。这些技术也是大家在玩 FaceU,各种直播平台的贴纸和之后其他的酷炫产品时,已经不知不觉已经享用到的深度学习的成果。不过由于是正在赚钱的产品(也是因为大家非常忙懒的写 paper)暂时没有对学术界公开这些技术背后的网络结构。不过欢迎大家来实习亲自参与和实现这些改变未来的技术。

该部分内容为引用:链接:https://www.zhihu.com/question/43370067/answer/129040676
来源:知乎;作者:孔涛

1.  这些网络都是一些知名的研究机构设计出来的, , 为领域提供了一个 baseline。做深度学习的相关研究,一个很重要的点在于将自己的方法和其他人的方法进行对比。对比的时候就要讲究公平性的问题。在 ResNet 出来之前,多数研究者在基于 VGG 做相关领域的研究,这样在相同的网络深度下,就检验自身提出的东西的有效性了。还有整个科研界对于 VGG、AlexNet、ResNet 这些网络有一个基本的认识,你提出的方法在这种 baseline 下能到什么样的效果大家心里有数,比如在目标检测这个任务中,基于 VGG 的网络在 COCO 上边最多能做到 27%-28%的 mAP,而 ResNet 就可以做到 30 以上,这样就便于对比和评价了。再比如一开始用于语义分割的 FCN 是基于 VGG 的,ResNet 出来之后很容易的变成基于 ResNet 的,这也侧面说明了方法的有效性。
2. 这个领域只有一小部分人是在研究分类的网络结构, 其他的应用的研究者,包括视觉、自然语言等 更专注于本领域的内部知识,在一个 base 网络的基础之上进行修改,以验证自己方法的有效性。而这些网络正好提供了这样的 baseline,所以何乐而不为呢。自己设计的网络结构有可能也会达到很好的效果,但这就偏离了自己本身的研究点。当然如果一个人足够厉害,比如这篇文章(YOLO: Real-Time Object Detection),作者完全是自己设计、训练的网络结构,这也是完全没有问题的。 研究来讲 , 最终的准确率只是追求的一个方面。更重要的,是提供解决问题的一个新途径、思路或者方法。如果大家都去拼准确率、拼机器、搞更深的模型,这个领域就不会发展到现在这个地步了。另外,很多高校,根本就没有这种条件来做这样的事情。
3.  科研与工业应用的区别。科研界基本上都在这些现有的模型的基础之上做一些改进,而实际的应用中会遇到各种各样的问题(数据标注、计算资源、效率等)。据我所知,一些机构在实际场景中,都在训练适合于自己应用的模型,这些模型可以达到相当好的性能。而这些涉及到商业的东西并没有放出来供大家使用。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满满myno

非常感谢对我创作的支持,爱你呦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值