TensorFlow - CNN And RNN Difference


In this chapter, we will focus on the difference between CNN and RNN −

It is suitable for spatial data such as images. RNN is suitable for temporal data, also called sequential data.
CNN is considered to be more powerful than RNN. RNN includes less feature compatibility when compared to CNN.
This network takes fixed size inputs and generates fixed size outputs. RNN can handle arbitrary input/output lengths.
CNN is a type of feed-forward artificial neural network with variations of multilayer perceptrons designed to use minimal amounts of preprocessing. RNN unlike feed forward neural networks - can use their internal memory to process arbitrary sequences of inputs.
CNNs use connectivity pattern between the neurons. This is inspired by the organization of the animal visual cortex, whose individual neurons are arranged in such a way that they respond to overlapping regions tiling the visual field. Recurrent neural networks use time-series information - what a user spoke last will impact what he/she will speak next.
CNNs are ideal for images and video processing. RNNs are ideal for text and speech analysis.

Following illustration shows the schematic representation of CNN and RNN −

Schematic Representation Of CNN And RNN