What is RNN ?
Recurrent Neural Network is an artificial neural network where the connection between the nodes forms a cycle. It is mainly used in speech recognition and natural language processing . For example, In Natural Language, It have been used to generate handwritten text, perform machine translation and speech recognition.
Three main things in RNN :
- Auto Completion
- Language Translation
- Named Entity Recognition
How RNN works ?
Types of RNN :
- one-to-one
- one-to-many
- many-to-one
- many-to-many
one-to-one RNN :
It is also called Vanilla Neural Network. It has single input and single ouput. It is used for regular machine learning problem.
one-to-many RNN :
It takes single input and it produces the multiple outputs.
many-to-one :
It takes sequence of inpiuts and produce one output. For example, Sentimental Analysis where the given sentence is classified as expressing positive or negative sentiments
many-to-many :
It takes sequence of inputs and produces sequence of outputs.
Applications of RNN :
- Time series Prediction
- Image captioning
- Language Translation
- Speech Recognition
Advantages of RNN :
- It can process the input of any length
- The weights can be shared across the time steps
Disadvantages of RNN :
- Computation is very slow
- Exploading gradient and Vanishing Gradient are the two issues in back propagation
Conclusion :
In this article, we have seen the Recurrent Neural Network and we have focused on the main difference which makes RNN stands out from other types of neural networks, the areas where it can be used extensively, such as in speech recognition and NLP. Further, we have gone behind the working of RNN models.