在Matlab中应用深度神经网络和NOT LSTM模型时可以使用sequenceInputLayer(n_features)吗?
我在Matlab 2018b中将LSTM应用于时间序列数据。现在,我想表明在LSTM中考虑时间关系可以提高性能。为此,我需要尽可能使用与LSTM设置相同的深度神经网络(例如,具有相同的最小批量大小和隐藏单元数)并检查结果,以便我可以自信地说保持时间关系是有益的。
以下是我使用的LSTM代码:
n_Features = size(X_Train{1}, 1);
numHiddenUnits = 20;
miniBatchSize = 50;
numClasses = 2;
layers = [ ...
sequenceInputLayer(n_Features)
lstmLayer(numHiddenUnits,'OutputMode','sequence')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
options = trainingOptions('adam', ...
'GradientThreshold',1, ...
'InitialLearnRate',0.01, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',20, ...
'Verbose',0, ...
'ValidationData',{XValidate, YValidate}, ...
'ValidationFrequency',1, ...
'L2Regularization', 0.05, ...
'Plots','training-progress',...
'MiniBatchSize', miniBatchSize);
net = trainNetwork(X_Train, Y_Train, layers, options);
[YPred_train, scores_train] = classify(net, X_Train);
我的问题是我可以用相同的代码训练一个深度神经网络,只是排除“ lstmLayer”吗?我仍然可以使用“ sequenceInputLayer(n_Features)”作为深度神经网络的输入层吗?