앙상블 학습이 정확도를 높이고 과적합을 줄이는 방법을 알아보세요. 우수한 컴퓨터 비전 결과를 위해 Ultralytics 같은 여러 모델을 결합하는 방법을 배우세요.
앙상블 학습은 기계 학습(ML) 에서 여러 개의 독립적인 모델(흔히 "약한 학습기"라 함)을 결합하여 단일 예측 결과를 생성하는 강력한 전략입니다. 기본 전제는 여러 모델의 집단이 단독으로 작동하는 어떤 단일 모델보다도 높은 정확도와 우수한 일반화 능력을 달성할 수 있다는 것입니다. 다양한 알고리즘의 예측을 통합함으로써 앙상블 방법은 훈련 데이터에 대한 과적합 위험을 효과적으로 줄이고, 무작위 오류를 완화하며, 전체 시스템 안정성을 향상시킵니다. 이 접근법은 중대한 결정을 내릴 때 한 개인의 의견에 의존하기보다 전문가 패널의 자문을 구하는 것과 유사합니다.
앙상블 기법의 효과성은 편향-분산 상충관계를 조절하는 능력에 있다. 개별 모델은 높은 분산(잡음에 대한 민감도)이나 높은 편향(과도한 단순화)으로 인해 문제가 발생할 수 있다. 앙상블은 다음과 같은 특정 기법을 통해 이러한 문제를 완화한다:
컴퓨터 비전(CV) 분야에서는 대회 및 중요한 안전 응용 분야에서 성능을 극대화하기 위해 앙상블 기법이 자주 사용됩니다. 객체 탐지의 경우, 이는 동일한 이미지에 여러 모델(예: 다양한 버전의 YOLO26)을 실행하는 것을 수반하는 경우가 많습니다. 그 결과 생성된 바운딩 박스는 비최대 억제(NMS) 나 가중치 박스 융합(WBF) 같은 기법을 통해 합쳐져 가장 가능성이 높은 객체 위치를 도출합니다.
예측 신뢰성이 최우선인 산업 분야에서는 앙상블 기법이 보편적으로 사용된다.
여러 훈련된 모델을 로드하고 동일한 입력에 대한 예측을 생성함으로써 기본적인 추론 앙상블을 시뮬레이션할 수 있습니다. Ultralytics 사용하면 이러한 변형 모델들을 쉽게 훈련할 수 있습니다. 다음 예시는 서로 다른 두 모델을 로드하는 방법을 보여줍니다. Ultralytics YOLO 모델(YOLO26n 및 YOLO26s)을 로드하여 이미지의 탐지 결과를 검증하는 방법을 보여줍니다.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")
앙상블 학습과 데이터 증강을 구분하는 것이 중요하다.
데이터 증강은 단일 모델의 학습 성능을 향상시키는 반면, 앙상블 학습은 여러 모델이 서로의 출력을 검증하도록 돕습니다. 이러한 두 전략은 인스턴스 분할 및 자세 추정과 같은 작업에서 최첨단 결과를 달성하기 위해 종종 함께 사용됩니다.