사람은 이런 일을 눈 깜짝할 사이에 처리할 수 있습니다. 유전적으로 연결된 뇌의 뉴런과 삶의 경험을 통해 이런 일을 할 수 있습니다. 하지만 똑똑하거나 경험이 많은 프로그래머라도 이미지에 사람 얼굴이 있는지 정확하게 결정하는 일련의 규칙을 (사람이 컴퓨터와 통신하기 위한 유일하면서 실용적인 방법인) 프로그래밍 언어로 작성하기는 힘듭니다. 얼굴, 눈, 입 같은 타원 윤곽을 감지하기 위해 픽셀의 RGB(빨간색-녹색-파란색) 값을 가지고 계산하는 코드를 작성하고 윤곽 사이의 기하학적 관계에 대한 경험적인 규칙을 고안하기 위해 며칠을 보낼 수 있습니다. 하지만 이런 노력은 정의하기 힘든 매개변수와 임의로 선택한 로직으로 가득 차 있다는 사실을 곧 느낄 것입니다. 더 중요한 것은 잘 동작하지 않습니다!11 실제 이미지에서 나타나는 얼굴의 크기, 모양, 세부 요소의 무수한 다양성 때문에 찾아낸 규칙들은 금방 부족하게 될 것입니다. 얼굴 표정, 헤어 스타일, 피부색, 방향, 가려진 부분이 있는지 여부, 안경, 조명 조건, 배경에 있는 물체 등이 고려되어야 합니다.
머신 러닝 패러다임에서는 이런 작업을 위해 수작업으로 규칙을 만들 필요가 없습니다. 대신 얼굴이 있는 이미지와 그렇지 않은 이미지를 모읍니다. 그러고 나서 각 이미지에 대해 (올바른) 사람 얼굴이 있거나 없다는 정답을 준비합니다. 이 정답을 레이블(label)이라 부릅니다. 이는 처리하기 훨씬 쉬운 (사실 간단한) 작업입니다. 이미지가 많으면 레이블을 지정하는 데 시간이 좀 걸리겠지만, 여러 사람이 나누어서 동시에 처리할 수 있습니다. 레이블된 이미지가 준비되면 머신 러닝을 적용하여 기계가 스스로 일련의 규칙을 찾을 수 있습니다. 올바른 머신 러닝 기술을 사용하면 99% 이상의 정확도로 얼굴 사진을 찾을 수 있는 일련의 규칙을 훈련할 수 있습니다. 수작업으로 만든 규칙으로 달성할 수 있는 정확도보다 훨씬 높습니다.