사람은 고양이를 판단할 때,

엎드려 있던지, 귀가 가려져 있던지, 꼬리만 보이던지, 줄무늬가 있던지/없던지, 배경과 비슷한 색이던지 

대부분 고양이라고 판단할 수 있다.

 

하지만 컴퓨터는 모든 픽셀을 0-255 단위의 숫자로 보고 판단하기 때문에 판단하는데 어려움을 겪을 수 있다.

 

따라서 사람이 사물의 특징을 기술한 Handcrafted Feature 로 기계를 학습시키면 해결이 될 것이라 판단했지만 이는 한계가 있었다. 

 

이 후 End-To-End Learning(종단간 기계학습) 방법이 등장하게 되는데, 이는 입력 및 출력을 직접 고려하여 네트워크 가중치를 최적화 하는 학습을 말한다. 

즉, 데이터만 사람이 넣어주고 중간 부분을 딥러닝 모델에 위임한다는 것이다. 따라서 사람이 많은 개수의 데이터(input, output) 만 모아준다면 자동으로 학습하도록 한다. 

 

 

여기서 CNN의 개념이 등장한다.

CNN은 Convolutional Nerual Networks의 약자로 전처리 작업이 들어가는 딥러닝 모델이다. 

이는 Raw Image들로부터 특징들(Features)을 자동으로 학습하도록 하는 것이 목표이다.

 

CNN의 중요 포인트는 이미지 전체보다는 부분을 보는 것, 이미지의 한 픽셀과 주변 픽셀들의 연관성을 살리는 것이다.

 

+ Recent posts