问题描述
我有以下deeplearning4j网络(和其他类似网络)
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.updater(new Adam.Builder().learningRate(2e-2).build())
.l2(1e-5)
.weightinit(Weightinit.XAVIER)
.gradientnormalization(Gradientnormalization.ClipElementWiseAbsoluteValue).gradientnormalizationThreshold(1.0)
.list()
.layer(0,new LSTM.Builder().nIn(vectorSize).nOut(256)
.activation(Activation.TANH).build())
.layer(1,new RnnOutputLayer.Builder().activation(Activation.softmax)
.lossFunction(LossFunctions.LossFunction.MCXENT).nIn(256).nOut(2).build())
.build();
不幸的是,培训非常缓慢。我的向量大小是400。我有大量的样本。您建议如何优化以加快培训速度?我应该减小内层尺寸吗?谢谢
解决方法
根据我的经验,我首先肯定会尝试使用Activation.SOFTSIGN
作为激活功能。它不会很快饱和,从而提高了对消失梯度的鲁棒性。