Artificial neural networks are commonly used in optical character recognition algorithms due to their flexibility, ability to learn, and power. ANNs work by taking an input, running it through a network of neurons arranged in layers, and producing an output. They can be trained to recognize patterns through a learning stage where they are given many examples of input and output pairs. Once trained, ANNs can accurately evaluate new inputs and recognize characters at a 98% rate with only 5% error. Common types of ANNs include feedforward, recurrent, radial basis function, and self-organizing networks.