我希望我的受限玻尔兹曼机学习实值数据的新表示(参见: 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)
,但我不确定。