RNN
architectures like LSTM
and BiLSTM
are used in occasions where the learning problem is sequential, e.g. you have a video and you want to know what is that all about or you want an agent to read a line of document for you which is an image of text and is not in text format. I highly encourage you take a look at here.
LSTMs
and their bidirectional variants are popular because they have tried to learn how and when to forget and when not to using gates in their architecture. In previous RNN
architectures, vanishing gradients was a big problem and caused those nets not to learn so much.
Using Bidirectional LSTMs
, you feed the learning algorithm with the original data once from beginning to the end and once from end to beginning. There are debates here but it usually learns faster than one-directional approach although it depends on the task.
Yes, you can use them in unsupervised learning too depending on your task. take a look at here and here.