摘要:

1、这篇文章的motivation 是 :CNN性能良好,可是我们不知道它为何性能良好。也不知道它怎么能够被提高?

2、本文介绍了一种新方法实现中间层和分类器的可视化

3、採用消融学习。来得到中间层的作用

4、我们的模型具有非常好的泛化能力,当分类器又一次训练时,在calteck-101和calteck-256等数据集上性能非常好。

引言: 

1、CNN的性能举世瞩目。由以下几个原因导致上述结果:1> 大量有类标的数据集; 2)强有力的GPU计算,使训练复杂模型成为可能

3)更好的归一化策略。比如dropout

2、可是,我们还是不清楚复杂模型的内部操作,也不知道他们为何能取得这么好的效果,在一个科学立场,假设不知道模型的内部机制,那么模型的发        展就是实验和误差了

3、 本文使用反卷积的方式实现可视化。能够看到特征的演化,以及发现模型潜在的问题

4、为了得到场景的哪一部分对于分类非常重要。我们将输入图像的不同部分遮住(阻塞),。(控制变量法)

方法:

1、使用监督模型,输入图像x,输出标签y(one-of-C 编码)

2、卷积、池化、修正线性单元、正则化以及softmax 分类器

3、损失函数:交叉熵, 求解方法:SGD

4、使用反卷积实现可视化:为了看到中间层的作用。我们提供了一种新方法将map 回溯到输入像素空间,反池化,修正线性单元,      反卷积

1) 反池化 。池化过程不可逆。可是我们能够记下池化区域中最大值的位置,反池化时直接返还到同样位置

2)修正线性单元

无论是向前传。还是往回传,我们都须要特征map为正值,所以修正线性的逆变换还是自己

3) 反卷积

与BP的敏感项往回传类似,将卷积核转置然后与特征map卷积(卷积方式为“full”)

本文并没有使用正则方法,这样的方法的缺点是仅仅能看到一种激活函数的作用,而不能看到多种激活函数的综合作用

训练细节:

1、网络框架

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border:none; max-width:100%">

2、数据集:ImageNet2012训练集(1.3 million images,1000 类)

resize:256*256 -->标签保存转换(扩展10 倍)

batchsize:128    ,学习速率:0.01    动量:0.9   。 卷积核 :0.01  偏置 :0  。dropout:0.5

优化方法:SGD

3、在第一层的可视化看到一些卷积核占领统治地位。所以又一次正则化了卷积核。谁的RMS超过0.1。就又一次正则化为0.1

<span style="color: rgb(51, 51, 51);">   </span><span style="color: rgb(255, 0, 0);"> RMS值实际就是有效值,就是一组统计数据的平方的平均值的平方根。
RMS=(X1平方+X2平方+......+Xn平方)/n 的1/2次方。</span>
<p><span style="font-size: 18px;"><strong>卷积可视化:</strong></span></p><p>1、特征可视化</p><span style="color: rgb(255, 0, 0);"><img src="http://img.blog.csdn.net/20160109170710134?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
</span>
   找到activation的前 9 名,分别回传到像素空间。证明不同的结构刺激map以及相应于输入改变的不变性,如上图的第 5 层。第 1 行 。第 2 列,这些    patches看起来基本没有类似的地方,可是可视化证明主要是特征图主要是后景的草,而不是前景的目标。
   这个回传也证明了网络特征的分层结构:第2层主要是边。角,和颜色组合,第 3层更负责的不变性,得到类似纹理特征。第 4 层得到显著的变化,更像事物的类别了,第 5 层显示所有的物体以更显著的位置变化
<span style="color: rgb(255, 0, 0);">2、训练期间的特征演变</span>,例如以下图所看到的
<img src="http://img.blog.csdn.net/20160109172155669?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
<span style="white-space: pre;">	</span>上图表示了最强activation的演变,一个指定的特征map回传到像素空间。结果图的突然跳跃发生在最强activation的起源(位置),前几层在经过较少代数后能够收敛,可是后几层须要较多代数才干够收敛,<span style="color: rgb(204, 0, 0);">证明模型须要训练仅仅到全然收敛</span>
       3、<span style="color: rgb(204, 0, 0);">结构选取</span>:由于之前的结构在实现第一层以及第三层可视化时,仅仅要高频和低频部分,所以将滤波器的尺寸从 11*11 -->7*7,stride从4变为2。并且,这么改变也提高了准确率。
       4、阻塞灵敏度 在图片分类时,模型究竟是识别出目标在图像的位置。还是仅仅是使用周围的纹理信息,我们将图像的不同部分分别阻塞。并监控分类器输出,以此来系统的回答这个问题,<span style="color: rgb(51, 51, 255);">终于结果是模型确实是定位出目标在场景的位置</span>。图6 显示了最高卷积层的最强特征图,除了这个特征图的激活值(空间位置的总结)作为一个阻塞位置的方程。当阻塞位置在图像位置的可视化区域时。我们看到了特征图的激活值的显著下降。

<span style="color: rgb(51, 102, 255);">这个明显那说明了图像结构明显激活了特征map。

</span>
<span style="color: rgb(51, 102, 255);"><img src="http://img.blog.csdn.net/20160111095018553?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
</span>
<pre id="recommend-content-1471844498" class="recommend-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; background-color: rgb(243, 255, 236);"><p><span style="font-size: 18px;"><strong>实验:</strong></span></p><p>1、</p><p><img src="http://img.blog.csdn.net/20160111100934944?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
</p><p>2、<span style="color: rgb(51, 102, 255);">保持模型的深度非常重要。任意拿掉一层都会让准确率下降</span></p><p><img src="http://img.blog.csdn.net/20160111101045530?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
</p>

3、模型的泛化能力,就是训练好模型后,又一次训练分类器,用到其他数据集上


<img src="http://img.blog.csdn.net/20160111101316483?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" /><img src="http://img.blog.csdn.net/20160111101434956?

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
</pre><pre id="recommend-content-1471844498" class="recommend-text mb-10" name="code" style="color: rgb(54, 46, 43); white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; line-height: 24px; background-color: rgb(243, 255, 236);">
</pre><pre id="recommend-content-1471844498" class="recommend-text mb-10" name="code" style="color: rgb(54, 46, 43); white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; line-height: 24px; background-color: rgb(243, 255, 236);">
</pre><pre id="recommend-content-1471844498" class="recommend-text mb-10" name="code" style="color: rgb(54, 46, 43); white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; line-height: 24px; background-color: rgb(243, 255, 236);">
</pre><pre id="recommend-content-1471844498" class="recommend-text mb-10" name="code" style="color: rgb(54, 46, 43); white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; line-height: 24px; background-color: rgb(243, 255, 236);">
</pre><pre id="recommend-content-1471844498" class="recommend-text mb-10" name="code" style="color: rgb(54, 46, 43); white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace, 'Microsoft YaHei'; line-height: 24px; background-color: rgb(243, 255, 236);">

4、特征分析

总结:

1、本问题出了一种新的可视化方法

2、使用可视化方法发现模型问题,并得到更好结果

3、网络的深度对模型很重要

4、用ImageNet训练模型,泛化到Calteck256等数据集上。验证模型的繁华能力

5、假设能找到更好的lossfunction即同意一个图片多个目标,效果可能会更好

源:
http://blog.csdn.net/chenyanqiao2010/article/details/50488075

ZF-net的更多相关文章

  1. MySQL Workbench建表时 PK NN UQ BIN UN ZF AI 的含义

    [转自网络]https://my.oschina.net/cers/blog/292191 PK Belongs to primary key 作为主键 NN Not Null 非空 UQ Uniqu ...

  2. mysql workbench建表时PK,NN,UQ,BIN,UN,ZF,AI

    1. [intrinsic column flags] (基本字段类型标识) - PK: primary key (column is part of a pk) 主键 - NN: not null ...

  3. 楼市、股市后下一届ZF将用什么去做超发货币的蓄水池(

    这是天涯论坛上最近的的一个热帖合集,周小川曾直言超发货币需要蓄水池来装,以控制通货膨胀.这个蓄水池楼市做过.股市曾经也充当过,或许现在的地下钱庄也算一部分吧,那下一届政府会如何选择这个蓄水池呢,这或将 ...

  4. mysql workbench 建表时 PK,NN,UQ,BIN,UN,ZF,AI解释

    mysql workbench 建表时 - PK: primary key (column is part of a pk) 主键 - NN: not null (column is nullable ...

  5. N厂水鬼烂大街?那来看ZF厂V4帝舵小红花

    自从帝舵小红花推上市面之后,各大工厂都在推出新版本,但做得最成熟的还是ZF厂,帝舵这个品牌是非常低调的,很少有人关注,但是ZF厂在这款腕表也是下了不少功夫,曾经帝舵小红花和N厂水鬼并列为最顶级的表畅销 ...

  6. zf框架的思想及学习总结

    在Php的配置文件中可以设置日志文件 dos命令进入文件夹,然后利用命令:>zf.bat create project d:/hspzf这样就可以在d盘进行创建项目文件了:然后需要把框架的Zen ...

  7. MySQL中 PK NN UQ BIN UN ZF AI 的意思

    PK   Belongs to primary key作为主键 NN   Not Null非空 UQ  Unique index不能重复 BIN  Is binary column存放二进制数据的列 ...

  8. mysql workbench的PK,NN,UQ,BIN,UN,ZF,AI

    mysql workbench建表时PK.NN.UQ.BIN.UN.ZF.AI的意思,后面几个老搞不清,随记在这便于以后方便查. [intrinsic column flags] (基本字段类型标识) ...

  9. MySQL workbench中的PK,NN,UQ,BIN,UN,ZF,AI说明

    - PK: primary key (column is part of a pk) 主键- NN: not null (column is nullable) 是否为空  (非空)- UQ: uni ...

  10. ZF 语法

    Zend Framework Command Line Console Tool v1.11.11 Details for action "" and provider " ...

随机推荐

  1. C++ 编程笔记

    图片有点大,请耐心下载!

  2. centos6.5 mysql忘记登入密码

    1.修改文件目录为/etc/my.cnf的文件; 在[mysqld]的段中加上一句:skip-grant-tables,保存文件重启数据库: 例如: [mysqld] skip-grant-table ...

  3. Cmake——CMake+SVN或Hg生成版本号

    CMake+SVN或Hg生成版本号 原来的CMake需要用shell脚本生成SVN版本号,再作为cmake参数传入.CMake调用脚本示例: #!/bin/sh # cmake.sh ServerCo ...

  4. 3973: seq

    3973: seq 题目描述 小y 的男朋友送给小y 一个数列{ai}{ai},并且刁难小y 要她维护这个序列. 具体而言,小y 的男朋友要求小y 完成两个操作: 1. 修改数列中的一个数 2. 设p ...

  5. 浅谈 easyui tabs 的href和content属性

    众所周知,jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: ...

  6. 【03】react 之 创建component

    React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归:具体的三种方式: 函数式定义的无状态组件 es5原生方式React.createClass定义的组件 es6形式的ext ...

  7. codeforces round373(div.2) 题解

    这一把打得还算过得去... 最大问题在于A题细节被卡了好久...连续被hack两次... B题是个规律题...C题也是一个细节题...D由于不明原因标程错了被删掉了...E是个线段树套矩阵... 考试 ...

  8. 【CF778C】Peterson Polyglot(Trie树,启发式合并)

    题意:有一棵n个结点的只由小写字母组成的Trie树,给定它的具体形态,问删除哪一层后剩下Trie树的结点数最少 n<=3e5 思路:先建出原Trie树,对于每一层的每一个结点计算删除后对答案的贡 ...

  9. WPF 自动选择dll,以SQLite为例

    在学习sqlite的过程中,发现它的dll是区分32位和64位的,起初觉得很恼火,但是仔细看了下, 发现让程序自行选择dll其实也不是一件很麻烦的事情,如下: 1>创建一个sqlite数据 2& ...

  10. Docker(六):容器

    一.启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另一个是将一个在终止状态的容器重新启动,因为Docker的容器实在是太轻量了,很多用户都可以随时删除和新创建容器. 新建并启动 $s ...