Modeled on the human brain, a neural network is a set of algorithms designed to recognize patterns. They take arbitrary inputs, process them and use the activation function to generate output that interprets sensory data through a kind of machine perception, labeling or clustering raw input. The patterns they recognize are numerical, contained in vectors, into which all real-world data, be it images, sound, text or time series, must be translated.