您的位置:首页 > 理论基础 > 计算机网络

卷积神经网络可视化和理解

2017-06-05 09:31 399 查看
最近在研究神经网络特征可视化的问题,想弄清楚deep learning之所以能够work这么好的原因。所以挑选了几篇相关的文章进行阅读,并把自已在阅读过程中的一些概要记录下来。

文章1:《Visualizing and Understanding convolutional networks》

目的 ##:

(1)理解网络为什么能够工作这么好;

(2)如何再次提升网络的性能;

(3)发现每层网络的performance contribution;

可视化神经网络存在的主要问题:

(1)绝大部分停留在第一个隐层的可视化;

(2)使用SGD进行maximizing activation 需要比较好的initialization,并且该方法对神经元学习到的特征的不变性没有进行很好的说明;

(3)作者解决问题的思路:non-parametric view of invariance, showing which patterns from training set activate the feature map;是一种top-down的方法,针对于单个feature map的分析。

作者主要工作:

(1)构建了一个可视化技术(也就是多层的deconvolutional networks: deconvnet),能够发现什么样的输入能够激活feature map,该方法对任意层的feature map都适用。

(2)能够观察在训练过程中,学到的特征演变情况。

(3)敏感性分析:通过遮挡图像的不同部分,看图像中哪部分对classification重要。

用deconvnet进行可视化:

原理:将指定的feature map映射到输入的像素空间,这样就能看到什么样的input pattern 能够导致这样的activation。

【注:】在文章《Adaptive deconvolutional networks for mid and high level feature learning》中,deconvnet是用来进行无监督学习的,相当于重构。而在这里,deconvnet不是用来重构的,只是作为一种探针来查看已经训练好的convnet网络各层学到了什么特征。

Deconvnet: 将feature activations 反映射到输入空间input pixel space。

deconvnet的一些要点:

(1)unpooling:即近似的inverse of pooling。池化区域最大值的位置。



(2)Filtering:为了实现反卷积,deconvnet中的filter用的是transposed version of same filter【也就是对convnet中的filter进行水平和垂直翻转】。

【注:】

a. 在deconvnet中,没有用到任何contrast normalization操作。

b. deconvent中的这种反向映射所得到的结果并不是一个sample,因为convnet-deconvnet本身不是一个generative process。

可视化的整个过程:

一开始,输入图像被送入convnet,并计算各层feature maps的activation。然后,对于convnet中指定层中的feature map,把该层中其余的feature maps的activations全部置零,之后,将该层所有的feature maps作为输入,传递到随后的deconvnet网络中。经过随后的unpool,rectify,filter的处理,一直计算到输入图像的像素空间即可。



上述图片是作者用验证集中的一些样本对已经训练好的convnet网络可视化的结果。

作者提出的deconvnet可视化方法存在的缺点:

只能可视化单个feature map,而不能可视化该层中联合的feature maps【joint activity】

可视化过程中作者发现的一些结论:

(1)模型的较低层在较少的epoch迭代后就开始收敛了;

(2)模型的较高层需要较大的epoch迭代后才收敛;

作者训练convnet时的一些细节和技巧:

resizing to 256;

croping the center 256 x 256;

去均值;

使用10类sub-crops (corners + center + 水平翻转)

【SGD, 动量,模拟退火更新学习率,dropout,所有权重被初始化到0.01, 所有的biases都设置为0】

作者特别指出了一个技巧:

当输入图像的值的范围在[-128, 128]时,对网络的第一层filters进行了可视化,发现其中一些filter始终处于优势突出地位,为了解决这个问题,作者对第一层的filter进行了normalize处理,对那些RMS 超出固定范围的filter,将其归一化到固定的RMS。

文章中用到的convnet网络结构:



deconvnet结构模块

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息