使用 sigmoid 进行预训练并使用 ReLU 进行训练?

数据挖掘 RBM
2022-03-01 07:23:29

使用 RBM 预训练深度网络,如本示例RBM,激活函数是 sigmoid 并且使数学变得更容易。

在使用 sigmoid 激活函数学习初始权重以切换到训练阶段的 ReLU 后,会有什么影响?

我想在任何一个阶段(预训练或训练)中使用 tanh 并在另一个阶段使用 sigmoid 或 ReLU 会导致很大的问题,但是由于 ReLU 和 sigmoid 对于小的值是相似的,它仍然会使预训练阶段无用吗?

从使用 sigmoid 激活函数的神经网络可以将多少知识转移到结构相同但使用 ReLU 激活函数的神经网络,这个问题可能更笼统。

1个回答

既然 RBM 只有一层权重,为什么还要在 1 层网络中将 sigmoid 改为 ReLU?在如此浅的网络中,梯度消失是不太可能发生的。

您还可以训练 Gaussian-Bernoulli 或 Gaussian-Gaussian RBM(更多here),它具有恒等激活函数,它比 sigmoid 更接近 ReLU,如果您有实值数据,而不是二进制数据,则更合理。然而,由于这种不受约束的激活,这些类型的网络训练起来不太稳定。