Sequence to Sequence Classification with Deep Learning CNN+LSTM

7 views (last 30 days)
I was looking through the possible implementation of sequence classification using deep-learning.
There are pllenty of example of LSTM/BILSTM implementations
and 1D-Convolutional implementations of the problem.
My question is there is a way to combine the two solutions?
If for the first one the building of the net seems pretty immediate by stacking series of custom layers:
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits,'OutputMode','sequence')
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
The convolution implementation seems indeed more complex, as it directly defines the various computational blocks.
Can i use a pre-defined convolution2Dlayer in the layers structure like in A) or do i have to go deeply in coding as described in B)?

Accepted Answer

Srivardhan Gadila
Srivardhan Gadila on 25 Mar 2020
I think you can use the convolution2Dlayer with appropriate input arguments but make sure you use the sequenceFoldingLayer, sequenceUnfoldingLayer wherever necessary. Also refer to List of Deep Learning Layers.
  2 Comments
Mirko Job
Mirko Job on 25 Mar 2020
Thanks for the early response,
It indeed came with good news since i am actually trying to solve the problem using custom loop and dlarrays with not satisfying results. However it is not clear for me the need for sequenceFolding/UnfoldingLayer since i am working on accelerometry data and not images. As a first rude approach, starting from the convolutional block described in:
I would concatenate the convolutional2DLayer just after the sequenceInputLayer. Is there any implicit step that i lost in the workflow?

Sign in to comment.

More Answers (0)

Categories

Find more on Image Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!