我希望我的受限玻尔兹曼机学习实值数据的新表示(请参阅: Hinton - 2010 - A Practical Guide to Training RBMs )。我正在努力实现高斯线性单位。
对于可见层中的高斯线性单元,能量变为E(v,h)= Σ (v-a)²/2σ - Σ bh - Σv/σ h w
。现在我不知道如何改变对比散度学习算法。可见单位将不再被采样,因为它们是线性的。我使用期望(均值激活)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)
但我不确定。
最佳答案
你可以看一下Hinton自己提供的高斯RBM 请在这里找到它。 http://www.cs.toronto.edu/~hinton/code/rbmhidlinear.m
关于machine-learning - 用于实值数据的受限玻尔兹曼机 - 高斯线性单位 (glu) -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17510717/