深度神经网络中的ReLU训练有对比性发散

时间:2015-03-01 15:13:32

标签: python neural-network unsupervised-learning

我正在尝试采用来自http://deeplearning.net/tutorial/DBN.html#dbn的具有对比分歧的深度学习代码,以使用实际值输入数据而不是二进制,如本教程中所述。我知道这样做的方法是从sigmoid激活函数切换到整流线性单元(ReLU),但我从实际角度对此做了一些问题......

  1. 我可以简单地使用定义为max(0,x)的ReLU,还是需要定义为max(0,x + N)的NReLU,其中N是高斯噪声?如果建议使用NReLU,那么为样本计算N的正确方法是什么?
  2. 如果我使用ReLU(或NReLU),我需要修改我的自由能量函数,对于sigmoid单位是python代码...

    def free_energy(self, v_sample):
        wx_b = T.dot(v_sample, self.W) + self.hbias
        vbias_term = T.dot(v_sample, self.vbias)
        hidden_term = T.sum(T.log(1 + T.exp(wx_b)), axis=1)
        return -hidden_term - vbias_term
    
  3. 从我在论文中看到的情况来看,上面看起来它实际上对sigmoid和ReLUs都有效。如果这不正确,我很高兴发布修改后的代码以便为ReLU工作。

0 个答案:

没有答案