【问题标题】:My LSTM network is very slow. What to optimize?我的 LSTM 网络非常慢。优化什么?
【发布时间】:2020-10-01 19:50:18
【问题描述】:

我有以下 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。我有大量的样本。您建议如何优化以加快训练速度?我应该减小内层尺寸吗?谢谢

【问题讨论】:

    标签: lstm deeplearning4j


    【解决方案1】:

    根据我自己的经验,我首先肯定会尝试将Activation.SOFTSIGN 作为您的激活函数。它不会很快饱和,从而提高了对消失梯度的鲁棒性。

    【讨论】:

    • Activation.SOFTSIGN替换Activation.TANH ?
    • 哇,它正在工作,训练进展得更好,非常感谢!
    猜你喜欢
    • 2012-02-08
    • 2012-10-29
    • 1970-01-01
    • 2018-03-23
    • 2018-06-19
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多