능동 학습(Active Learning)은 지도 학습의 한 형태로, 데이터는 충분하지만 클래스 레이블이 부족하거나 획득 비용이 많이 드는 상황에서 특히 유용합니다. 이 방식에서 학습 알고리즘은 사용자(예: 사람 오라클)에게 레이블을 능동적으로 질의할 수 있다는 점에서 '능동적'입니다. 그 결과, 하나의 개념을 학습하는 데 필요한 데이터 튜플 수가 일반적인 지도 학습보다 훨씬 적습니다.
능동 학습의 목표
능동 학습은 비용을 최소화하면서, 가능한 한 적은 레이블된 예제만으로 높은 정확도를 달성하는 것을 목표로 합니다. 전체 데이터 집합을 D라고 할 때, 이를 대상으로 능동 학습을 수행하는 여러 가지 방법이 존재합니다.
능동 학습의 작동 원리
D 중에서 작은 부분집합만 클래스 레이블이 붙어 있다고 가정해 보겠습니다. 이 집합을 L이라 하고, D에 포함된 레이블 없는 데이터 집합을 U라고 합니다. U는 흔히 '레이블 없는 데이터 풀(pool)'이라고도 불립니다.
능동 학습기는 L을 초기 훈련 집합으로 삼아 시작합니다. 이후 질의 서비스(querying service)를 활용해 U에서 하나 이상의 데이터 샘플을 신중하게 선정하고, 오라클(예: 사람 어노테이터)에게 해당 샘플의 레이블을 요청합니다. 새로 레이블링된 샘플들은 L에 추가되며, 학습기는 이를 바탕으로 표준적인 지도 학습 방법을 수행합니다. 이 과정은 목표 정확도에 도달할 때까지 반복됩니다.
능동 학습 알고리즘은 일반적으로 학습 곡선(learning curve)을 통해 평가됩니다. 학습 곡선은 질의한 인스턴스 수에 따른 정확도 변화를 그래프로 나타낸 것으로, 적은 레이블로 얼마나 빠르게 성능이 향상되는지 보여줍니다.
질의할 데이터 선택 전략
능동 학습 연구의 핵심 중 하나는 어떤 데이터 튜플을 질의할지 선택하는 방법이며, 이를 위해 다양한 프레임워크가 제안되었습니다.
불확실성 샘플링(Uncertainty Sampling)
가장 널리 사용되는 방식으로, 능동 학습기가 스스로 레이블을 판단하기 가장 어려운, 즉 불확실성이 가장 큰 튜플을 질의 대상으로 선택합니다.
버전 공간 축소 및 기대 오류 감소
또 다른 접근법은 버전 공간(version space), 즉 관찰된 훈련 튜플과 모순되지 않는 가설들의 부분집합을 점진적으로 줄여 나가는 방식입니다. 의사결정 이론적(decision-theoretic) 방법을 적용해 기대 오류 감소량(expected error reduction)을 계산할 수도 있습니다. 이 방식은 예측 오류의 총 횟수를 가장 크게 줄일 수 있는 튜플, 즉 U 전체에 대한 기대 엔트로피를 감소시키는 튜플을 선택합니다. 다만 이 방법은 계산 비용이 상대적으로 높다는 단점이 있습니다.
전이 학습(Transfer Learning)과의 연관성
전이 학습의 목표는 하나 이상의 소스(source) 작업에서 지식을 추출하여 이를 목표(target) 작업에 적용하는 것입니다. 전통적인 학습 방식에서는 새로운 분류 작업이 생길 때마다 사용 가능한 클래스 레이블 훈련 및 테스트 데이터에 기반해 새로운 분류기를 처음부터 구축해야 합니다.
반면 전이 학습 알고리즘은 새로운(목표) 작업을 위한 분류기를 만들 때 소스 작업에서 얻은 지식을 활용합니다. 덕분에 결과물인 분류기를 더 적은 훈련 데이터와 더 짧은 훈련 시간으로 개발할 수 있습니다. 전통적인 학습 알고리즘은 훈련 데이터와 테스트 데이터가 동일한 분포와 동일한 특징 공간에서 추출된다고 가정하기 때문에, 분포가 변경되면 모델을 처음부터 다시 구축해야 하는 한계가 있습니다.