Supervised learning
Supervised learning is similar to how we would teach a kid to recognize someone or some object by name. We provide an input and a name/class label (label for short) associated with that input, and expect the machine to learn that input-to-label mapping. This might sound simple if we just want the machine to learn the input-to-label mapping for a few objects (like in object recognition-type tasks) or persons (like in face/voice/person recognition tasks), but what if we want a machine to learn about several thousand classes where each class may have several different variations in the input? For example, if the task is to recognize a person's face from image inputs, with a thousand other input images with faces to distinguish it from, the task might be complicated even for an adult. There might be several variations in the input images for the same person's face. The person may be wearing glasses in one of the input images, or wearing a hat in another, or sporting a different facial expression altogether. It is a much harder task for a machine to be able to see the input image, identify the face, and recognize it. With recent advancements in the field of deep learning, supervised classification tasks like these are no longer hard for machines. Machines can recognize faces, among several other things, at an unprecedented level of accuracy. For example, the DeepFace system (https://research.fb.com/wp-content/uploads/2016/11/deepface-closing-the-gap-to-human-level-performance-in-face-verification.pdf), developed by the Facebook AI research lab, reached an accuracy of 97.45% in face recognition on the Labelled Faces in the Wild dataset.