오토 큐레이트(Auto-Curate)로 라벨링 리소스 절감하기: MS COCO 사용 실험 사례

오토 큐레이트(Auto-Curate)로 라벨링 리소스 절감하기:  MS COCO 사용 실험 사례

들어가며

슈퍼브 큐레이트(Superb Curate)는 머신러닝 팀이 손쉽게 훈련용 데이터셋을 구축하여 더 강건하고 높은 성능의 모델을 구현할 수 있도록 하는 혁신적인 데이터 큐레이션(Curation; 양질의 데이터를 취합, 선별, 분류, 구조화하는 것) 툴입니다. 특히 슈퍼브 큐레이트의 핵심 기능 중 하나인 오토 큐레이트(Auto-Curate)는 훈련용 데이터셋이나 검증용 데이터셋에 반드시 포함시켜야 하는 유의미한 데이터를 자동으로 선별해주어 머신러닝 모델의 정확성과 강건성을 개선할 수 있도록 돕는 기능입니다.

이번 블로그 포스팅에서는 오토 큐레이트가 어떻게 강건한 객체 탐지 모델 개발에 기여할 수 있는지 MS COCO 데이터셋을 활용해 설명드리겠습니다. 훨씬 적은 수의 라벨링 데이터와 리소스로도 더 정확도 높은 모델을 만들 수 있다는 것을 보여드리기 위해 두 번의 실험을 진행했습니다.

MS COCO 데이터셋

Microsoft Common Objects in Context 데이터셋의 약자인 MS COCO 데이터셋은 이미지 인식 및 객체 탐지 분야에서 벤치마크로 널리 사용되는 데이터셋입니다. 2014년 세상에 공개되었으며, 33만 장 이상의 이미지와 250만 개 이상의 객체 인스턴스가 포함되어 있어 객체 인식을 위한 데이터셋 중에서 가장 뛰어난 다양성과 규모를 자랑합니다. 동물, 자동차, 가정용품 등 포함된 객체 카테고리만 80개가 넘습니다. 각 오브젝트는 바운딩 박스와 라벨로 어노테이션 되어 있어 객체 탐지 모델을 훈련하고 평가할 때 아주 유용하게 사용할 수 있습니다. 어노테이션은 COCO JSON을 포함해 다양한 포맷으로 제공되어 사용자의 머신러닝 프레임워크에 더 간편하게 편입시킬 수 있습니다.

MS COCO 데이터셋의 독특한 특징 중 하나는 대부분의 사진이 복잡하다는 것입니다. 객체가 많거나, 다른 사물에 의해 가려져 있거나, 크기나 방향이 제각기 다르기도 합니다. 그래서 객체 탐지 모델이 처음부터 좋은 성능을 내기는 어려운 데이터셋이지만, 그럼에도 불구하고 현실을 잘 반영하고 있는 데이터셋임에는 이견이 없습니다. 또, MS COCO 데이터셋은 인위적인 환경이 아닌 자연스러운 환경에서 촬영한 이미지들을 포함하고 있어 실제 우리를 둘러싼 다양한 환경을 잘 대변하고 있습니다. 규모도 크고, 어노테이션도 풍성하고, 현실을 잘 반영한 복잡한 이미지들로 구성되어 있다보니 컴퓨터 비전 학계에서도 객체 탐지, 세그멘테이션, 이미지 캡셔닝 등의 태스크를 수행해야 할 때 표준 벤치마크 데이터셋으로 많이 활용하고 있습니다.

실험 세팅

MS COCO 데이터셋을 활용한 실험을 진행하고 결과를 비교하기 위해 몇 가지의 하위 데이터셋을 생성했습니다. 그 중 훈련용 셋은 두 개를 생성했는데, 하나는 118,287장의 이미지가 담긴 Full Train Set, 다른 하나는 상대적으로 훨씬 적은 30,000장의 이미지가 포함된 Curated Train Set이었습니다. 검증용 셋도 두 개를 생성했는데요, 하나는 5,000장의 이미지가 담긴 Full Validation Set, 다른 하나는 Full 셋의 40% 수준인 2,000장의 이미지가 담긴 Curated Validation Set이었습니다.

실험에서 사용한 Curated Train Set의 크기는 Full Train Set의 25% 수준이었습니다.

본 실험의 목적은 저희의 알고리즘이 훈련용 데이터셋에 반드시 포함되어야 하는 가장 의미 있는 데이터만을 선별해 줄 수 있으며, 따라서 사용자들은 훨씬 적은 양의 데이터만으로도 우수한 성능의 모델을 훈련시킬 수 있다는 것을 증명하기 위함이었습니다. 그래서 저희 큐레이션 알고리즘을 활용해 Curated Train Set을 생성했고, 여기에는 희소한 임베딩 클러스터(시각적으로 유사한 이미지가 많지 않은 작은 클러스터)에서 샘플링한 희귀한 데이터들이 포함되어 있었습니다. 이렇게 희소한 데이터를 포함해 데이터셋을 큐레이션하면 모든 객체 카테고리에서 데이터를 추출할 수 있어 균형 잡힌 데이터셋을 구축할 수 있고, 또 전체적으로 모델의 정확성과 강건성을 개선하는 데 가장 크게 기여할 수 있는 데이터만을 엄선할 수 있습니다. 저희는 Full Train Set과 Curated Train Set으로 각각 모델을 훈련하고 성능을 비교하여 저희 큐레이션 알고리즘이 얼마나 효과적으로 “가장 유의미한 데이터”를 선별하는지 평가하고자 했습니다.

저희는 이 실험의 결과가 많은 기업들, 특히 큰 데이터셋을 큐레이션할 리소스가 부족한 중소기업이나 스타트업에 시사하는 바가 상당히 클 것이라 생각합니다. 저희 오토 큐레이트 기능을 활용하면 소규모의 회사들도 MS COCO 데이터셋에서 작은 하위 데이터셋을 추출해 전체 데이터셋으로 훈련한 모델과 비견할 수 있는 우수한 성능의 모델을 훈련할 수 있다는 것을 증명하고 있으니까요. 시간과 비용도 절약하면서 만족할 만 한 성능까지 확보할 수 있는 매우 합리적인 선택지라고 생각합니다.

💡
오토 큐레이트를 통한 라벨링 리소스 절감 지금 시작하기

실험 1: Curated Train Set vs. Full Train Set 성능 평가

첫 번째 실험에서는 두 개의 모델을 각각 Full Train Set과 Curated Train Set을 활용해 훈련해 봤습니다. 그리고 Full Validation Set을 활용해 각각의 성능을 평가했습니다.

그 결과, Curated Train Set으로 훈련한 모델의 성능은 Full Train Set으로 훈련한 모델의 성능보다 0.3%밖에 뒤쳐지지 않았습니다. F-1 점수는 거의 모든 객체 클래스에서 0.05% 미만의 차이가 보여 상당히 미미한 수준이었습니다. Full 셋의 25% 수준의 적은 데이터만으로도 유사한 성능을 낼 수 있다는 점에서 상당히 인상적인 결과였습니다.

Full Validation Set으로 평가한 Curated Train Set을 사용한 모델의 F-1 점수 변동폭(%) 히스토그램

예외적으로 성능이 하락한 유일한 클래스는 헤어 드라이기였습니다. 이 포스팅 후반에서 왜 이런 결과가 발생했는지 더 자세히 살펴보겠습니다.

실험 2: Curated Validation Set으로 검증한  Curated Train Set vs. Full Train Set 성능 평가

두 번째 실험에서는 Curated Validation Set을 활용해 각각  Full Train Set과 Curated Train Set으로 훈련한 모델의 성능을 비교해 보았습니다. 저희가 Curated Validation Set 생성에 사용한 큐레이션 알고리즘은 희소한 임베딩 클러스터에서 데이터를 샘플링해 희귀한 예시들이 데이터셋에 포함될 수 있도록 함과 동시에 잘 못 라벨링되었을 가능성이 높은 예시들은 배제합니다. 다시 말해 Curated Validation Set에는 각 오브젝트 클래스의 엣지 케이스나 희귀한 케이스가 더 많이 포함될 가능성이 높고, 따라서 모델 성능을 평가하기에 아주 훌륭한 데이터셋일 수 밖에 없습니다.

왜 그런지 부연 설명을 해 보자면, 예를 들어 자율주행 자동차가 보행자를 감지해야 하는 상황이라고 가정할 때, 보도에서 걷는 보행자들의 이미지를 주로 담고 있는 데이터셋으로 모델을 훈련하면 그 모델은 정확히 동일한 상황에서는 아주 좋은 성능을 보여줄 가능성이 높습니다. 하지만 만약 모델이 보행자가 일반적이지 않은 위치에 있는 예외적인 상황, 예를 들어 조도가 낮은 상황에서 길을 건너거나 여러 명이 무리를 지어 걷고 있는 상황을 학습하지 않은 상태라면 어떻게 될까요? 이러한 엣지 케이스에서는 정확히 보행자를 인식하지 못할 확률이 높습니다. 따라서 모델이 충분히 다양한 케이스를 커버할 수 있고 모든 시나리오에서 정확히 보행자를 식별하도록 만들려면 이런 엣지 케이스를 포함하도록 큐레이션 된 검증용 데이터셋을 활용해 모델의 성능을 평가하는 게 필수적입니다.

두 번째 실험에서 Curated Validation Set을 기준으로 모델 성능을 평가한 결과, Curated Train Set으로 훈련한 모델의 경우 Full Train Set으로 훈련한 모델에 비해 0.4%의 성능 개선이 확인되었습니다. 이를 통해 오토 큐레이트가 훈련용 데이터셋에 포함되어야 하는 가장 유의미한 데이터들을 잘 선별했다는 사실을 확인할 수 있었습니다. 결론적으로, 잘 큐레이션 된 소량의 데이터만으로도 대규모 데이터셋으로 훈련한 것과 비슷한 성능의 모델을 구축할 수 있다는 것이 증명되었습니다. 또한 희귀한 케이스를 더 많이 포함하도록 큐레이션된 검증용 데이터셋을 사용했을 때 모델 성능을 더 정확히 평가할 수 있다는 점도 실제 환경에 모델을 배포할 때 반드시 염두에 두어야 하겠습니다.

Curated Validation Set으로 평가한 Curated Train Set을 사용한 모델의 F-1 점수 변동폭(%) 히스토그램

첫 번째 실험에서와 같이 여기에서도 헤어 드라이기 클래스가 예외적인 결과를 보였는데요. 사실 MS COCO 데이터셋에서 헤어 드라이기가 가장 드물게 등장하는 객체 클래스라는 점을 감안하면 당연한 결과입니다.

그렇다면 왜 헤어 드라이기 클래스가 예외적인 결과를 낼 수 밖에 없었는지 조금 더 자세히 알아보겠습니다. 아래는 Full/Curated Validation Set에 포함된 헤어 드라이기 클래스 인스턴스들입니다.

보시다시피 Full Validation Set에 들어간 헤어 드라이기 클래스 이미지에는 전형적인 이미지와 전형적이지 않은 이미지가 혼재되어 있습니다. 심지어 어떤 이미지들은 사람이 봐도 바운딩 박스로 지정된 부분만으로는 헤어 드라이기라고 판별하기 쉽지 않을 것 같습니다. 이런 나쁜 예시가 포함된 검증용 데이터셋을 사용하면 모델을 정확하게 평가하지 못 할 가능성이 높습니다.

반대로, 저희의 오토 큐레이트 알고리즘은 이런 나쁜 라벨을 식별해 검증용 데이터셋에서 배제시켰습니다. 저희 큐레이션 알고리즘은 데이터의 희소성 뿐 아니라 객체의 라벨링이 잘 못 되었을 가능성 등 다른 요인까지 고려하기 때문입니다. 이렇게 섬세하게 큐레이션 된 검증용 데이터셋이 있었기 때문에 모델 성능, 특히 원본 데이터셋에서 라벨링 오류가 있었을 희귀한 케이스나 엣지 케이스에 대한 모델 성능을 더 정확하게 평가할 수 있었습니다.

알고리즘의 이런 역량은 다양한 사유로 라벨링 오류가 발생할 수 있는 현실 시나리오에서 특히 유용합니다. 현실에서는 데이터의 노이즈, 사람의 실수, 또는 라벨링 툴의 한계 등 다양한 이유로 라벨링 오류가 발생할 수 있습니다. 검증용 데이터셋을 구성할 때 이런 저품질의 라벨을 배제하면서 라벨링이 정확하고 대표성을 지닌 예시들만 포함시킬 수 있다면 실제 환경에서 모델이 어느 정도의 성능을 낼 지 좀 더 정확하게 예측할 수 있습니다.

마치며

MS COCO 데이터셋을 활용한 일련의 실험들을 통해 슈퍼브 큐레이트의 오토 큐레이트가 훈련용 데이터셋 구축을 위한 유의미한 데이터를 선별하는 과정에 얼마나 큰 도움이 되는지 확인할 수 있었습니다. 이 방법을 통해 머신러닝 팀들은 훈련용 데이터의 고작 25%만 가지고도 강건하고 우수한 모델을 생성할 수 있습니다. 엄청난 결과죠. 이 실험의 결과들은 데이터의 양보다는 질이 더 중요하다는 사실과, 규모는 작더라도 잘 큐레이션 된 데이터만 있다면 매우 효과적인 모델을 구축할 수 있다는 사실의 방증이기도 합니다.

사용자들은 저희가 제공하는 큐레이션 알고리즘을 활용해 희소한 클러스터의 희귀한 예시들을 선별하거나 잘 못 라벨링 된 데이터를 배제해 균형 잡힌 데이터셋을 구성할 수 있습니다. 이 프로세스를 통해 가장 유의미한 데이터만을 모아 훈련용 데이터셋을 구성하면 보다 수월하게 정확하고 강건한 모델을 만들 수 있습니다. 작지만 알차게 큐레이션 된 데이터셋으로 놀라운 수준의 모델 성능을 구현할 수 있기 때문에 불필요하게 엄청난 시간과 비용을 낭비할 필요가 없습니다.

큐레이트를 통해 어떻게 더 우수한 객체 탐지 모델을 구축할 수 있는지 궁금하시다면 저희 세일즈팀에 문의해 주시기를 권장합니다. 여러분의 유즈 케이스에 특화된 방식으로 제품을 시연해 드릴 수 있으니까요. 큐레이트는 사용자 친화적인 인터페이스와 풍성한 기능을 제공하는 만큼, 머신러닝 모델을 최적화하고자 하시는 분들께 최고의 선택이 되리라 자부합니다.