用于实值数据的受限玻尔兹曼机器 - 高斯线性单元(glu) -

the*_*heo 10 machine-learning unsupervised-learning rbm

我希望我的Restricted Boltzmann Machine能够学习实值数据的新表示(参见: Hinton - 2010 - RBM培训实用指南).我正在努力实现高斯线性单位.

利用可见层中的高斯线性单元,能量变为E(v,h)= ? (v-a)²/2? - ? bh - ?v/? h w.现在我不知道如何改变对比发散学习算法.可见单位将不再被采样,因为它们是线性的.我使用期望(mean-fied activation)p(v_i=1|h)= a +?hw + N(0,1)作为他们的状态.这些关联是不变的(pos:data*p(h=1|v)'neg :) p(v=1|h)*p(h=1|v)'.但是,当我想重建数据时,这只会导致随机噪声.错误率将停止提高50%左右.

最后,我想在两个层中使用高斯线性单位.那么我如何得到隐藏单位的状态呢?我建议使用均值场激活,p(h_i=1|v)= b +?vw + N(0,1)但我不确定.

小智 3

你可以看一下Hinton自己提供的高斯RBM,请在这里找到。 http://www.cs.toronto.edu/~hinton/code/rbmhidlinear.m