0

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

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

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

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

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

4

1 回答 1

0

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

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

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

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

希望有帮助!

于 2016-08-18T17:33:04.897 回答