Что это за нейронная сеть?

Я новичок в глубоком обучении (особенно в deeplearning4j) и пробую примеры. В частности, я хочу знать, нейронная сеть какого типа используется в следующем примере CSV. Это нейронная сеть с глубоким обучением или просто «обычная нейронная сеть». Я понимаю, что разница между обычной нейронной сетью и нейронной сетью с глубоким обучением заключается в том, что алгоритмы глубокого обучения решают проблему «исчезающего градиента», тогда как обычная нейронная сеть этого не делает. Я немного запутался здесь. Я чувствую, что это обычная нейронная сеть, но я хочу подтвердить.

    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 (обучающие данные);

Код - https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/dataExamples/CSVExample.java


person tired and bored dev    schedule 27.01.2017    source источник


Ответы (1)


Это действительно обычная нейронная сеть прямого распространения с одним скрытым слоем. (если я правильно читаю код)

Основная проблема, связанная с тем, является ли что-то глубоким, — это количество скрытых слоев. 0-1 скрытый слой никогда не считается глубоким. 2 обычно нет. 3+ Нормально есть.

Независимо от того, используются ли специальные методы глубокого обучения (например, ConvNet, DBN Pretraining или ReLU), это не меняет того, является ли сеть глубокой, но может помочь в получении лучших результатов с ее помощью.

Кроме того, иногда другие вещи, связанные с получением хороших репрессий, связаны с глубоким обучением, например, почему Skip-gram от word2vec. Даже несмотря на то, что они невероятно поверхностны.

person Lyndon White    schedule 27.01.2017