Is there a way to create an LSTM Autoencoder for time-series data?

Hi all,
is it possible to create an Autoencoder with the Deep Learning layers and LSTM layers and when yes how?
I have found mutliple refs. for python time-series autoencoders, but Matlab does not have the same layers, or am i missing something?
(I can´t use the trainAutoencoder(X) Function because the time-series don´t have the same length)
Thanks,
Barry

1 Comment

Is there any update here?
Barry, how have you solved the task?
Have you build a "regular" neural network using several LSTM layers?
I wonder if I can manage the task in anomaly detection in MATLAB: I have e.g. a 6-D measurement vector in every timestep. I want to use a LSTM autoencoder and as input the 6-D vector, but not only for one time step, I want to give in a whole time "window" e.g. 10 timesteps, the input matrix would be: 6x10. And I also want to reconstruct this input matrix in the end to calculate a reconstruction error.
Maybe you can share your experiences!
Great Thanks,
Lisa

Sign in to comment.

Answers (1)

Hi Barry,
Here's an example of using LSTM based Autoencoders on our GitHub page: Industrial Machinery Anomaly Detection using an Autoencoder. This Predictive Maintenance example trains a deep learning autoencoder on normal operating data from an industrial machine. The example walks through:
  • Extracting relevant features from industrial vibration timeseries data using the Diagnostic Feature Designer app
  • Setting up and training an LSTM-based autoencoder to detect abnormal behavior
  • Evaluating the results on a validation dataset
Regards,

6 Comments

Hello David,
I have tried this code to find anomly in video sequences and got good accuracy. This code is very helpful to me. I have referred many research papers that use autoencoder and find AUC value. I am not able to find confidence score for data to find AUC value as it is unsupervised learning. Can you give suggestion how to find AUC value for results of autoencoder?
Hi Kinjal,
Great to hear the example is useful!
For the AUC value, can I ask why you need this for an LSTM based anomaly detector?
David
Hi david,
I want to represent comparison of the performance with existing methods. In all research papers, performance is represented with AUC value. They don't represent accuracy % for convolutional/variational autoencoder. so I can't compare my work with them.
One more thing I want to ask, insted of cell array of features of video sequences, if I am trying to use cell array of video frames, then trainnetwork function gives following error
Invalid training data. Responses must be a matrix of numeric responses, or a N-by-1 cell array of sequences, where N is the number of sequences. The feature dimension of all sequences must be the same.
So it is possible to reconstruct video sequences by autoencoder like single image?
Hi, where there any papers highlight how the AUC value is used to measure the performance of LSTM based autoencoders?
On your 2nd question, are you training to apply an LSTM based autoencoder to Video / Images? Or is it a Convolutional or Variantional Autoencoder? As per these examples:
Hello,
In papers AUC value is reported for Autoencoder, but how it is not mentioned. I have found AUC value for classification problrm i.e. CNN but for autoencoder how it can be found?
In my secnd question, I am trying to train LSTM Autoencoder with video sequences i.e. number of frames, insted of features.
Hello,
Is there any example of convolutional lstm autoencoder? As I have to work on video sequences rather than images.

Sign in to comment.

Asked:

on 4 May 2020

Commented:

on 3 Jul 2021

Community Treasure Hunt

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

Start Hunting!