필터 지우기
필터 지우기

Trouble training sequential data with neural network

조회 수: 1 (최근 30일)
Pavlos Triantaris
Pavlos Triantaris 2017년 11월 10일
편집: Pavlos Triantaris 2017년 11월 10일
I am trying to get started with neural networks using own data, so my initial attempt has been to try and classify communication signals of 3 different bandwidth values using their periodograms. A typical case (one periodogram from each class) looks like this:
So it is pretty straightforward. If the human eye can tell them apart, so can a NN, right?
I see that the only way to classify sequential data is via an LSTM network, so convolutional ones are out of the question. It is worth mentioning that the dataset consists of 18700 such sequences, each with a size of 1x12000.
Following the example from the documentation, I define my LSTM network as such:
inputSize = 1;
outputSize = 75;
outputMode = 'last';
numClasses = 3;
layers = [ ...
sequenceInputLayer(inputSize)
lstmLayer(outputSize,'OutputMode',outputMode)
reluLayer()
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer]
options = trainingOptions('sgdm',...
'InitialLearnRate', 0.03,...
'LearnRateSchedule','piecewise',...
'LearnRateDropFactor',0.2,...
'LearnRateDropPeriod',5,...
'MaxEpochs',30,...
'MiniBatchSize',64,...
'Plots','training-progress')
Then I proceed to let MATLAB train the network. The results are not even worth commenting upon:
So no significant improvement over 11 whole epochs, performance always worse than random classifier. What should I do in this case, then? Do I need to define different parameters? A different network altogether? Different formatting of data? What might be the solution to this seemingly simple problem?

답변 (0개)

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by