Ability to identify a pattern (visual image, sound, etc) based on some previous exposure to variants of the pattern (a training data set). Simple to implement in a neural network because of the layer of abstraction inherent in a neural network; difficult to implement in digital logic because digital logic tends to be precise and does not handle abstraction well.