Why does the DNN model doesn't optimize the loss despite the noiseless input

Viewed 55

I need to build this model:

enter image description here

I used data without noise, it means that testing data is exactly similar into the training data (testing data is selected randomly from training data to be sure that data is ok). The way I create the DNN neural network is:

options1 = trainingOptions('adam','MaxEpochs',1000,...
    'InitialLearnRate',0.001,'MiniBatchSize',10,'Shuffle','every',...
    'L2Regularization',0,'Plots','training-progress','ValidationData',...
    {IN_V1,OUT_V1});  %IN_V1 is validation input data, OUT_V1 is validation output data 

layers =[sequenceInputLayer([8]) fullyConnectedLayer(32)...
    clippedReluLayer(1) fullyConnectedLayer(6) ...
    regressionLayer];

Net1 = trainNetwork(train_in,train_ou,layers,options1);                  %Training the Network real

%# predict output of net on testing data
pred = predict(Net1, train_in(:,1:10));

%# classification confusion matrix
[err,cm] = confusion(train_ou(:,1:10), pred);

The issue I meet is that validation loss cannot be less than 0.7, I think the issue is in the DNN model itself, here is the plot of training:

enter image description here

And the results of the test (output of this command):

   %# classification confusion matrix
    [err,cm] = confusion(train_ou(:,1:10), pred);

are as following:

err =

    1.4500


cm =

     4     1     2     0     0     0
     0     0     0     0     0     1
     0     0     0     0     0     0
     0     0     0     0     0     0
     1     0     0     0     0     0
     0     0     0     0     0     1

Could you please advise what's the mistake of the DNN model? When changing the size of the hidden layer, I also get the same performance !

0 Answers
Related