【问题标题】:What type of neural network is this?这是什么类型的神经网络?
【发布时间】:2017-01-27 15:56:20
【问题描述】:

我是深度学习的新手(尤其是 deeplearning4j),我正在尝试这些示例。特别是,我想知道以下 CSV 示例中使用了哪种类型的神经网络。这是一个深度学习神经网络还是只是“常规神经网络”。我确实理解普通神经网络和深度学习神经网络之间的区别在于 DL 算法解决了“梯度消失”问题,而普通神经网络则没有。我在这里有点困惑。我的感觉是以下是常规的神经网络,但我想确认一下。

    MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
        .seed(seed)
        .iterations(iterations)
        .activation(Activation.TANH)
        .weightInit(WeightInit.XAVIER)
        .learningRate(0.1)
        .regularization(true).l2(1e-4)
        .list()
        .layer(0, new DenseLayer.Builder().nIn(numInputs).nOut(3)
            .build())
        .layer(1, new DenseLayer.Builder().nIn(3).nOut(3)
            .build())
        .layer(2, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)
            .activation(Activation.SOFTMAX)
            .nIn(3).nOut(outputNum).build())
        .backprop(true).pretrain(false)
        .build();

    //run the model
    MultiLayerNetwork model = new MultiLayerNetwork(conf);
    model.init();
    model.setListeners(new ScoreIterationListener(100));

model.fit(trainingData);

代码 - https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/dataExamples/CSVExample.java

【问题讨论】:

    标签: deep-learning deeplearning4j


    【解决方案1】:

    这确实是一个带有一个隐藏层的常规前馈神经网络。 (如果我正确阅读代码)

    关于某物是否深的主要问题是隐藏层的数量。 0-1 隐藏层永远不会被认为是深的。 2 一般不会。 3+ 通常是。

    是否使用特殊的深度学习方法(例如 ConvNet、DBN 预训练或 ReLU)不会改变网络是否深度,但可能有助于获得更好的结果。

    顺便说一句,有时与获得良好表示相关的其他事情与深度学习捆绑在一起,例如,为什么是 word2vec 的 Skip-gram。尽管它们非常浅。

    【讨论】:

      猜你喜欢
      • 2019-11-17
      • 2018-01-26
      • 1970-01-01
      • 2014-10-01
      • 2018-02-19
      • 2018-06-10
      • 1970-01-01
      • 2017-02-19
      • 2016-09-11
      相关资源
      最近更新 更多