ZF-net
摘要:
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的更多相关文章
- 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 ...
- 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 ...
- 楼市、股市后下一届ZF将用什么去做超发货币的蓄水池(
这是天涯论坛上最近的的一个热帖合集,周小川曾直言超发货币需要蓄水池来装,以控制通货膨胀.这个蓄水池楼市做过.股市曾经也充当过,或许现在的地下钱庄也算一部分吧,那下一届政府会如何选择这个蓄水池呢,这或将 ...
- 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 ...
- N厂水鬼烂大街?那来看ZF厂V4帝舵小红花
自从帝舵小红花推上市面之后,各大工厂都在推出新版本,但做得最成熟的还是ZF厂,帝舵这个品牌是非常低调的,很少有人关注,但是ZF厂在这款腕表也是下了不少功夫,曾经帝舵小红花和N厂水鬼并列为最顶级的表畅销 ...
- zf框架的思想及学习总结
在Php的配置文件中可以设置日志文件 dos命令进入文件夹,然后利用命令:>zf.bat create project d:/hspzf这样就可以在d盘进行创建项目文件了:然后需要把框架的Zen ...
- MySQL中 PK NN UQ BIN UN ZF AI 的意思
PK Belongs to primary key作为主键 NN Not Null非空 UQ Unique index不能重复 BIN Is binary column存放二进制数据的列 ...
- mysql workbench的PK,NN,UQ,BIN,UN,ZF,AI
mysql workbench建表时PK.NN.UQ.BIN.UN.ZF.AI的意思,后面几个老搞不清,随记在这便于以后方便查. [intrinsic column flags] (基本字段类型标识) ...
- 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 ...
- ZF 语法
Zend Framework Command Line Console Tool v1.11.11 Details for action "" and provider " ...
随机推荐
- 基于jQuery的插件
jQuery Validation 验证框架 jQuery Form Ajax表单插件 jQuery UI插件 Easy UI
- log4j配置信息
#INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名.等级可分为OFF.FATAL.ERROR.WARN.INFO.DEBUG.ALLlog4j.r ...
- Python之数据结构:字典
key值需要是不可变对象,字典没有顺序 1.声明一个字典 dictA={ } 2.字典添加元素 dictA['name']='jack' dictA['age']=19 dictA['sex']='m ...
- 'NoneType' object has no attribute '__getitem__'
报错 'NoneType' object has no attribute '__getitem__' 你 result 返回的是 None ,所以 result [0] 取不了值
- nodejs + express 入门之 hello world
使用nodejs 开发web项目时原生的api开发比较困难.组合express后就比较容易了. 1.安装 express: (express地址: http://www.expressjs ...
- pat 甲级 1135. Is It A Red-Black Tree (30)
1135. Is It A Red-Black Tree (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- Java数据结构-------Set
三种常用Set:HashSet.LinkedHashSet.TreeSet set类继承关系: 概述 Set是对对应Map的一种封装,Set中的元素不可以重复. HashSet对应 HashMap.L ...
- JS允许找不到对象 不必判断是否存在某个div
原文发布时间为:2009-11-10 -- 来源于本人的百度文章 [由搬家工具导入] 加一个try catch 即可。。。。 例子: for(var i=0;i<10;i++) { ...
- 全面解析Vue.nextTick实现原理
vue中有一个较为特殊的API,nextTick.根据官方文档的解释,它可以在DOM更新完毕之后执行一个回调,用法如下: // 修改数据 vm.msg = 'Hello' // DOM 还没有更新 V ...
- js汉字转拼音首字母
js汉字转拼音首字母 2018-04-09 阅读 1018 收藏 1 原链:segmentfault.com 分享到: 前端必备图书<JavaScript设计模式与开发实践> > ...