可视化神经网络的一些方法

翻译 2016年12月21日 18:11:16

原文为http://cs231n.github.io/understanding-cnn/   


可视化CNN学到的东西

有一些方法可以用来理解和可视化CNN, 作为对深度学习不可解释的论述的反击。


1. 可视化激活值和第一层卷积的权重

最直接的可视化方法就是展示在前向传播(forward pass)网络中的激活值(activation)

对于带relu的网络,激活值的map在开始的层会密集,之后逐渐稀疏。

一个陷阱是你可以注意到一些map,他们对于不同输入,永远响应是全零图。(换句话说,他们对于网络没有贡献)

他们成为了dead filter,这可能是由于高的learning rate导致的。


第二个方法是可视化网络中的权重。 通常第一个conv的filter是最容易解释的,但也是可以可视化其他filter。

在well-trained的网络中filter往往记忆了一些好看和平滑的filter,如果出现了noise 的可视化结果可能你网络没有train足够,

或者正则项太小了(weight decay),导致过拟合了。


2.找图片中 激活值最大的区域

另一个可视化技巧是 拿一堆图片把它们前馈到网络中,找到图片中哪一部分激活值最大。

然后我们可以画出图片。看看对应的receptive field。

(接受域:这个值之前从那些区域的值计算得到的。比方你一次3*3卷积得到一个value,这个value的接受域是3*3

如果3*3中每个值,是由再之前原图3*3得到的,我们不考虑overlap的话,这个value在原图的接受域就是9*9)


3. 用tSNE来embedding

convent是把图片慢慢变成一个表达(这个表达最后可以用线性分类器分类)的过程。

我们可以把图像embedding到2维表达,然后用二维画到图上表达相似的关系。

在这些embedding 到2维方法中,比较有名的方法是tSNE产生视觉上pleasing的结果。


首先,产生一个embedding,我们需要用一些图片通过CNN(比如Alexnet,最后fc 4096维的结果)

我们把他扔到tSNE中每张图得到对应的一个2维向量。然后我们可以把这个2维向量看成坐标,扔到grid里。


4. 遮挡图片的一部份

假设Convnet识别出了一条狗。那么会不会是狗的背景,让cnn识别出狗,而不是狗本身呢?

一种方法是 遮挡图片的一部分 然后看狗那一类的激活值。

按照我们所想,如果遮住狗的话,那判断为狗的激活值应该显著下降。




举报

相关文章推荐

【行人识别】Deep Transfer Learning for Person Re-identification

解决行人识别中的Re-Identification问题:判断两次出现的人是否是同一个人。在Market 1501竞赛中名列榜首。

remove_if用法

remove_if function template template ForwardIterator remove_if ( ForwardIterator ...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

【行人重识别】A Discriminatively Learned CNN Embedding for Person Re-identification

A Discriminatively Learned CNN Embedding for Person Re-identification 这篇paper主要提出的是一种 行人重识别 的方法。 1. ...

如何加强神经网络训练

1. 扩大数据集 调研CUHK01/CUHK03 2.做数据增强 旋转,翻转,平移 3.triplet loss 4.结构问题 5.multi-task

行人重识别(行人再识别)数据集 DukeMTMC-reID

DukeMTMC-reID 下载地址:https://github.com/layumi/DukeMTMC-reID_evaluation DukeMTMC-reID 为 DukeMTMC数据集的行...

SpringAOPLab--环绕通知2

package org.niit.springaop.example4; /**消费者接口(这里举例吃饭的顾客)*/ public interface IConsumer { /**...

【开源代码合集】行人重识别

关于行人重识别综述,推荐一下liang zheng 2016年的综述: Past, Present and Future 写了从传统方法到深度学习,从图片到视频的行人重识别的方法。 以下为一些公开...

flex跟后台socket通信

flex跟后台socket通信的例子,可以指定字符编码。           <mx:Script sour
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)