An ANN can have any number of layers. Layers in an ANN are classified into
three types: input, hidden, and output. Units in the input layer respond to data that
is fed into the network. Hidden units receive the weighted output from the input
units. And the output units respond to the weighted output from the hidden units
and generate the final output of the network. Using neurons as atomic functional
units, there are many possible architectures to put them together in a network. But,
the most common approach is to use the feed-forward ANN. In this case, signals are
strictly propagated in one way: from input to output.