Recurrent Neural Network vs Recursive Neural Network

A recurrent neural network basically unfolds over time. It is used for sequential inputs where the time factor is the main differentiating factor between the elements of the sequence. For example, here is a recurrent neural network used for language modelling that has been unfolded over time. At each time step, in addition to the user input at that time step, it also accepts the output of the hidden layer that was computed at the previous time step.


A recursive neural network is more like a hierarchical network where there is really no time aspect to the input sequence but the input has to be processed hierarchically in a tree fashion. Here is as example of how a recursive neural network looks. It shows the way to learn a parse tree of a sentence by recursively taking the output of the operation performed on a smaller chunk of the text.

The Recurrent NN are in fact recursive neural networks with a particular structure as linear chain shape, which is good at handling the linear time squence data, by combining the previous time step and a hidden representation for the current time step representation. Whereas recursive neural networks can operate on any hierarchical structure, by combining child representations into parent representations. It's good at parsing a sense using a tree structure recersively.



















Comments

Popular posts from this blog

The difference between autoencoders and a restricted Boltzmann machine?

SSD: Single Shot MultiBox Detector

You Only Look Once