일반적으로, 보트의 생김새에 대해 알고 있는 사람은 사진을 보자마자 보트 사진이라는 것을 알 수 있다. 하지만 아무런 학습이 이루어지지 않은 인공지느 놈델에게 판단을 기대하기란 어려운 문제이다.
“그렇다면 대표적인 모델 학습 방법 머신러닝을 사용하여 학습을 하면 되지 않는가?"
여기서 문제가 발생한다. 머신러닝은 학습용 데이터 프레임의 배열들을*(각 Column이 뭘 의미하는지도 구분되어 있는)* 입력 값으로 받고 주어진 출력값에 매칭시켜 학습을 하는 방식이지만, 위 보트 사진은 2차원 이미지의 RGB 값들로 이루어져 있다.
다시 말해 보트 사진은 특징이라고는 R, G, B 세 개의 차이만 있고 (가로 픽셀 수) * (세로 픽셀 수) * (R, G, B 3개의 채널) 만큼의 엄청난 양의 데이터를 가지고 있는 것이다. 만약 저 사진 그대로 머신러닝을 할 경우 어마어마한 시간이 걸릴 테고 바다 위에 흰색의 무언가 떠있다면 다 보트라고 대답하게 될 것이다.
"그렇다면 어떻게 해야 하는가?"
저 많은 데이터들의 집합에서 압축된 특징만을 추출한 뒤 학습하는 것이다. 그 과정은 아래와 같다