Yolo 비전 선전
선전
지금 참여하기
용어집

능동 학습

비용 효율적인 머신러닝 방법인 능동 학습을 통해 더 적은 레이블로 정확도를 높이는 방법을 알아보세요. 이것이 어떻게 AI 학습을 혁신하는지 알아봅니다!

Active Learning is a strategic approach in machine learning (ML) where the algorithm proactively selects the most informative data points for labeling, rather than passively accepting a pre-labeled dataset. In traditional supervised learning, models often require massive amounts of annotated data, which can be expensive and time-consuming to create. Active learning optimizes this process by identifying "uncertain" or "hard" examples—those near the decision boundary or where the model lacks confidence—and requesting human annotators to label only those specific instances. This iterative loop allows models to achieve high accuracy with significantly fewer labeled samples, making it highly efficient for projects with limited budgets or time constraints.

능동적 학습 주기의 작동 방식

능동적 학습의 핵심은 흔히 인간이 개입하는 피드백 루프입니다. 정적 데이터셋으로 한 번만 훈련하는 대신, 모델은 질의와 업데이트의 주기를 통해 진화합니다.

  1. 초기화: 프로세스는 초기의 모델(예: Ultralytics )을 훈련시키는 데 사용되는 소량의 라벨링된 훈련 데이터 세트로 시작됩니다.
  2. 쿼리 선택: 모델은 라벨이 없는 방대한 데이터 풀을 평가합니다. 쿼리 전략(가장 흔히 불확실성 샘플링)을 사용하여 예측 확신이 가장 낮은 이미지나 텍스트를 선택합니다.
  3. 주석: 이러한 우선순위가 높은 샘플들은 데이터 라벨링을 위해 인간 전문가( 능동 학습 문헌에서 흔히 "오라클"이라 불림)에게 전송됩니다.
  4. 재훈련: 새로 라벨링된 데이터가 훈련 세트에 추가되고 모델이 재훈련됩니다. 이렇게 업데이트된 모델은 이후 혼동되는 샘플의 다음 배치 선택에 더 적합해집니다.

실제 애플리케이션

데이터는 풍부하지만 라벨링에 전문 지식이나 높은 비용이 필요한 산업에서는 능동적 학습이 필수적이다.

  • 의료 영상 분석: 방사선학과 같은 분야에서는 라벨링 작업에 시간 가치가 매우 높은 전문의 자격을 갖춘 전문가들이 필요합니다. 의사에게 수천 장의 명확한 스캔 이미지에 주석을 달도록 요청하기보다는, 능동 학습 시스템이 초기 단계 종양이나 희귀 이상 사례와 같은 모호한 사례를 선별해낼 수 있습니다. 이를 통해 전문가는 모델의 진단 능력을 실질적으로 향상시키는 이미지에만 집중할 수 있습니다.
  • 자율주행 차량: 자율주행차는 페타바이트 규모의 영상 데이터를 생성합니다. 모든 프레임을 수동으로 라벨링하는 것은 불가능합니다. 능동 학습은 표준 객체 탐지 모델이 놓칠 수 있는 변장한 보행자나 폭설 속 주행 같은 극단적 사례를 엔지니어가 식별하는 데 도움을 줍니다. 이러한 희귀 시나리오에 우선순위를 두어 기업들은 반복적인 고속도로 영상에 자원을 낭비하지 않으면서 안전성을 향상시킵니다.

Python : 불확실한 예측 필터링

다음 예시는 Ultralytics 사용한 간단한 "불확실성 샘플링" 로직을 보여줍니다. 모델을 로드하고, 이미지에 대해 추론을 실행하며, 신뢰도 점수가 특정 임계값 미만인 이미지를 수동 검토를 위해 표시합니다.

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]

# Run inference
results = model(unlabeled_images)

# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
    # Check if any detection confidence is below the threshold
    if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
        print(f"Active Learning Query: {result.path} needs human labeling.")

관련 개념 구분하기

능동적 학습을 유사한 훈련 패러다임과 구분하는 것이 중요하다:

  • 반지도 학습: 두 방법 모두 라벨이 없는 데이터를 활용하지만, 반지도 학습은 모델의 높은 신뢰도 예측을 기반으로 데이터에 가짜 라벨을 자동으로 할당합니다. 반면 능동 학습은 낮은 신뢰도 예측에 대해 명시적으로 인간의 입력을 요청합니다.
  • 전이 학습: 이는 사전 훈련된 모델(예: ImageNet으로 훈련된 모델)을 활용하는 것을 포함합니다. ImageNet)을 새로운 작업에 맞게 조정하는 과정입니다. 능동 학습은 어떤 데이터에 레이블을 부여할지에 초점을 맞추는 반면, 전이 학습은 학습된 특징을 재사용하는 데 중점을 둡니다.
  • 강화 학습: 여기서 에이전트는 환경과 상호작용하며 보상을 받아 학습합니다. 능동 학습은 보상을 위한 일련의 행동을 최적화하기보다는 오라클로부터 정적 진실 라벨을 구하는 점에서 차이점이 있습니다.

MLOps와의 통합

능동적 학습을 효과적으로 구현하려면 강력한 머신 러닝 운영(MLOps) 파이프라인이 필요합니다. 데이터 버전 관리를 수행하고, 재훈련 작업을 트리거하며, 인간 사용자에게 주석 인터페이스를 제공하는 인프라가 필요합니다. Ultralytics 통합되는 도구를 사용하면 추론, 데이터 큐레이션, 훈련 간 원활한 전환이 가능합니다. 예를 들어, 맞춤형 훈련 스크립트를 활용하면 개발자가 새로운 액티브 러닝 데이터 배치를 YOLO 신속하게 통합할 수 있습니다.

샘플링 전략에 대한 추가 연구를 위해 연구자들은 종종 능동 학습 문헌의 포괄적인 설문조사를 참조합니다. 또한 모델 평가 지표를 이해하는 것은 능동 학습 루프가 실제로 성능을 향상시키고 있는지 검증하는 데 매우 중요합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기