【问题标题】:How to output features in a Convolutional RBM?如何在卷积 RBM 中输出特征?
【发布时间】:2016-08-19 01:33:04
【问题描述】:

阅读 this text 我了解到,我可以通过只激活一个隐藏单元并让 Gibbs 从隐藏单元中对可见单元进行采样来创建人们所谓的“重建”。

但现在我正在尝试在 python 中实现一些Convolutional Restricted Boltzmann Machines。我的计划是坚持第 3.2 节中介绍的版本(所以,请注意,我打算实现卷积深度信念网络),并且仅在该部分工作时插入概率最大池.

为了检查它是否正常工作,我想创建类似于文章中介绍的“功能”(例如,图 3)。第一层学习到的特征与其他类型网络学习到的特征非常相似。但我不确定他们是如何创建这些功能的。我不清楚这些学习到的“特征”是否是过滤器的权重,或者我是否应该通过打开某个过滤器的所有隐藏单元以某种方式创建重建。我也不确定第 3.6 节与我的简单版本(我什至没有概率最大池)的相关性。

(我尝试了两种方法,但结果看起来仍然完全不同,我不确定这是我的代码中的错误还是我只是做错了什么)

有什么帮助吗? (我在互联网上随机找到了this code,但我对 Matlab 语法还很陌生,还不知道他们做了什么来创建重构——假设他们这样做了)

【问题讨论】:

    标签: python feature-extraction rbm


    【解决方案1】:

    是的,我已经想知道为什么他们没有在本文中提供有关为更高层绘制基础的详细信息。

    为了可视化第一层的特征(图 3,上图),仅绘制各个隐藏单元的权重(即过滤器)绝对足够了。如果您的结果看起来不同,可能有很多原因。除了代码中的错误,任何训练参数都可以使过滤器再次看起来不同。请注意,对于自然图像,您需要高斯单位。

    如果你想要一些 python 代码开始,你可以检查这个框架: https://github.com/OFAI/lrn2

    如果您曾经想可视化更高层发生的事情,这篇论文可能会有所帮助(其中第 2.4 节也在上述框架中实现(在 stacks.py/NNGenerative 下): http://www.dumitru.ca/files/publications/invariances_techreport.pdf

    希望有帮助!

    【讨论】:

    • 谢谢...如果他们使用权重或更花哨的东西,例如,采样一次后可见层神经元的激活概率,我不会。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 2021-12-21
    • 2019-07-21
    • 2020-12-02
    • 2020-07-23
    • 2017-06-17
    • 2019-06-19
    相关资源
    最近更新 更多