← AI 용어집

AI 용어집 · 심화 · 데이터·평가 · 전통 ML·추천·검색

Active Learning 능동 학습

Active Learning(능동 학습)은 모델이 스스로 '이건 헷갈린다'고 판단한 데이터를 골라 사람에게 정답 라벨을 달아 달라고 요청하는 학습 방식이다. 라벨링 비용을 줄이면서 성능을 효율적으로 올리는 것이 목적이다.

쉽게 말하면 문제집을 처음부터 끝까지 다 푸는 대신, 내가 모르는 문제만 골라 선생님께 질문하는 학생과 비슷하다. 다만 모델이 '모른다'고 판단하는 기준 자체가 틀릴 수 있다는 한계가 있다.

어떻게 작동하나

먼저 라벨이 달린 적은 양의 데이터로 모델을 학습시킨다. 그다음 라벨이 없는 많은 데이터에 모델을 돌려 보고, 예측을 가장 자신 없어 하는 것이나 기존 데이터와 많이 다른 것을 골라낸다. 골라낸 데이터에만 사람이 정답을 달아 주고, 이를 더해 모델을 다시 학습시킨다. 성능이 충분해질 때까지 이 과정을 되풀이한다.

Active Learning의 반복 고리

  1. 1. 모델 학습 라벨 달린 데이터로
  2. 2. 예측해 보기 라벨 없는 데이터에
  3. 3. 헷갈리는 것 고르기 자신 없거나 낯선 데이터
  4. 4. 사람이 라벨 달기 골라낸 것만
성능이 충분해질 때까지 네 단계를 계속 돈다.

왜 중요한가

의료 영상 판독이나 법률 문서 분류처럼 전문가만 정답을 달 수 있는 분야는 라벨 하나하나가 비싸다. 모든 데이터에 라벨을 달 수 없을 때, 모델에 가장 도움이 되는 데이터부터 라벨을 다는 것이 같은 예산으로 더 좋은 모델을 만드는 방법이다. 이미 잘 맞히는 쉬운 데이터에 라벨을 다는 수고도 아낄 수 있다.

알아 둘 점

모델이 헷갈려하는 데이터만 고르다 보면 이상치나 잡음 섞인 데이터가 많이 뽑힐 수 있다. 또 고른 데이터가 한쪽에 몰리면 전체 데이터를 고르게 대표하지 못해 치우침이 생긴다. 그래서 '헷갈림'과 '다양성'을 함께 따져 고르는 방법을 흔히 쓴다. 되풀이할 때마다 사람이 참여해야 하므로 라벨링 작업 흐름을 잘 갖춰 두는 것도 중요하다.

예시

데이터 라벨링 도구 중에는 모델이 먼저 예측을 해 두고, 확신이 낮은 항목만 작업자에게 보여 주는 기능을 갖춘 것이 많다. 예를 들어 제조 공장의 불량 검사 모델을 만들 때, 수많은 제품 사진 중 모델이 정상인지 불량인지 애매하게 판단한 사진만 검사원에게 확인받으면 적은 라벨 작업으로도 모델을 빠르게 개선할 수 있다. 실제 서비스에서 사용자가 고친 답변을 모아 다시 학습하는 데이터 플라이휠에도 같은 생각이 쓰인다.

함께 보면 좋은 용어