brunch

6. 불완전한 주석으로부터의 학습

데이터중심 AI강좌: 데이터세트 구축 및 효율적인 데이터 학습 방법

by AI개발자
gaebalai-blog (1).jpg

라벨이 충분히 준비되지 않은 경우의 학습 방법을 소개합니다.


자기지도학습(Self-supervised Learning)은 라벨이 없는 데이터만으로 학습을 진행하고 주로 사전학습을 위해 사용되는 프레임워크입니다.

반지도학습(Semi-supervised Learning)이나 노이즈가 있는 데이터학습은 주로 다운스트림 태스크용 프레임워크로 라벨이 부족한 상황(반지도학습)이나 어노테이션에 노이즈가 포함된 상황에서 유용한 기법입니다.


이런 학습 방법에서 사용되는 기술과 그 이면의 아이디어는 머신러닝 모델을 활용해 데이터를 정제(cleaning)할때에도 적용될 수 있습니다. 이번에는 이런 측면까지 고려해서 설명합니다.



(1) 자기지도학습(Self-supervised Laerning)

① 사전학습과 자기지도학습

먼저 사전학습(pre-training)이란, 해결하고자 하는 특정 태스크(다운스트림 태스크)에 대해 모델을 학습하기 전에, 별도의 데이터세트 또는 다른 테스크를 사용하여 모델을 미리 학습해두는 과정을 의미합니다. 많은 경우, 사전학습된 모델은 ImageNet과 같이 방대한 양의 다양한 이미지 데이터로 학습되므로 이미지 인식에 유용한 법용적인 특징을 학습했을 것이라 기대할 수 있습니다. 특히 다운스트림 태스크의 데이터가 적을 때는 모델을 처음부터 학습하는 것과 비교해 드라마틱한 정확도 향상을 기대할 수 있습니다.


이러한 사전학습 아이디어 자체는 오래전부터 널리 알려져 있었으며, 일밥ㄴ적으로 ImageNet과 같은 라벨이 있는 데이터로 지도학습을 수행하는 방식이 일반적이었습니다. 이에 반해 자기지도학습(Self-supervised Laerning)은 라벨이 없는 데이터를 사용해 사전학습 단계를 수행하는 접근입니다. 라벨이 포함된 이미지를 대량으로 확보하ㅏ기는 매우 어렵고 비용이 많이 드는 반면, 라벨이 없는 이미지는 비교적 쉽게 수집할 수 있으며, 데이터양을 늘리는 것도 간단합니다. 예를 들어, 웹상의 동영상을 크롤링하거나, 자동차에 카메라를 달아 자유주행용 이미지 및 영상을 수집하는 등 대규모 무라벨 데이터를 확보하는 것이 비교적 수월합니다.


이러한 이유로 자기지도학습 연구는 급격히 활발해졌고 다양한 기법들이 제안되었습니다. 라벨이 없는 데이터에 대해 모델을 학습하려면, 무엇가 '교사(지도) 없이 스스리 학습할 수 있는 태스크'를 정의해야 합니다. 이는 곧 학습 데이터에 대한 새로운 형태의 '교사정보'를 만들어내는 작업이며 ,일종의 '데이터 생성' 활동으로 볼 수 있습니다. 자기지도학습분야에서는 다양한 태스크가 제안되고, 그렇게 사전학습된 모델의 성능을 '다양한 다운스트림 태스크(이미지분류, 물체검출, 의미적 분할 등)으로 평가하여 더욱 범용적인 특징을 학습할 수 있는 자기지도학습ㅂ 깁법ㅂ을 찾으려는 시도가 계속되고 있습니다.


자기지도학습에도 여러 종류의 방법이 존재하지만, 대략 아래와 같은 아이디어를 바탕으로 하는 기법들이 현재 주류를 이루고 있습니다.


대조학습(Contrastive Learning): 다른 이미지와 구별가능한 특징을 학습한다는 개념에 기반한 방법

클러스트터링 기반 기법: 모델이 추출한 특징량을 이용해 클러스터링을 수행하고, 각 샘플에 할당된 클러스터 라벨을 지도정보로 사용해 학습하는 방법

화소값 또는 특징량 복원손실을 이용한 기법: 특정영역을 가린(masked) 이미지로부터 가려진 부분의 화소값을 추정하거나, 이미지의 특징량을 예측하도록 학습하는 방식


물론 이런 방법이 완전히 구분되는 것은 아니며, 클러스터링과 복원손실을 결합한 방식등도 존재합니다. 중요한 것은 이러한 개념들이 자기지도학습의 핵심적인 사고방식이라는 점입니다. 다만 이 강좌에서는 자기지도학습에 대한 설명이 주가 아니기 때문에 대표적인 SimCLR과 MAE를 중심으로 방법론을 설명합니다.


data-centric-ai-031.png SimCLR 개요 다이어그램, 이미지를 2가지로 데이터확장하고 생성된 2개 샘플 특징량의 일치도를 최대화하도록 학습)


② SimCLR

자기지도학습에서 단순하면서도 강력한 기법으로 알려진 것이 SimCLR입니다. SimCLR의 이면에는 '메트릭학습(Metric Learning)'이라는 개념이 있으며, 이는 '쌍(pair)으로 주어진 데이터를 가깝게 배치하는 임베딩을 학습'(즉, 쌍별 매칭학습)하는 방법입니다. 예를 들어, 동일 카테고리에 속하는 이미지를 가까운 임베딩 공간에 배치함으로써 쿼리 이미지를 기준으로 데이터베이스 내 유사 이미지를 검색하는 응용이 가능해 집니다.


그러나, 메트릭학습은 쌍(pair)데이터가 이미 라벨로 주어져 있다고 가정하고 학습을 진행하는 반명, 자기지도 학습 환경에서는 이런 쌍 데이터가 없습니다. 이를 해결하기 위해 SimCLR은 데이터 확장을 통해 의사적인 쌍(pair) 데이터를 생성하는 방식을 택합니다.

위 그림은 데이터 확장 모듈에서 Crop과 Flip을 사용한 단순 예시를 보여줍니다.

입력이미지를 xk라고 할 때, 데이터 확장 모듈을 통해 변형된 이미지를

data-centric-ai-031-1.png

로 얻어, 이를 모델에 입력합니다.

모델로부터 출력된 특징량

data-centric-ai-031-2.png

간의 일치도를 최대화하기 위해 Contrastive Loss를 사용하여 모델을 최적화합니다.

Contrastive Loss는

data-centric-ai-031-3.png

사이의 유사도를 다른 샘플 특징량 z와의 유사도와 비교하여 계산합니다.


이 Contrastive Loss는 이후 설명할 CLIP모델에서도 등장하므로, 구체적인 계산과정을 살펴보겠습니다. 배치(batch)당 샘플수가 N개일 때, 손실 L은 아래와 같은 형태로 표현할 수 있습니다.

data-centric-ai-032.png

여기서 si,k는 zi와 zk사이의 코사인 유사도를 나타내며 τ는 si,k의 스케일을 조정하기 위해 도입된 온도 파라미터라는 하이퍼파라미터입니다.

data-centric-ai-032-1.png

는 k = i일 때, 0의 값을 그 외에 경우에 1의 값을 갖는 것을 의미합니다.

data-centric-ai-033.png

를 살펴보면, 대략적으로 이 값이 커진다는 것은 zj와 zi사이의 유사도가

data-centric-ai-034.png

와 zi 사이의 유사도보다 상대적으로 크기다는 것을 의미합니다. 즉, 다른 샘플들과의 유사도와 비교하여 상대적으로 유사도가 높은지 여부를 측정하는 척도라고 이해할 수 있습니다.

또한, i와 j의 값은 2k-1과 2k와 같이 동일한 샘플에서 생성된 두 데이터로 대체되므로, Contrastive Loss는 서로 다른 데이터 확장을 통해 생성된 샘플들이 상대적으로 유사한 임베딩으로 변환되도록 모델을 학습시키는 역할을 합니다.


③ SimCLR에서의 데이터 확장의 중요성

이 프레임워크에서는 데이터확장의 선택이 모델 성능에 큰 영향을 미친다는 것이 잘 알려져 있습니다. 논문에서는 다음 2가지를 보고합니다.


1. 단일 데이터 확장만으로 학습을 수행하면 성능이 낮아진다: 다양한 데이터 확장을 결합함으로써, 서로 다른 데이터 확장이 적용된 쌍(pair) 간의 매칭을 위해 학습되는 특징량의 질이 크게 향상된다는 점을 의미합니다. 이는 단순한 데이터 확장을 적용하면 매칭이 지나치게 쉬워져, 학습된 특징이 충분히 도전적인 문제를 해결하지 못하게 된다는 사실에서 기인합니다.

2. Crop에 색상변화를 추가하면 정확도가 크게 개선된다: 이는 이미지 내에서 샘플링된 패치간의 색분포가 유사한 것에 기인할 가능성이 있습니다. 즉, 색상의 히스토그램만 고려하면,

data-centric-ai-034-1.png

를 매칭시킬 수 있는 특징이 만들어지므로, 모델이 색상 히스토그램을 기반으로 특징을 설계할 위험이 있습니다.


이처럼 딥러닝 모델은 손실을 최소화하기 위해 가장 단순한 방법을 선택하는 경향이 있으며, 이 현상은 Short-Cut Learning으로 불립니다. 따라서, 자기지도학습과 같이 라벨이 없는 데이터로 비지도 태스크를 정의할 때는 해당 태스크가 모델에게 너무 쉬워지지 않도록 신중하게 고려해야 합니다. 많은 자기지도 학습 기법에서는 Short-Cut Learnig을 방지하기 위해 하이퍼파라미터를 적절히 설정합니다.


또한, SimCLR은 '서로 다른 데이터 확장이 적용된 두 이미지를 매칭하도록 학습'하는 고수준의 아이디어에 기반하지만, 실제로는 세밀한 조정이 필요한 것도 중요한 사실입니다. 더 나아가, Tian등과 Xiao등의 논문에서는 최적의 데이터 확장은 다운스트림 태스크에 따라 달라진다고 지적합ㅂ니다. Contrastive Learning은 데이터확장에 대한 불변성을 모델에 학습시키는 것으로 볼 수 있으나. 이 불변성을 학습하는 것이 특정 다운스트림 태스크에서는 오히려 문제를 일으킬 수 있습니다. 예를 들어, 아래 그림에서 보듯이, bird(새) 카테고리 분류와 같이 색상이 유익한 특징인 태스크의 경우, 색상을 변화시키는 데이터 확장을 사용하면 모델이 색상에 불변한 특징을 학습하게 되어 정확도가 떨어질 수 있습니다.


data-centric-ai-034 (1).png 왼쪽: 데이터 확장의 예시, 오른쪽: Contrastive Learning에 적용되는 데이터 확장과 각 작업에 대한 유용성의 개요 (Xiao 논문인용)

④ MAE (Masked AutoEncoder)

이미지에 노이즈를 추가하고, 그 노이즈가 추가된 이미지를 바탕으로 원본 화소값을 복원한다는 매우 단순한 아이디어를 바탕으로 한 기법이 MAE(Masked AutoEncoder)입니다. 이미지에서 노이즈를 제거하여 좋은 특징을 획득한다는 아이디어는 오래전부터 Denoising AutoEncoder로 알려져 있었으나, MAE는 이를 확장하여 ViT(Vision Transformer) 사전학습에 적용한 방식입니다.

또한, 언어모델인 BERT에서는 입력토큰 일부를 마스킹하고, 마스크된 부분의 토큰ID를 예측하는 Masked Language Modeling방식을 사용합니다. MAE는 이를 이미지 버전으로 생각할 수 있으며, Masked Image Modeling을 수행한다고 볼 수 있습니다. 아래 그림 왼쪽에는 학습 시 입력 경로가 제시되어 있으며, 학습 흐름은 다름과 같습니다.


이미지를 패치로 분할 및 마스킹

입력 이미지가 주어지면, ViT와 마찬가지로 이미지를 격자 형태로 패치로 분할합니다.

분할된 패치 중 일부만 에디터(인코더)에 입력하고, 나머지 패치는 마스킹 처리합니다.

중요한 점은 얼마나 많은 패치를 인코더에 입력할지입니다. 너무 많은 패치를 입력하면 태스크가 지나치게 쉬워지고, 너무 적으면 태스크 해결이 지나치게 어려워집니다.

논문에서는 약 25%패치를 인코더에 입력했다고 보고합니다.

2. 인코더 출력

인코더에서 각 패치에 대응하는 특징량을 얻습니다.

3. 디코더 입력 구성

마스크된 패치에 해당하는 토큰과 같이 디코더에 입력합니다.

즉 (i)인코더에서 얻은 토큰과 (ii)학습가능한 마스크 토큰 2 종류를 디코더에 같이 입력합니다.

마스크 토큰은 '어떤 패치가 마스킹된 패치이며, 예측 대상인지를 나타내는 토큰'에 해당합니다.

예를 들어, 인코더에는 8개의 토큰만 입력되었더라도, 디코더에는 원본 패치수(예: 25개)에 해당하는 토큰을 입력하게 됩니다.

4, 복원 손실 계산

디코더는 각 패치에 포함된 모든 화소값을 예측합니다.

예측값과 원본 이미지 화소값을 비교하여 복원손실을 계산하고 이를 모델학습에 사용합니다.


MAE는 위 1단계에서 인코더에 입력하는 패치수를 줄임으로써 인코더 학습에 필요한 계산량을 크게 절감할 수 있고, 그 결과 매우 큰 인코더를 학습하는 것도 가능하다는 장점을 지닙니다.


data-centric-ai-035.png 왼쪽: MAE학습, 오른쪽: 학습된 모델에 의한 이미지 복원의 예시

⑤ 데이터와 자기지도학습: 데이터양, 모델정확도, 모델크기의 관계

이제 MAE를 예시로 삼아, 자기지도학습에서 정확도, 데이터양, 모델크기의 관계를 살펴봅니다. 논문에서는 MAE에 대해 데이터양과 모델크기에 관한 성능평가를 수행했습니다. 아래 그림은 사전학습에 사용되는 ImageNet 데이터양과 모델 크기를 변화시켰을 때의 validation loss(검증세트에 대한 MAE 손실 의미)를 나타냅니다.


data-centric-ai-036.png 왼쪽: MAE 모델크기와 데이터세트 크기를 변경했을 때의 정밀도 변화, 오른쪽: MAE 학습반복 및 데이터세트 크기에 대한 정확도 변화 (Xie 논문 인용)


왼쪽 그래프: 학습 데이터세트 양을 줄였을 때, 모델 크기를 키우면 과적합이 발생하고 있음을 확인할 수 있습니다. 반면에 ImageNet 전체를 사용했을 대는 모델크기를 키울수록 validation loss가 안정적으로 감소합니다.

오른쪽 그래프: 학습횟수(학습길이)를 달리했을 때의 validation loss를 보여줍니다. 데이터수가 적으면 과적합이 발생함을 알 수 있습니다.


이로부터, MAE학습에서 충분한 양의 데이터가 확보되면, 모델 크기를 늘려도 과적합없이 학습이 가능함을 알 수 있습니다. 반면 논문에서는 모델크기를 늘리지 않고 데이터만 늘려도 validation loss가 감소하지 않는 현상을 보고합니다. 즉, 모델이 데이터에 충분히 적합하지 못해 데이터를 늘리는 이점을 누리지 못한다는 의미입니다. 결과적으로 일정수준이상의 데이터를 확보한 상태에서 크기가 큰 모델을 학습하면, 정확도가 높은 모델을 얻을 수 있을 것으로 기대된다는 결론을 도출할 수 있습니다.


⑥ 무작위로 수집된 이미지 데이터에 대한 자기지도학습

data-centric-ai-037.png 무작위로 수집한 이미지에 대해 학습한 자기교사학습모델 SEER와 클리닝된 데이터로 학습한 기준선 모델 비교 (Goyal논문인용)

자기지도학습 논문들 대부분은 ImageNet처럼 데이터 정제(cleaning)과정을 거친 데이터세트를 사용해 모델을 학습하고 평가합니다. 그러나, 자기지도 학습은 원래 라벨이 없는 데이터에 대한 학습을 염두에 두고 있으며, 데이터 정제등에 큰 비용을 들이지 않고 간단히 수집한 데이터에서도 학습이 제대로 작동하지가 중요한 논점입니다.


Goyal 논문에서는 무작위로 수집된 이미지 데이터세트에 대해 자기지도 학습 모델의 정확도를 검증했습니다. 이들은 Instagram에서 직접 다운로드한 약 1억장의 이미지를 사용했으며, 데이터 전처리를 전혀 수행하지 않은 상태에서 모델 정확도를 측정했습니다. 위 그림에서 확인할 수 있듯이 무작위로 모은 이미지에 대해서도 학습ㅂ한 모델이 매우 높은 정확도를 달성함을 보여줍니다. 또한, 논문에서는 ImageNet이외의 데이터에 대한 평가도 수행하며, 큐레이션(Curation)없이도 높은 정확도를 달성할 수 있음을 시사합니다.


이 결과를 해석할 때, 주의할 점은 이 모델의 정확도는 사전학습된 모델을 파인튜닝(fine-tuning)하여 얻었다는 것입니다. ImageNet같은 대규모 라벨 데이터세트로 파인튜닝하면, 모델 파라미터가 그 데이터세트에 충분히 적응할 수 있기 때문입니다. 이러한 상황에서는 수집된 이미지의 품질을 지도학습만큼 엄격히 고려하지 않아도 될 가능성이 있습니다.


하지만, 라벨이 있는 데이터세트의 규모가 작을 경우, 해당 데이터세트에 특화된 특징을 학습한 사전학습기법이나 사전학습 데이터가 더 효과를 발휘할 수 있습니다. 이후에는 이러한 경우에 대한 연구를 설명합니다.


⑦ 자기지도 학습에서의 데이터 큐레이션

앞서 설명한 논문들에서는 무작위로 수집한 이미지라도 파인튜닝을 거치면 어느 정도 잘 작동한다는 결론을 얻었습니다. 그렇다면 데이터 큐레이션(Curation)은 자기지도 학습에 어떤 효과를 줄까요?

Oquab 논문에서는 자기지도 학습모델인 DINOv2를 학습시키기 위해 데이터 큐레이션을 수행하고 그 효과를 검증했습니다. 아래 그림은 해당 파이프라인을 나타냅니다.


1. 데이터 준비

큐레이션된 다양한 이미지 데이터세트를 준비합니다.

동시에 웹에서 대량의 이미지(약 12억장)를 다운로드한 Uncurated데이터세트도 확보합니다.

2. Deduplication (중복제거)

데이터 다양성을 보장하기 위해 중복된 이미지를 제거합니다.

3. Retrieval (검색)

자기지도학습으로 사전학습된 모델을 이용해 이미지 임베딩을 계산합니다.

큐레이션 데이터세트 내의 각 이미지를 쿼리로 사용하여, 그 쿼리와 가장 유사한 4개의 이미지를 Uncreated 데이터세트에서 선택합니다.


이와 같이 큐레이션된 데이터세트와 유사한 이미지를 활용해 데이터세트를 구축하는 프로세스를 구성합니다. 이 프로세스를 통해 총 1억4200만장의 이미지를 데이터세트로 구축하여 자기지도학습모델을 학습시켰습니다. 아래 표에서는 큐레이션을 수행한 경우, 큐레이션 없이 무작위로 1억4200만장의 데이터를 선택한 경우, ImageNet-22K 데이터세트만을 사용한 경우의 정확도를 비교하고 있습니다.


큐레이션을 수행한 경우와 그렇지 않은 경우를 비교하면, 여러 데이터세트에서 큐레이션을 적용할 대 정확도가 크게 향샹됨을 확인할 수 있습니다. 평가에 사용된 데이터세트는 주로 물체, 동물, 자연풍경 등 다양한 장면을 포함하지만, 큐레이션을 통해 웹상의 이미지 중 유사한 도메인의 이미지를 어느정도 모을 수 있게 됩니다. 반면에, Places나 ImageNet-1K와 같이 대규모 데이터세트에 대해 파인튜닝할 경우에는 사전학습 데이터의 차이가 크게 나타나지 않을 수 있습니다. 다운스트림 태스크의 라벨 데이터수에 대한 엄밀한 분석은 이루어지지 않았으므로 확실하게 말하기는 어렵지만, Places나 ImageNet과 같은 대규모 데이터세트에 대해 파인튜닝할 대는 사전학습 데이터에 의한 차이가 적게 나타난다고 볼 수 있습니다.


이 결과를 통해, 자기지도학습 모델을 학습시킬 때도 다운스트림 태스크 데이터세트의 특성을 고려한 데이턱수집을 수행하면 정확도 향상을 기대할 수 있음을 알 수 있습니다.


data-centric-ai-038.png DINOv2에서 데이터의 큐레이션파이프라인 (Oquab논문인용)


DINOv2에서 데이터의 Curation에 의한 정밀도 변화

data-centric-ai-039.png



(2) 반지도학습(Semi-supervised Learning)

반지도학습이란, 라벨이 있는 샘플이 적은 경우에 라벨이 없는 샘플도 함께 학습에 활용하여 모델의 정확도를 향상시키는 방법입니다. 반지도학습에는 다양한 접근방식이 존재하지만, 그 중 의사라벨(pseudo-label)을 활용한 반지도학습이 가장 높은 정확도를 보이는 기법으로 알려져 있습니다. 의사라벨링 프로세스는 모델 기반의 데이터 필터링과 공통된 부분이 있으므로, 상세내용을 살펴봅시다.


① 의사라벨을 활용한 반지도학습모델

반지도학습에서 사용되는 의사라벨은 '모델의 출력등을 기반으로 추정된 샘플의 클래스 라벨'로 정의할 수 있습니다. 반지도학습에서는 라벨이 없는 샘플이 대량으로 존재하기 때문에 이들 샘플에 의사라벨을 부여하고 해당 라벨을 이용해 손실을 계산하여 모델을 학습시킵니다. 의사라벨을 활용한 반지도학습은 아래 그림과 같이 진행됩니다.


라벨이 있는 샘플만으로 모델을 학습

학습된 모델을 사용하여 의사라벨을 결정

의사라벨이 부여된 샘플도 활용하여 모델을 재학습

2번과 3번과정을 반복


반지도 학습에서 모델의 정확도에 큰 영향을 미치는 것은 바로 '의사라벨의 질(정확도)'입니다. 의사라벨을 진짜 라벨처럼 사용해 모델을 학습시키므로, 의사라벨의 질이 낮으면 모델 정확도도 떨어지게 됩니다. 따라서, 모델의 예측이 정확하다고 판단되는 샘플에만 의사라벨을 부여하는것이 중요합니다. 이를 위해 널리 사용되는 방법이 예측신뢰도에 따른 임계값 처리입니다.


예측신뢰도는 보통 모델의 출력을 활용해 계산되며, 일반적으로 Softmax함수의 출력 중 최대값, 즉 t = maxy p(y | x)를 사용합니다. 여기서 p(y | x)는 샘플x가 클래스 y에 속할 확률의 추정치입니다. t가 일정값 이상인 경우에만 의사라벨을 부여하여 라벨이 있는 샘플처럼 사용합니다.


data-centric-ai-041.png 의사라벨을 이용한 반지도학습 개요 (1. 처음 라벨이 지정된 샘플에서만 학습수행, 2. 학습된 모델에서 클래스 예측이 신뢰할 수 있는 것으로 간주되는 샘플에 의사라벨 부여, 3.

직관적으로 t는 샘플이 클래스 구분경계로부터 얼마나 멀리 떨어져 있는지를 의미하므로, t값을 기준으로 샘플을 선택하면 어느 정도 의사라벨의 질을 보장할 수 있다고 볼 수 있습니다. 여기서의 가정은 t가 예측 정확도를 적절히 측정할 수 있는 지표인지에 관한 문제인데 잘못된 샘플에는 낮은 신뢰도를 올바른 예측에는 높은 신뢰도를 부여하기 위해 모델 캘리브레이션(Model Calibration)이라는 연구도 활발히 진행되고 있습니다.


라벨이 있는 샘플이 매우 적거나 태스크가 어려운 경우, t 하나만으로는 충분하지 않을수도 있지만, 대부분 경우, 간단히 t를 임계값으로 사용하여 보다 신뢰할 수 있는 의사라벨이 부여된 샘플을 선택할 수 있습니다.


② 데이터크기와 모델정확도의 향상

의사라벨(pseudo-label)을 사용한 학습모델의 정확도와 라벨없는 샘플의 양 사이의 관곌를 조사했습니다. 구체적인 방법은 약간 다르지만, 앞서 설명한 의사라벨링 규칙과 재학습을 기반으로 Yalniz등은 모델을 학습했습니다.


라벨이 있는 데이터세트: ImageNet

라벨이 없는 데이터: YFCC100M


아래 그림에서 볼 수 있듯이,


2500만(25M)개 지점까지는 라벨없는 데이터양이 2배로 늘어날 때마다 정확도도 그만큼 상승합니다.

25M이후에도 정확도가 꾸준히 개선되고있습니다.


물론 모든 반지도 학습기법이 이 법칙을 따르는 것은 아니지만, 일반적으로 라벨없는 샘플을 많이 확보할수록 반지도 학습 모델의 정확도는 계속향상된다고 알려져 있습니다.


data-centric-ai-040.png 반지도학습에서 라벨없는 샘플의 양과 모델 정확도 관계 (Yalniz논문 인용)


data-centric-ai-042.png FixMatch에 의한 반교사학습, 라벨없는 이미지는 강한 데이터확장과 약한 데이터 확장의 2가지 방법으로 변환 (Sohn 논문 인용)


③ FixMatch: 데이터확장과 반지도학습

최근 반지도학습에서는 데이터확장과 결합한 의사라벨 샘플생성방법이 거의 필수적으로 사용됩니다. 단순한 의사라벨 기반 반지도 학습의 단점 중 하나는 의사라벨을 부여할 수 있는 샘플이 제한적이라는 점입니다. 즉, 예측이 쉬운 샘플에는 의사라벨을 쉽게 부여할 수 있지만, 예측이 어려운 샘플은 학습이 진행되어도 라벨을 부여하지 못해 모델지식이 충분히 확장되지 않습니다.

이러한 단점을 극복한 방법이 FixMatch등 데이터 확장과 결합한 기법입니다. 아래 그림은 FixMatch의 개용을 보여줍니다.


'라벨이 없는 샘플 u'가 주어졌을 때, 이를 2가지 방식으로 데이터 확장합니다. uw: 약한(weak) 데이터 확장을 적용한 샘플 us: 강한(strong) 데이터 확장을 적용한 샘플

약한 확장에는 Crop이나 Flip처럼 이미지 외관을 크게 바꾸지 않는 기법을 사용하고,

강한 확장에는 RandAugment등으로 탐색된 보다 강력한 데이터 확장을 적용합니다.

'uw'을 모델에 입력하여 얻은 의사라벨을 바탕으로 'us'에 대한 학습손실을 계산해 모델을 업데이트합니다.

이때 'uw'로부터 얻은 의사라벨에는 임계값(threshold)처리를 수행합니다.


이 방법의 핵심은,

라벨 추정에는 약한 확장을 사용하여 상대적으로 정확한 예측을 얻고,

손실계산에는 강한 확장을 사용해 모델을 학습함으로써,

의사라벨의 정확도를 유지하면서도 모델 지식을 효율적으로 확장한다는 점입니다.


약한 확장은 샘플u를 크게 바꾸지 않아 모델 예측이 비교적 올바를 가능성이 높고, 강한 확장은 u를 다채롭게 변형하여 모델이 다양한 변형에도 견고한 특징을 학습하도록 유도한다고 볼 수 있습니다.



(3) 모델기반의 어노테이션 데이터 정제(Cleaning) 방법

이미지 인식 태스크에서 데이터품질을 어떻게 향상시킬지는 태스크나 데이터수집과정에 크게 좌우됩니다. 예를 들어, 다음 장에서는 이미지와 텍스트를 활용한 모델학습을 설명하면서, 텍스트 데이터 품질을 평가해 데이터를 정제하는 과정도 언급합니다. 또한, 이미지를 수집한 '출처(메타데이터)'가 존재한다면, 메타데이터를 통해 데이터를 선별하는 방법도 가능하다고 볼 수 있습니다.

이번에는 태스크나 수집 프로세스에 크게 의존하지 않는 모델기반으로 어노테이션 데이터를 정제하는 방법에 대해 논의합니다.


① 노이즈가 포함된 어노테이션 데이터에서의 학습

어떤 방식으로든 데이터를 어노테이션할 경우, 어노테이션 품질이 모델 정확도에 직접적인 영향을 미칩니다. 라벨이 100% 정확하면 이상적이지만,


어노테이터(사람)의 오류

특정방식으로 어노테이션하는 과정의 문제


등으로 인해 올바르지 않은 라벨이 부여될 가능성이 있습니다. 그 결과 노이즈가 포함된 라벨을 갖춘 데이터세트가 만들어질 수 있는데 이러한 상황에서도 높은 정확도의 모델을 학습하려는 연구분야가 존재합니다.


data-centric-ai-043.png 라벨에 노이즈가 포함된 경우의 정밀도 전이의 이미지 (모델은 라벨 노이즈가 없는 데이터로부터 학습하고 점차 라벨 노이즈가 있는 데이터에 맞추기 때문에 정밀도는 한번피크를 향한 후에

실제로 모델을 실무적 애플리케이션에 사용하기 위해 학습할 때는 데이터 품질 향상에 중점을 두는 경우가 많으므로 이러한 기술들을 직접 적용할 기회가 많지 않을수도 있습니다. 하지만, 이 연구들을 통해 얻은 통찰은 모델 기반으로 데이터를 정제할 때나 모델 동작을 이해하는데 중요한 역할을 합니다. 또한, 이전에 설명한 반지도학습은 올바른 의사라벨이 부여된 샘플을 선택하는 과정, 즉 데이터정제작업을 학습프로세스에 포함하고 있습니다. 이 분야에서 얻은 통찰을 활용해 어떤 기업이 데이터 정제에 효과적인지 논의하고자 합니다.



② 어노테이션 노이즈가 포함된 데이터에 대한 모델 동작

어노테이션에 노이즈가 포함된 데이터로 모델을 학습하면, 모델 정확도는 어떻게 변할까요?

전혀 학습이 이루어지지지 않아 정확도가 계속 낮게 유지될까요? 아니면 일반적인 학습처럼 점차 정확도가 상승하다가 노이즈가 없는 데이터로 학습했을 때의 정확도보다 낮은 수준에 멈물게 될까요?


위 그림은 모델 정확도 변화를 개략적으로 나타낸 것입니다. 대략 10~20%정도의 샘플에 잘못된 라벨(랜덤 노이즈)이 포함된 상황을 가정했을 때, 모델 정확도는 한번 어느 정도까지 상승했다가 이후 점차 하락하는 경향을 보입니다. 이는 딥러닝 모델이 학습하기 쉬운 패턴부터 먼저 학습하는 특성 때문이라고 알려져 있습니다. 즉, 모델 입장에서는 정확한 라벨이 부여된 패턴이 학습하기 쉬워, 어느 정도까지 정확도가 올라간다는 것입니다. 그리고 나서, 라벨이 잘못 부여된 데이터에 대해 학습을 진행하면, 잘못된 패턴까지 학습하게 되어 정확도가 서서히 떨어집니다.


물론 난이도가 높은 태스크인 경우, 노이즈가 포함된 데이터로 학습했을 때 전혀 학습이 진전되지 않고 정확도가 계속 낮게 유지될 가능성도 있습니다.


③ 모델 기반 데이터필터링

학습된 모델을 활용해 어노테이션 노이즈가 포함된 데이터를 제거하거나 검출하는 방법을 알아봅시다. 일반적인 모델기반 데이터 필터링 프로세스는 다음과 같습니다.


모델을 사용해 각 샘플에 대해 어노테이션이 올바른지 여부를 나타내는 신뢰도 점수를 부여합니다.

임계값 이상의 점수를 '정확한 라벨'로 간주하는 등의 방법으로 데이터를 필터링합니다.


여기서 중요한 것은 1번 단계에서 어노테이션의 정확도를 나타내는 점수를 어떻게 산출하느냐입니다. 예를 들어 Softmax함수의 출력을 의사라벨의 정확도를 판별하는 방식을 사용했습니다. 이 척도는 매우 일반적으로 사용되며, 어노테이션 노이즈를 고려한 학습 기법에도 활용됩니다. 중요한 점은 어떤 모델이나 프로세스를 통해 이 점수를 산출하느냐인데 다음과 같은 방법들이 효과적인 것으로 보여집니다.


라벨 노이즈에 맞춰지기 전의 모델을 사용하여 필터링: 딥러닝모델은 학습이 진행됨에 따라 라벨 노이즈에 점차 맞춰지게 됩니다. 라벨 노이즈에 맞춰진 모델을 사용하면, 잘못된 어노테이션이 붙은 샘플에도 높은 신뢰도 점수를 부여할 위험이 있으므로, 초기단계의 모델을 사용하여 데이터를 선택하는 것이 좋습니다. 실제로 Han 논문에서는 라벨노이즈에 맞춰지기 전에 모델을 사용해 데이터를 선택했습니다.

모델의 앙상블(Ensemble) 사용: 단일 모델의 출력은 분산이 큰 경향이 있으므로, 여러 모델을 앙상블하여 신뢰도 점수의 안전성을 향상시키는 방법이 있습니다. 예를 들어, Liu논문에서는 물체검출을 위한 반지도 학습에서 '교사모델(Teacher Model)'이라는 앙상블 모델을 활용하여 의사라벨을 생성함으로써 라벨 정확도를 향상시켰습니다.

스코어링 시 데이터 확장 활용: 단일 추론 결과만으로 점수를 산출하는 대신, 동일한 이미지에 대해 여러가지 데이터 확장을 적용하여 각 경우의 추론 결과를 통합함으로써 신뢰도 점수를 높이는 방법이 있습니다. 이 방법은 추가계산비용이 발생하지만, 신뢰도 점수의 신뢰성을 크게 개선할 수 있습니다.


이와 같이 모델 기반 데이터 필터링 기법은 어노테이션 노이즈를 줄여 모델학습의 성능을 향상시키는데 중요한 역할을 합니다.



©2024-2025 GAEBAL AI, Hand-crafted & made with Damon Jaewoo Kim.

GAEBAL AI 개발사: https://gaebalai.com

AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5


keyword
이전 05화5. 이미지 데이터를 확장 생성하는 기술