더북(TheBook)


이미지 분류(Image Classification)의 원리

이미지를 강아지와 고양이라는 두 개의 클래스로 분류하는 프로그램을 머신러닝으로 만든다고 가정해 보겠습니다. 이미지 분류 프로그램을 만들기 위해 먼저 해야 할 일은 강아지와 고양이 사진을 최대한 많이 구해서 강아지 사진에는 ‘강아지’, 고양이 사진에는 ‘고양이’라는 이름을 붙이는 것입니다.

 

 

그리고 이 사진들을 이용하여 프로그램을 훈련시키면 프로그램은 어떤 형태의 이미지가 강아지이고 어떤 형태의 이미지가 고양이인지를 구분할 수 있게 됩니다. 충분히 많은 양의 강아지와 고양이 이미지를 이용하여 프로그램을 훈련시킨 후 훈련에 사용하지 않은 강아지 또는 고양이 이미지를 프로그램에게 보여주면 프로그램은 새로운 이미지가 강아지 클래스에 속하는지, 고양이 클래스에 속하는지를 판단하여 알려줍니다.

 

 

하지만 이 프로그램은 강아지와 고양이만 학습했기 때문에 고래 이미지를 보더라도 강아지 또는 고양이로 분류할 것입니다. 즉 이미지 분류 프로그램으로 사전에 학습한 클래스에 속하지 않는 이미지를 분류하는 것은 불가능합니다.

 

 

우리가 이미지 분류 앱을 만들기 위해 사용 중인 ‘Look’ 컴포넌트는 999개의 클래스만 인식할 수 있는 머신러닝 모델을 사용하기 때문에 999개의 클래스에 속하지 않는 이미지는 인식하지 못합니다. 이와 같은 이유로 앱을 완성한 후 이미지 분류를 실행해 보면 실제 이미지와는 전혀 다른 엉뚱한 결과값이 나오는 경우가 많을 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.