데이터중심 AI강좌: 데이터세트 구축 및 효율적인 데이터 학습 방법
능동학습은 모델의 정확도를 유지하면서도 라벨링(어노테이션) 비용을 절감하기 위한 방법론입니다. 머신러닝(기계학습)에서는 수집된 이미지등 다양한 데이터에 대해 태스크에 맞는 라벨 정보를 부여하고, 이 데이터-라벨 쌍을 학습에 활용합니다. 모든 데이터에 대해 라벨링을 진행하는 대신 읿부 데이터만 선택하여 라벨링함으로써, 어떤 데이터를 선택해야 최상의 성능을 낼 수 있는지를 결정하는 과정이 바로 능동학습의 핵심입니다.
능동학습의 전형적인 프로세스는 아래와 같습니다.
초기학습: 소량의 라벨링된 데이터집합(DL)을 이용해 모델을 먼저 학습합니다.
쿼리 샘플 선택: 대량의 라벨이 없는 데이터집합(Dunl)에서 이용해 모델을 먼저 학습합니다.
어노테이션 및 업데이트: 선택된 Dquery에 대해 라벨링을 수행한 후, 이를 기존의 DL에 추가하여 모델을 다시 학습시킵니다.
이러한 반복과정을 통해 점진적으로 모델성능을 개선하면서도 전체 라벨링 비용을 줄일 수 있습니다.
어떤 데이터를 선택할지는 모델의 구조나 사전학습방식등에 따라 달라질 수 있습니다. 예를 들어, 이미지 인식의 경우 모델 설계에 따라 학습하기 쉬운 특징이나 이미 추출가능한 특징이 다를 수 있으므로, 한 모델에서 효과적인 라벨 데이터가 다른 모델에서도 동일한 효과를 보장하지 않을 수 있습니다. 능동학습 프레임워크에서는 일반적으로 아래 2가지 주요 개념을 기반으로 데이터 선택 전략을 수립합니다.
예측 불확실성(Uncertainty): 모델이 예측에 대해 확신이 낮은 즉, 분류경계 근처에 위치한 샘플을 우선 선택합니다.
데이터 다양성(Diversity): 현재 라벨링된 데이터가 전체 데이터 분포를 최대한 포괄할 수 있도록 다양한 영역의 데이터를 선택합니다.
이런 개념들은 이전에 소개했던 그림에서 게요가 제시되어 있고, 각 전력은 상황에 따라 단독 또는결합하여 활용될 수 있습니다.
IT 개발자로서 AI 시스템을 구축할 때, 능동학습은 특히 라벨링 비용이 큰 프로젝트나 실시간으로 변화하는 데이터 환경에서 매우 유용합니다. 실제 서비스에 적용할 때는 다음 사항을 고려할 수 있습니다.
라벨링 비용 최적화: 대규모 데이터세트 중 핵심 정보만 선별해 어테이션함으로써 비용 및 리소스를 절감합니다.
모델 업데이트 주기 관리: 능동학습을 통해 점진적으로 데이터를 추가하고 모델을 업데이트하여 지속적으로 성능 향상을 도모할 수 있습니다.
특정 다운스트림 태스크 맞춤형 전략: 사전학습과 달리 특정 애플리케이션에 최적화된 데이터 선택 기준을 마련할 필요가 있습니다.
이와 같이 능동학습은 AI모델의 효율적인 학습과 실용적인 운영에 크게 기여할 수 있으며, IT개발자들이 AI시스템의 성능을 극대화하는 중요한 도구로 활용되고 있습니다.
앞서 설명한 대표적인 전략 중 하나는 모델 출력의 불확실성이 높은 샘플에 대해 라벨링(어노테이션)을 진행하는 방식입니다. 이는 예측 불확실성이 큰 샘플일수록 오류 가능성이 높다는 사실에 기반합니다. 예를 들어 위 그림에서 보듯이 학습된 분류 모델이 잘못 분류하는 샘플들은 분류 경계(결정면) 근처에 몰리는 경향이 있습니다. 이러한 샘플들을 추가학습에 활용하여 보다 견고한 분류경계를 마련하는 것이 핵심입니다.
불확실성을 측정하는데 일반적으로 사용되는 방법은 입력 x에 대한 모델의 분류 확률 p(y = c | x)를 활용하는 것입니다. 대표적인 지표는 다음과 같습니다.
엔트로피(Entropy)
확률 p(y = c | x)가 특정 클래스 c에 대해 높게 평가되면 엔트로피 값은 낮아지며, 이는 모델 출력의 불확실성이 낮음을 의미합니다.
최대확률(Maximum Probability)
엔트로피와 유사하게 이 값은 모델이 샘플 x에 대해 얼마나 확신하는지를 직관적으로 나타내며, 높은 불확실성을 가진 샘플을 선별할 수 있습니다.
BALD(Bayesian Active Learning by Diagreement)
모델의 파라미터를 θ, 학습데이터를 Dtrain이라고 할 때,
로 표현됩니다. 이는 모델 예측과 사후 확률 간의 상호 정보량을 측정하는 지표로 평균 출력의 엔트로피와 각 모델출력 엔트로피의 기대값 차이로 계산됩니다. 평균적으로 엔트로피가 크지만, 개별 모델에서는 상대적으로 작은 엔트로피 값을 보일 경우 BALD값이 커지게 됩니다. 쉽게 말해, BALD는 모델 출력의 분산을 측정하는 도구라고 볼 수 있습니다. 상세한 내용은 Houlsby 논문과 Gal논문을 참고하시기 바랍니다.
일반적임 딥러닝(Deep Learning) 모델은 불확실성(uncertainty)을 직접 측정하는데 한계가 있습니다. 이러한 문제의식을 바탕으로 Gal등은 Bayesian Active Learning방식을 제안했습니다. 구체적으로 추론시 Dropout을 무작위로 적용하여 하나의 샘플에 대해 여러 번 예측결과를 얻고, 이 결과들의 평균을 확용해 앞서 소개한 불확실성 측정지표(예: 엔트로피, 최대 확률, BALD 등)를 계산합ㅂ니다. 이처럼 모델 파라미터를 확률적으로 변화시키며 여러 번의 추론결과를 통합하면, 보다 정확하게 예측 불확실성을 산출할 수 있고, 실제 능동학습 실험에서 모델의 정확도 향상효과가 관찰되었습니다.
불확실성은 크게 2가지로 나뉩니다.
Aleatoric Uncertainty(데이터 불확실성): 이는 환경적 요인이나 데이터 수집과정에서 발생하는 랜덤 노이즈로 인해 생기는 불확실성입니다. 예를 들어, 이미지에 심한 노이즈가 추가되었거나, 객체가 다른 객체와 크게 겹쳐진 경우에 발생할 수 있습니다.
Epistemic Uncertainty(모델 불확실성): 이는 모델이 특정 데이터에 대해 충분히 학습되지 않아서 발생하는 불확실성을 의미합니다. 예를 들어, 개와 고양이를 분류하는 모델을 학습할 때 학습데이터에 '진돗개'에 해당하는 예시가 포함되지 않았다면, 진돗개에 대해 예측은 Epstemic Uncertainty 가 크게 적용하여 불확실해질 수 있습니다.
Gal등의 논문에서는 결정론적(Deterministic)추론을 수행하는 모델이 Epistemic Uncertainty를 잘 포착하지 못하는 반면, Dropout을 활용한 확률적(Probabilistic) 추론을 통해 모델기반 예측 불확실성을 효과적으로 측정할 수 있음을 지적하고 있습니다. 또한, 모델의 행동을 분석하여 어떤 상황에서 분류 오류가 발생하는지를 관찰하는 것은 추가 학습 데이터 선정에 있어 매우 중요한 포인트로 작용합니다.
이와 같이 Bayesian Active Learning과 불확실성의 두 유형에 대한 이해는 실제 AI시스템 개발 및 운영시, 비용 효율적으로 모델 성능을 향상시키는데 큰 도움이 될 수 있습니다.
불확실성(Uncertainty)만을 기준으로 어노테이션할 샘플을 선택하는 방식은 데이터간의 관계를 고려하지 않기 때문에 어노테이션 대상 샘플에 편향이 발생할 수 있습니다. 예를 들어, 2클래스 분류 작업에서 한쪽 클래스에만 어노테이션 샘플이 추가되는 극단적인 상황이 발생할 수 있습니다. 이를 보완하기 위해 가능한 다양한 데이터를 대상으로 어노테이션을 수행하는 방법들이 제안되었습니다.
Core-set은 전체 데이터세트의 핵심을 이루는 대표적인 ㅅ갬플 집합을 의미하며, 해당 논문에서는 이러한 샘플을 선택하는 방법을 제안합니다. 아래 그림에서 보듯이 선택된 데이터 포인트를 중심으로 하는 반경 ϵ의 구가 전체 데이터세트를 커버하면 충분하다는 아이디어를 기반으로 데이터 선택 알고리즘이 설계됩니다. 이 알고리즘은 k-means와 같은 클러스터링 기법을 활용하여 대표적인 데이터 포인트들을 선택하며, 선택 대상 데이터를 한번에 모아서 선택하는 것이 아니라, 하나씩 순차적으로 선택하는 방식으로 진행됩니다. (Sener등 논문 참조)
또한 이 방식은 앞서 설명한 불확실성 기반 방법과 달리 모델의 예측결과가 아닌 특징(feature)에 대한 메트릭을 계산하므로, 라벨링된 데이터풀에 의존하지 않는다는 장점이 있습니다. 아래 그림에서 볼 수 있듯이 Bayesian Active Learning 기반 방법(DBAL)과 같은 기존 베이스라인보다 훨씬 높은 정확도를 달성한 사례도 보고되고 있습니다.
지금까지는 예측 불확실성과 데이터 다양성 각각을 기반으로 한 샘플 선택 방법에 대해 살펴보았습니다. 그런데, 이 두 방법 중 어느 것이 더 효율적인지에 대한 답은 문제설정에 따라 달라진다고 볼 수 있습니다.
라벨링된 데이터가 매우 적은 경우: 초기 데이터세트의 규모가 작은 경우, 데이터의 다양성을 고려하여 샘플을 선택한느 방식이 보다 효과적일 수 있습니다. 이는 다양한 데이터분포를 폭넓게 커버함으로써 모델이 보다 일반화된 특징을 학습할 수 있도록 돕습니다.
라벨링된 데이터가 일정수준이상 있는 경우: 어느 정도 충분한 양의 라벨 데이터가 확보된 상황에서는 모델이 판별하기 어려운 샘플에 집중하는 방식(즉, 예측 불확실성을 기반으로 한 방법)이 더 큰 성능향상을 가져올 가능성이 있습니다.
실제 능동학습 관련 논문에서는 각 접근법이 잘 작동하는 문제설정이나 모델이 달라서, 어느 한쪽의 경향을 단정짓기 어려운 경우가 많습니다. 이번에는 이 2가지 접근법을 통합한 방법에 대해 살펴봅시다.
Ash등 논문에서는 예측 불확실성과 데이터 다양성을 동시에 반영하기 위해 그라디언트를 특징(feature)으로 간주하여 데이터 포인트를 선택하는 방법을 제안합니다.
그라디언트 계산
라벨이 없는 샘플 x에 대해, 다음과 같이 그라디언트를 계산합니다.
소프트맥스(softmax)층을 사용하여 클래스 i에 대한 출력값을 pi = f(x;θ)i로 정의하고 만약 z(x;θ)를 분류층 입력 전의 특징 벡터라고 한다면, 위 그라디먼트는 다음과 같이 재작성할 수 있습니다.
여기서 py(x)는 해당 예측에 대한 신뢰도가 높을수록 큰 값을 가지게 됩니다. 즉, 이 그라디언트는 샘플의 특징 정보와 예측 신뢰도 두 가지 정보를 모두 포함한 특징 벡터로 해석할 수 있습니다.
통합샘플 선택 전략
이 특징 벡터를 기반으로 샘플들을 고르게 선택하면 데이터 다양성과 예측 불확실성 두 측면을 동시에 고려할 수 있습니다. 단순히 불확실성과 다양성을 나이브하게 결합할 경우, 두 값을 얼마나 중시할지 결정하는 하이퍼파라미터가 필요하게 되지만, BADGE방법은 이러한 추가 하이퍼파라미터 없이도 두 요소를 자연스럽게 통합할 수 있다는 점이 큰 장점입니다.
샘플 선택시에는 k-means++ 알고리즘을 활용하여, 얻어진 특징 벡터들의 센터(centroid)에 해당하는 샘플을 선택하여 어노테이션을 진행합니다. 실험결과, BADGE는 Core-set기반 방식이나 엔트로피(Entropy)만을 사용하는 기존 방법보다 보다 견고하고 높은 정확도를 보였습니다.
이와 같이 BADGE 방법은 그라디언트를 활용해 예측 불확설성과 데이터 다양성을 효과적으로 통합함으로써 어노테이션 대상 샘플을 보다 효율적으로 선정하는 전략을 제시하고 있습니다. 이는 AI모델 개발 및 실무 적용시, 라벨링 비용절감과 모델 성능 향상에 크게 기여할 수 있는 접근법입니다.
앞서 소개한 방법들은 예측 불확실성을 특징에 반영하여 다양한 샘플을 선택하다보니, 예측이 확실한 샘플도 어노테이션 대상에 포함될 가능성이 있습니다. 이에 반해, Citovsky논문에서는 먼저 예측 불확실성이 높은 샘플만 선별한 후, 클러스터링 기법을 통해 데이터 다양성을 고려한 샘플을 선택합니다.
이 방법은 어노테이션할 샘플 수가 매우 많을 때 계산량 문제를 해결하기 위해 고안되었으며, 기존의 CoreSet이나 BADGE방식에 ㅂ비해 계산비용을 크게 절감할 수 있도록 설계되었습니다. 샘플수가 많은 경우, 클러스터링에 소요되는 계산량이 기하급수적으로 증가할 수 있는데 Cluster-Margin은 이를 완화할 수 있는 효율적인 클러스터링 알고리즘을 사용합니다.
또한, 기존 방식들에서는 어노테이션 단계마다 클러스터링을 반복적으로 수행한 반면, Cluster-Margin은 최초 어노테이션 시에만 클러스터링을 실행함으로써 전체 계산량을 크게 줄이는 장점이 있습니다.
능동학습 관련 논문들은 각기 다른 모델 학습 방법, 구조 그리고 하이퍼파라미터 설정을 사용하고 있기 때문에, 단일 논문만으로는 어떤 방법이 우수한지 평가하기 어렵습니다. Zhan 논문에서는 하이퍼파라미터를 동일하게 맞춘 상태에서 다양한 방법을 평가한 결과 , 다음과 같은 주요 시사점을 도출했습니다.
예측 불확실성 기반 방법: 일부 데이터세트에서는 단순 무작위 데이터 선택(random smapling)보다 낮은 정확도를 보일 수 있습니다.
다양성 기반 방법: 예측 불확실성을 고려하는 방법과 비교했을 때, 성능 개선 효과가 뚜렷하지 않은 경우가 많습니다. 이는 다양성 기반 방법이 효과적인 특징 추출(feature representation)을 전제로 하고 있으며 k-means와 같은 클러스터링 수행 비용까지 고려하면 그 이점이 제한될 수 있음을 시사합니다.
두가지 접근법을 통합한 방법(이 BADGE): BADGE는 많은 경우에서 단순 무작위 선택ㅂ보다 더 나은 성능 개선을 보여주고 있습니다.
이와같이, 각 방법은 특정 조건이나 데이터세트에 따라 장단점이 있으므로, 실무에서는 주어진 문제의 특성과 데이터환경을 고려하여 적절한 방법을 선택하는 것이 중요합니다.
이미지 인식 분야에서는 오랜 기간 '제한된 데이터로 어떻게 모델을 학습시킬 것인가'에 대한 연구가 활발히 진행되어 왔습니다. 반면에 최근에는 데이터양의 증가에 따라 '대량의 데이터 중 모델 학습에 유의미한 데이터를 어떻게 선택할 것인가'라는 주제도 중요한 이슈로 부각되고 있습니다.
이번에는 이 2가지 관점을 모두 고려하여 모델 정확도를 향상시키기 위한 데이터 디자인 접근법들을 소개했습니다. 효과적인 데이터 디자인을 위해서는 데이터의 다양성이나 스케일링 법칙과 같이 여러 태스크에서 공통적으로 요구되는 조건뿐만 아니라, 각 태스크별 특성과 모델의 동작을 깊이 이해하는 것이 필수적입니다. 따라서 데이터 디자인 방법은 케이스바이케이스로 접근해야 한다고 할 수 있습니다.
이 분야는 지속적으로 발전하고 있으며, 매일 다양한 새로운 기법들이 제안되고 있습니다. 다만, 기존 벤치마크에서 우수한 성능을 보인 방법이 반드시 모든 태스크에서 효과적이라고 볼 수는 없으므로, '어떤 조건이나 전제하에서 해당 방법이 효과를 발휘할 수 있는지'를 항상 고려하여 기법들을 평가하는 것이 바람직합니다.
©2024-2025 GAEBAL AI, Hand-crafted & made with Damon Jaewoo Kim.
GAEBAL AI 개발사: https://gaebalai.com
AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5