MNIST 데이터셋 테스트로 알아보는 슈퍼브 큐레이트

MNIST 데이터셋 테스트로 알아보는 슈퍼브 큐레이트

큐레이트를 소개합니다

데이터는 머신러닝의 근간입니다. 머신러닝 모델을 효과적으로 훈련시키기 위해서는 잘 정리된 폭넓고 정확한 데이터가 필요합니다. 그러나 데이터를 수집하고 큐레이션하는 데는 많은 시간과 비용이 소요되며, 종종 시간과 비용, 인적 자원에 대한 상당한 투자가 필요합니다.

큐레이트(Curate)는 머신러닝 팀이 데이터 큐레이션 프로세스를 간소화하여 프로세스를 더 빠르고 효율적이며 경제적으로 만들 수 있도록 설계되었습니다. 큐레이트를 활용해 팀은 훈련용 데이터셋을 분석하고, 쿼리를 사용한 메타데이터 기반 검색을 수행할뿐만 아니라, 2차원 공간에 투영된 임베딩을 사용하여 데이터셋 분포를 시각화할 수 있습니다.

큐레이트는 머신러닝 팀의 데이터 큐레이션 프로세스를 최적화하는 데 도움이 되는 일련의 기능을 제공합니다. 큐레이트를 통해 팀은 더 적은 양의 라벨링된 데이터로도 유사하거나 더 나은 수준의 모델 성능을 기대할 수 있습니다. 또한 실제 환경에 잘 맞는 검증용 데이터셋을 큐레이션하여 강력한 모델을 구축하고, 대규모 데이터를 쉽게 업로드해 쿼리 가능한 메타데이터로 관리할 수 있습니다. 큐레이트와 임베딩을 활용하면 자체 임베딩 모델 없이도 데이터를 클러스터링할 수 있습니다.

한마디로 큐레이트는 대규모 데이터셋을 큐레이션하고, 라벨링하고 컴퓨터비전 애플리케이션을 위해 준비해야 하는 머신러닝 팀을 위해 설계되었습니다. 이 솔루션은 선택 편향, 클래스 불균형, 이상값 감지 등 머신러닝 실무자가 직면하는 가장 일반적인 데이터 문제를 해결할 수 있는 기능과 성능을 갖추고 있습니다. 큐레이트를 통해 팀은 훈련용 데이터셋이 폭넓고 정확하며 균형이 잘 잡혀 있는지 확인하여 보다 효과적인 머신러닝 모델과 더 나은 비즈니스 결과를 제공합니다.

수동 데이터 큐레이션이 골치 아픈 이유

데이터 큐레이션은 머신러닝의 필수적인 부분이지만, 시간과 비용이 많이 드는 프로세스입니다. 수동 큐레이션은 오류와 편향이 발생하기 쉬우며 끝없이 반복되는 작업이 될 수 있습니다. 특히 컴퓨터 비전 애플리케이션의 경우에는 더더욱 그렇습니다. 효과적인 훈련을 위해서는 방대한 데이터셋이 필요할 뿐만 아니라 데이터 품질이 머신러닝 모델의 성능에 큰 영향을 미칠 수 있기 때문입니다.

수동 데이터 큐레이션의 대표적인 어려움을 꼽으라면 머신러닝 모델을 효과적으로 훈련시킬 수 있도록 가치가 높은 데이터의 하위 집합을 선정해야 한다는 점입니다. 이 복잡한 작업은 데이터 희소성, 라벨 노이즈, 클래스 균형, 특성 균형과 같은 다양한 요소를 신중하게 고려해야 합니다. 자동화된 큐레이션 기능이 없으면 수동 선별 프로세스에 의존해야 하는데, 이는 시간이 많이 걸리고 오류가 발생할 확률이 높으며 규모를 확장하기 어려울 수 있습니다. 다음 섹션에서는 오토 큐레이트(Auto-Curate) 기능에 대해 다뤄보겠습니다. 오토 큐레이트는 팀의 데이터 큐레이션 프로세스를 자동화하여 머신러닝 팀을 위한 높은 효율성과 정확도를 갖춘 확장 가능한 솔루션을 제공합니다.


컴퓨터 비전을 위한 오토 큐레이트 소개

오토 큐레이트는 머신러닝 팀을 위해 데이터 큐레이션 프로세스를 자동화하는 새로운 큐레이트 제품의 기능입니다. 이 기능은 “임베딩(embedding)”이라는 AI 기술에 기반합니다. 임베딩은 AI가 이미지 간의 시각적 유사성을 이해하고 비교할 수 있도록 해 이미지 클러스터링, 유사도 검색, 추천 시스템 등 다양한 컴퓨터 비전 애플리케이션의 토대가 되는 기술입니다.

오토 큐레이트는 희소성, 라벨 노이즈, 클래스 균형, 특징 균형의 네 가지 큐레이션 기준을 고려하여 가치가 높은 데이터의 하위 집합을 선택합니다. 이러한 기준은 선택된 데이터가 데이터셋에 대한 대표성을 띠며 효과적인 머신러닝 모델을 구축하는 데 사용될 수 있는지 확인하는 데 도움이 됩니다.

희소성(sparseness)은 임베딩 공간에서 데이터의 희소도를 나타냅니다. 오토 큐레이트는 임베딩 공간에서 희귀한 위치에 있는 데이터 또는 데이터셋에서 희귀한 데이터를 선택합니다. 예를 들어, 특정 유형의 이미지가 데이터셋에 한 번만 나타나는 경우 오토 큐레이트는 이를 희귀 데이터 포인트로 선택할 수 있습니다.

라벨 노이즈는 라벨이 잘못 지정되었을 가능성이 있는 데이터 또는 임베딩 공간의 근처에 있지만 클래스가 다른 데이터 포인트를 의미합니다. 오토 큐레이트는 올바르게 라벨링될 가능성이 높으면서 동일 클래스 내 다른 데이터 포인트와 유사한 데이터를 선택합니다.

클래스 균형은 왜곡된 클래스 분포를 해결하는 데 도움이 되며 빈번히 사용되는 클래스는 적게 샘플링하고 그렇지 않은 클래스는 많이 샘플링할 수 있습니다. 예를 들어, 데이터셋에 한 클래스가 다른 클래스보다 훨씬 더 자주 나타나는 클래스 분포가 있다고 가정해 보겠습니다. 이 경우 오토 큐레이트는 빈도가 낮은 클래스에서 더 많은 데이터를 선택하여 분포의 균형을 맞출 수 있습니다.

특성 균형은 각 이미지의 메타데이터 또는 속성의 중요성을 고려하여 임베딩 공간에서 데이터를 균등하게 샘플링합니다. 예를 들어 특정 특성이 머신 러닝 모델에 매우 중요하다고 가정해 보겠습니다. 이 경우 오토 큐레이트는 해당 속성을 가진 데이터 포인트를 더 많이 선택하여 데이터셋에 해당 속성이 잘 표현되도록 할 수 있습니다.

오토 큐레이트를 사용하면 라벨링되지 않은 이미지의 데이터셋을 균일한 분포와 최소한의 데이터 중복으로 쉽게 큐레이팅할 수 있습니다. 또한 희귀하거나 엣지 케이스일 가능성이 높은 이미지만 큐레이션하거나 데이터셋을 대표하고 빈번히 발생하는 이미지만 큐레이션할 수도 있습니다. 오토 큐레이트 기능은 큐레이션에 필요한 수작업을 줄여주며 머신러닝 팀이 정확하고 잘 큐레이션된 데이터셋으로 보다 효과적인 모델을 구축할 수 있도록 도와줍니다.

MNIST 데이터셋에 오토 큐레이트를 적용한 사례

  • MNIST 데이터셋 소개

MNIST 데이터셋은 머신러닝 모델을 훈련하고 테스트하는 데 사용되는 컴퓨터 비전 데이터셋의 대표적인 예입니다. 0에서 9까지의 손으로 쓴 숫자 이미지 70,000개가 포함되어 있으며, 각 이미지의 크기는 28×28픽셀입니다. 작은 크기와 간단한 분류 작업에도 불구하고 MNIST 데이터셋은 여전히 업계에서 머신러닝 모델을 벤치마크로 널리 사용되고 있습니다.

  • 임베딩을 사용하여 데이터셋 분포 분석하기

오토 큐레이트를 사용하는 첫 번째 단계 중 하나는 임베딩을 사용하여 데이터셋의 분포를 분석하는 것입니다. 임베딩은 이미지 간의 시각적 유사성을 이해할 수 있는 강력한 도구입니다. 임베딩은 이미지를 고차원 공간에 벡터로 인코딩하여 유사한 이미지는 서로 가깝게, 그렇지 않은 이미지는 멀리 떨어진 곳에 배치합니다.

MNIST 데이터셋의 분포를 분석하기 위해 BEiT 임베딩 모델을 사용합니다. 데이터셋의 각 이미지에 대한 임베딩 벡터를 연결하고 t-SNE를 사용하여 2D 공간에 투영합니다. 이를 통해 데이터셋의 분포를 산점도로 시각화할 수 있는데, 각 점은 이미지를 나타내고 색은 숫자 라벨을 나타냅니다.


컴퓨터 비전 도구 임베딩 시각화를 통해 MNIST 데이터셋을 시각화한 예시 : MNIST 데이터셋의 임베딩 시각화. 각각의 점은 이미지를 나타내며, 점의 색은 각 이미지가 10자리 수 클래스 중 어느 클래스에 속하는지를 나타냅니다.

컴퓨터 비전 임베딩 시각화로 표현한 MNIST 데이터 집합의 시각화 : MNIST 데이터셋의 임베딩 시각화. 약 10,000개의 이미지를 샘플링한 이미지 썸네일 시각화

MNIST 데이터셋의 2D 임베딩 값의 산점도를 분석하면, 이미지가 클래스 라벨에 따라 서로 다른 클러스터로 그룹화되어 있음을 바로 알 수 있습니다. 같은 클래스에 속하는 이미지들은 2차원 평면에서 서로 가깝게 위치하는 경향이 있으며, 이는 유사한 임베딩 값을 나타냅니다. 이는 이미지 임베딩이 배경, 색상, 구도, 각도 등 이미지 간의 시각적 유사성을 포착하도록 설계되었기 때문입니다. 따라서 시각적으로 유사한 이미지는 임베딩 값이 비슷하고 2차원 평면에서 서로 가깝게 위치합니다.

이러한 클래스별 클러스터 외에도 두 개 이상의 클러스터 사이의 영역에 위치한 이미지도 있습니다. 이러한 이미지는 여러 클래스와 시각적 유사성을 공유하기 때문에 하나의 클래스로 분류하기 어려운 경우를 나타냅니다. 이러한 이미지는 모델이 정확하게 예측하기 어려운 엣지 케이스를 나타내므로 머신러닝 모델을 학습할 때 중요한 데이터 포인트 역할을 합니다. 이러한 이미지를 훈련용 데이터셋에 포함하면 머신러닝 모델 훈련이 더욱 강력해져 희귀한 코너 케이스를 잘 예측하고 감지하여 정확도와 성능을 향상시킬 수 있습니다.

종합해보면, MNIST 데이터셋의 2D 임베딩 값 산점도는 이미지 간의 시각적 유사성에 대한 귀중한 인사이트를 제공하며 최적의 머신러닝 모델 성능을 위해 훈련용 데이터셋에 엣지 케이스를 포함하는 것의 중요성을 강조합니다.


오토 큐레이트로 훈련용 데이터셋 선택하기

데이터셋의 분포를 분석한 후 오토 큐레이트를 사용하여 훈련 및 검증을 위해 가치가 높은 데이터의 하위 집합을 선택할 수 있습니다. 오토 큐레이트 알고리즘이 실행되면 시스템은 먼저 유사성을 기준으로 임베딩을 클러스터링한 다음 각 클러스터를 대표하는 이미지를 선택합니다. 초기 훈련용 데이터셋을 큐레이팅하기 위해서는 어노테이션된 '클래스'와 임베딩 값 모두에서 균형 잡힌 데이터셋을 생성하는 것이 바람직합니다. 또한 초기 단계에서는 모델 훈련에 지장을 줄 수 있으므로 너무 많은 엣지 케이스를 포함하지 않는 것을 권장합니다. 따라서 선택한 훈련용 데이터셋은 전체 데이터셋을 대표하는 하위 집합이므로 초기 머신러닝 모델 훈련에 유용합니다.

아래 MNIST 예시에서는 훈련을 위해 1,000개의 이미지 하위 집합을 오토 큐레이트를 활용해 큐레이션했습니다. 선택된 하위 집합은 최소한의 데이터 중복으로 숫자가 고르게 분포되어 있습니다. 다시 말해, 선택된 하위 집합은 모든 숫자의 대표 샘플을 포함하고 하위 집합에 유사한 이미지가 너무 많이 포함되지 않도록 하며 학습하기 어려울 수 있는 희귀한 엣지 케이스가 너무 많이 선택되지 않도록 하는 것을 의미합니다.


오토 큐레이트로 컴퓨터 비전 데이터 훈련용 데이터셋 선택하기 : MNIST 데이터셋에 선별된 훈련용 데이터셋의 시각화 임베딩

오토 큐레이트로 엣지 케이스 샘플 선택하기

훈련 및 검증을 위해 데이터의 대표적인 하위 집합을 선택하는 것 외에도 오토 큐레이트를 사용하여 데이터셋에서 희귀한 엣지 케이스 샘플을 선택할 수 있습니다. 이러한 희귀 샘플 이미지는 모델이 훈련하기 어렵고 종종 잘못된 결과 예측을 가져와 정확도를 낮춥니다. 이러한 샘플을 큐레이션함으로써 사용자는 모델이 실제 환경에 성공적으로 배포되는 데 매우 중요한 엣지 케이스 시나리오에 더 효과적으로 대응할 수 있도록 모델을 더욱 강력하게 훈련시킬 수 있습니다.

오토 큐레이트로 엣지 케이스 샘플을 선택하기 위해 "희소성" 기준에 더 중점을 두도록 큐레이션 알고리즘을 구성할 수 있습니다. 즉, 알고리즘이 임베딩 공간의 다른 데이터 포인트에서 더 멀리 떨어져 있는 사례를 선택하도록 하는 것입니다. 임베딩 공간에서 희귀한 위치에 있거나 엣지 케이스일 가능성이 높은 이미지를 선택합니다.

선택된 숫자 4 및 숫자 7 클래스의 예시 이미지입니다. 이 이미지들은 희소성 팩터가 높고 희귀한 엣지 케이스를 나타냅니다.

💡
슈퍼브 큐레이트의 엣지 케이스 선택 기능으로 컴퓨터 비전 모델 성능을 개선하세요.

선택된 숫자 4 및 숫자 7 클래스의 예시 이미지입니다. 이 이미지들은 희소성 팩터가 높고 희귀한 엣지 케이스를 나타냅니다.

머신러닝 모델이 실제 데이터를 정확하게 예측하려면 훈련용 및 검증용 데이터셋에 희귀한 엣지 케이스를 포함시키는 것이 중요합니다. 이러한 엣지 케이스는 희귀성으로 인해 모델이 정확한 예측을 내리는 데 어려움을 겪는 경우가 많기 때문입니다. 그러나 너무 많은 엣지 케이스를 포함하면 모델 적합도가 과도하게 높아질 수 있으므로 충분한 엣지 케이스를 포함하는 것과 모델에 과부하가 걸리지 않도록 균형을 맞추는 것이 중요합니다.

데이터셋에서 이처럼 희귀한 엣지 케이스를 선택하기 위해 큐레이트의 오토 큐레이트 기능은 임베딩에 기반한 AI 기반 큐레이션 알고리즘을 사용합니다. 이 알고리즘은 임베딩 공간에 희귀하게 위치하거나 데이터셋에서 희귀한 데이터 포인트를 선택합니다. 이러한 데이터 포인트는 모델이 훈련하기 어려울 수 있으며, 모델을 배포할 때 잘못 분류되는 경우가 많습니다. 이러한 데이터 포인트를 훈련용 및 검증용 데이터셋에 포함하면 모델이 이러한 희귀 사례를 더 잘 예측하고 분류하는 방법을 학습할 수 있습니다.

희귀한 엣지 사례를 포함시키는 것도 중요하지만, 데이터셋에 더 일반적인 사례의 예시를 충분히 포함시키는 것도 중요합니다. 이렇게 함으로써 모델이 예측할 수 있는 탄탄한 기반을 구축할 수 있습니다. 희귀한 엣지 케이스를 훈련용 및 검증용 데이터셋에 포함하면 머신러닝 모델이 실제 데이터에 대한 예측을 더욱 강력하고 정확하게 수행할 수 있습니다.


오토 큐레이트로 잘못 라벨링된 데이터 처리하기

오토 큐레이트를 사용할 때 주의해야 할 한 가지 중요한 점은 데이터셋이 완벽하게 라벨링되지 않은 경우, 엣지 케이스 큐레이션의 결과에 잘못 라벨링된 데이터가 포함될 수 있다는 것입니다. 이는 모델이 모든 라벨을 정답 데이터 또는 완벽하게 라벨링된 데이터로 간주하기 때문에, 숫자가 다른 숫자로 잘못 라벨링된 경우에는 오토 큐레이트 알고리즘이 “희귀 케이스”로 간주하기 때문입니다. 이렇게 잘못 라벨링된 케이스는 실제 라벨의 클러스터에서 멀리 떨어져 있기 때문에 임베딩 공간의 분산형 차트에서 쉽게 발견할 수 있습니다.

오토 큐레이트로 잘못 라벨링된 데이터를 처리하려면 라벨 노이즈(label noise) 기준을 사용할 수 있습니다. 이 기준은 가까이 위치한 데이터 포인트의 라벨이 상이할 경우 잘못 라벨링되었을 가능성이 높다는 가정을 바탕으로 합니다. 이러한 데이터 포인트를 선택하면 라벨링 오류를 쉽고 빠르게 수정해 훈련용 데이터셋에 추가할 수 있습니다. 추가 훈련을 위해 엣지 케이스 샘플을 선택함으로써 사용자는 머신러닝 모델의 성능과 안정성을 향상시킬 수 있습니다.

잘못 라벨링될 확률이 상대적으로 높은 엣지 케이스 이미지 예시

데이터를 검토한 결과, '6' 또는 '9'로 분류된 엣지 케이스 이미지 중 일부가 잘못 라벨링된 것이 확실합니다. 어떤 경우에는 사람이 올바른 라벨을 식별하는 것이 가능하지만, 어떤 경우에는 더 어려울 수 있습니다. 이러한 경우 사용자는 특정 유즈 케이스와 데이터 요구 사항에 따라 올바른 라벨로 이미지를 다시 분류하거나 훈련용 데이터셋에서 이미지를 완전히 제거할 수 있습니다. 이렇게 잘못 분류된 사례는 향후 머신러닝 모델이 이러한 사례를 더욱 안정적이고 정확하게 식별할 수 있도록 훈련하는 데 사용할 수도 있습니다.

오토 큐레이트 기능 더 알아보기

데모 요청


큐레이트로 머신러닝 모델의 성능 확장하기

큐레이트의 오토 큐레이트 기능은 머신러닝 모델의 정확성과 안정성을 개선하기 위해 제공하는 다양한 도구 중 하나일 뿐입니다. 데이터셋 분포 분석, 엣지 케이스 큐레이션, 라벨 노이즈 보정 등 강력한 AI 기반 데이터 큐레이션 기능을 통해 머신러닝 팀이 보다 쉽고 효율적으로 훈련용 데이터셋을 큐레이션할 수 있도록 도와줍니다.

큐레이트에 대해 자세히 알아보고 머신러닝 모델을 최적화하는 데 큐레이트가 어떻게 도움이 되는지 궁금하다면, 저희 팀에 문의해 주세요!