Hello Everybody,
I am trying to do a multi label classification for sequences.
I started with a simple LSTM and used this as configuration:
new NeuralNetConfiguration.Builder()
.seed(seed)
.updater(new Adam())
.l2(1e-5)
.weightInit(WeightInit.XAVIER)
.biasInit(0)
.gradientNormalization(GradientNormalization.ClipElementWiseAbsoluteValue)
.gradientNormalizationThreshold(10.0)
.trainingWorkspaceMode(WorkspaceMode.ENABLED)
.inferenceWorkspaceMode(WorkspaceMode.ENABLED)
.list()
.layer(
0,
new LSTM.Builder()
.nIn(numberOfFeatures)
.nOut(100)
.activation(Activation.TANH)
.build()
)
.layer(
1,
new RnnOutputLayer.Builder()
.activation(Activation.SIGMOID)
.weightInit(WeightInit.XAVIER)
.lossFunction(new LossMultiLabel())
.nIn(100)
.nOut(numberOfLabels)
.build()
)
.build()
but after the training the evaluation of the network always looks like this:
To evaluate this i used a RocBinary
.
Is there something obviously wrong with what I am doing here?
If I use LossBinaryXENT
instead of LossMultiLabel
, the same thing happens.
I hope someone can help me with this.
Greetings Quack