现在的位置: 首页 > 综合 > 正文

Visualizing Higher-Layer Features of a Deep Network(经典文章阅读)

2017年12月25日 ⁄ 综合 ⁄ 共 1165字 ⁄ 字号 评论关闭

一.文献名字和作者

     Visualizing Higher-Layer Features of a Deep Network, Dumitru Erhan, Yoshua Bengio, Aaron Courville, and Pascal Vincent
   


二.阅读时间

    2014年10月30日


三.文献的目的

    寻找可以可视化DNN中深层次特征的方法


四.文献的贡献点

    文章提出了两种方法用于可视化DNN学习到的高层特征,第一种是激活最大化,主要用于使用RBM进行初始化的DNN;第二种方法是DBN中进行采样的方法,也就是从DBN的输出进行从顶到底的方法进行计算来得到输入的样本。
    

4.1 激活最大化

   对于激活最大化方法,主要是计算使得第j个隐藏层的第i个神经元激活最大化时的输入样本,可以根据下面的式子来计算

                            
    从上面的式子可以看出,求解上面式子的过程就是在知道了网络参数θ之后,使用梯度上升来进行求解。与梯度下降类似,该方法也需要设定学习速率和迭代次数。


4.2 在DBN中进行采样

    由于DBN本身就是一个从顶到底的生成模型,因此,可以通过将第j个隐藏层的第i个神经元设置为1,而将第j个隐藏层的其他神经元设置为0,然后从顶向下计算,就可以得到输入样本的值。


4.3 线性组合

    该方法是Lee等人提出来的,主要的思路就是,第二个隐藏层的某个神经元i学习到的特征是将第一个隐藏层的每一个神经元与输入的连接权重(也成为该神经元对应的滤波器)乘以第二个隐藏层的神经元i与其的连接权重。
    对于第三个隐藏层,也是采用类似的方法,但是,对于第二个隐藏层每一个神经元对应的滤波器,始终没想明白是什么意思。





五.使用的数据库

   MNIST手写字体数据库和100000个12*12的自然图像的图像块。



六.实验结果

    






七.评价

    高级特征可视化对于特征学习来说,作用很大,但是,到目前为止,还是比较少有这方面的代码出现,倒是论文和tutorial中经常出现,因此,这篇文章,可以说是给DNN研究提供了特征展示的方法,在还没有完全的数学证明的情况下,起码给了我们一个可视化特征的方法,可以照着图来说明自己学习到的特征是否有效。
    但是,论文中也提到,激活最大化方法对于比较大的数据块时,优化过程就无法进入一个局部最优解;而对于从DBN中进行采样的方法,如果对于某一个隐藏层的激活值有多个输入样本与其对应时,采样方法就没有作用了。上面两个方法会失效是因为输入分布的复杂性,对于MNIST和12*12的图像块而言,输入的分布是比较简单的,因此,才可以取得比较好的效果。
    虽然文献中提到的两个方法都是有限制条件的,但是,在使用DNN进行图像处理的时候,应该还是多少能够起一些作用的,可以考虑实现一下。




版权所有,欢迎转载,转载请注明出处,谢谢微笑







抱歉!评论已关闭.