zoukankan      html  css  js  c++  java
  • VGG

    转自:https://blog.csdn.net/u010725283/article/details/78967498

    论文名字是《Very Deep Convolutional Networks For Large-Scale Image Recongnition》

    下载链接:http://vc.cs.nthu.edu.tw/home/paper/codfiles/melu/201604250548/VGG.pdf

    为什么要读VGG16?

    1. 作为基础网络,分类性能非常好;
    2. VGG16的网络结构非常规整,修改起来相对容易;
    3. 在ImageNet上训练的model已经公布,可以在此基础上对其他数据集进行finetuning,且对其他数据集适应能力很好;
    4. 目标检测领域使用VGG16做基础网络的网络结构很多,同样效果也很好;
    5. 作者在训练VGG16的过程中使用了很多trick,在训练网络的过程中,提供了宝贵的经验。
    6. 文中同样提供了一种在竞赛中提高准确率的思路,Fusion,这种思路在以后的论文中也经常使用。

    读VGG16论文的第一步:看图!

    这张图在介绍VGG16时是肯定会用到的,这张图蕴含的信息非常多,我在这里的解读可能有限,如有补充请留言。

    一:

    这是6个网络的对比图。从A到E,网络越来越深。其中加入了一些层用来验证效果。

    二:

    每一列详细讲解了每个网络的结构。

    三:

    这是一种正确做实验的方式,即用最简单的方法把问题解决,然后针对出现的问题逐步优化。

    网络A:先提一个比较浅的网络,这个网络很容易就在ImageNet上收敛了。

    然后呐?

    网络A-LRN:加一些别人(AlexNet)已经实验说有效的东西(LRN),but,好像没用。

    然后呐?

    网络B:那就加2层试试?好像有效果了。

    然后呐?

    网络C:再加两层1*1卷积吧,肯定能收敛。效果好像更好了。有点激动。

    然后呐?

    网络D:把1*1卷积核改成3*3的吧,试一试。效果又变好了。好像是目前最好的了(2014年)。

    然后呐?

    网络E:还能不能往上加了?又变好了!太厉害了!

    然后呐?

    可能作者也试验了,不过效果可能就会出现深度网络出现的一系列问题,梯度消失。再深可能效果更差了。

    不过,这只是猜测,也可以试试看。

    效果好不好不能只靠说,看下表:

    VGG19的网络结构图如下所示:

    训练技巧:

    两大原因导致VGG16收敛速度很快(相对的)

    1. 小的卷积核,统统使用了3*3的卷积核;
    2. 某些层的初始化。

    作者首先训练了网络A,因为A比较小,所以更容易收敛。

    训练好A后,得到model去finetune 网络C,可以一次类推进而得到网络E。使用这种训练方法,显然可以加快收敛。

    感受野:

    文中有所提及,也就是为什么VGG16通过一组3*3的卷积核可以代替AlexNet中11*11的卷积核的感受野。

    如果对感受野的概念不够清晰的话,可以移步:http://blog.csdn.net/u010725283/article/details/78593410

    那么使用多个3*3代替7*7或者11*11的好处,后面的会有更多讲解。

    Fusion,提高性能的好办法。也叫做assembling learning。

    具体是怎么做呐?

    方法很简单,将几个网络输出结合,也即是将softmax层的输出平均即可。

    这样的方法在比赛中经常用到,基本都可以提高1%-%2的performance。

    但是实际部署算法时是没法用的,这样的计算代价太大了。

    最后,文中还对单目标的检测做了实验,效果也是当时最好。这个在后面文中详解。

    萍水相逢逢萍水,浮萍之水水浮萍!
  • 相关阅读:
    Android ContentProvider和getContentResolver
    onContextItemSelected 用法
    Android 控件 之 Menu 菜单
    Android
    Android Cursor类的概念和用法
    android SQLiteOpenHelper使用示例
    JAVA HashMap详细介绍和示例
    HashMap深度解析(二)
    HashMap深度解析(一)
    使用svn遇到的问题---(在编辑器没有配置svn的前提下)
  • 原文地址:https://www.cnblogs.com/AIBigTruth/p/10440208.html
Copyright © 2011-2022 走看看