Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Semi-Supervised Learning

준지도 학습은 레이블이 지정된 소수의 예제와 레이블이 없는 다수의 예제를 함께 학습해 레이블링 비용을 줄입니다. 의사 레이블링, 일관성 기법 및 코드를 다룹니다.

준지도 학습은 소량의 레이블된 예제와 훨씬 많은 레이블 없는 예제로 모델을 학습하며, 레이블만으로 가능한 수준보다 높은 정확도를 달성하기 위해 레이블 없는 데이터를 활용합니다. 모든 학습 예제에 레이블이 있는 지도 학습과 레이블이 전혀 없는 비지도 학습의 중간에 해당합니다. 카메라가 이미지를 저렴하게 수집하는 반면, 상자나 마스크를 그리거나 진단을 기록하는 데이터 라벨링에는 사람의 시간과 전문 지식이 필요한 경우가 많으므로 컴퓨터 비전에 적합한 방법입니다. FixMatch는 CIFAR-10 이미지 벤치마크에서 클래스당 레이블된 이미지 4장만으로 정확도 88.61%를 달성했고, Noisy Student는 레이블 없는 이미지 3억 장에 의사 레이블을 추가해 ImageNet top-1 정확도를 88.4%로 높였습니다.

준지도 학습 작동 방식#

레이블 없는 데이터는 데이터 분포의 형태를 보여 주므로 유용합니다. 이 방법들은 밀집된 영역에서 서로 가까운 예제는 같은 레이블을 공유한다고 가정합니다. 따라서 클래스 간 결정 경계는 예제가 거의 없는 희소한 영역을 지나야 합니다. 세 가지 방법 계열이 이 아이디어를 실제로 구현합니다.

자기 학습이라고도 하는 의사 레이블링은 레이블된 데이터로 모델을 학습하고, 레이블 없는 데이터에 모델을 적용한 뒤, 신뢰도 임계값을 초과한 예측을 추가 학습 데이터로 사용합니다. 교사-학생 방식에서는 학습된 모델이 데이터 풀에 레이블을 지정하는 교사가 되고, 교사와 같거나 더 큰 경우가 많은 학생 모델은 실제 레이블과 의사 레이블로 학습한 뒤 다음 교사가 됩니다:

일관성 정규화는 동일한 레이블 없는 이미지에 서로 다른 데이터 증강을 적용해도 모델이 같은 예측을 출력하도록 합니다. FixMatch는 두 가지 아이디어를 결합합니다. 모델이 확신하는 경우에만 약하게 증강된 뷰에 의사 레이블을 지정하고, 같은 이미지의 강하게 증강된 뷰에서 해당 레이블을 예측하도록 모델을 학습합니다. 그래프 기반 방법은 유사한 예제를 그래프로 연결하고 간선을 따라 알려진 레이블을 전파합니다. 이 모든 방법의 주요 위험은 확인 편향입니다. 잘못된 의사 레이블을 학습하면 이후 더욱 높은 확신으로 잘못 예측할 수 있습니다. 이를 막기 위해 높은 임계값과 강한 증강을 사용하거나, 학생 가중치의 이동 평균을 느리게 반영하는 교사를 사용합니다.

이 scikit-learn 예제는 숫자별 이미지 2장에만 레이블을 남기고, 해당 이미지 20장으로 학습한 지도 분류기와 레이블 없는 학습 이미지 1,237장도 사용하는 그래프 기반 방법인 레이블 전파를 비교합니다:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.semi_supervised import LabelSpreading

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X / 16, y, test_size=0.3, random_state=0, stratify=y)

# Keep the labels of only 2 training images per digit; -1 marks every other image as unlabeled
labeled = np.concatenate([np.flatnonzero(y_train == digit)[:2] for digit in range(10)])
y_partial = np.full_like(y_train, -1)
y_partial[labeled] = y_train[labeled]

# Supervised baseline trains on the 20 labeled images; label spreading also uses the unlabeled ones
supervised = LogisticRegression(max_iter=5000).fit(X_train[labeled], y_train[labeled])
semi_supervised = LabelSpreading(kernel="knn", n_neighbors=10).fit(X_train, y_partial)
print(f"Supervised, 20 labeled images: {supervised.score(X_test, y_test):.3f}")
print(f"Semi-supervised, 20 labeled + {(y_partial == -1).sum()} unlabeled: {semi_supervised.score(X_test, y_test):.3f}")

보류한 숫자 이미지 540장에서 지도 분류기는 0.800, 레이블 전파는 0.919의 점수를 기록합니다. 두 방법은 동일한 레이블 20개를 사용하지만, 레이블 없는 이미지가 각 레이블 예제를 같은 숫자의 유사한 이미지 다수에 연결하기 때문입니다.

컴퓨터 비전에서의 준지도 학습#

교사-학생 의사 레이블링은 박스, 인스턴스 분할 마스크, 깊이 맵처럼 레이블 작성 비용이 가장 높은 작업까지 확장할 수 있습니다. Unbiased Teacher와 같은 준지도 객체 탐지 방법은 교사 모델의 신뢰도 높은 의사 박스를 유지합니다. Depth Anything은 교사 모델이 자동으로 레이블을 지정한 약 6,200만 개의 레이블 없는 이미지로 단안 깊이 추정 모델을 학습했습니다. Ultralytics YOLO26 깊이 모델도 같은 방식으로 사전 학습되었습니다. 깊이 정답 레이블이 없는 ImageNet 학습 이미지 1,281,167개에 Depth Anything 3 교사 모델이 의사 깊이 맵을 생성했습니다. 이러한 이미지가 실제 정답 깊이 데이터셋도 포함하는 219만 개 이미지 혼합 데이터의 약 58%를 차지했습니다. 비전 언어 모델도 클래스 이름만으로 객체에 레이블을 지정하는 교사 역할을 할 수 있으며, VLM 리더보드는 실제 탐지 데이터셋에 얼마나 정확하게 어노테이션을 하는지 비교합니다. 탐지에서는 대형 YOLO26 모델이 교사 역할을 맡아 신뢰도 높은 예측 결과를 YOLO 형식 레이블 파일로 기록할 수 있습니다. 이는 간단한 자동 레이블링 방식입니다.

from ultralytics import YOLO
from ultralytics.utils import ASSETS

# 사전 학습된 대형 YOLO26 모델을 교사로 사용합니다
teacher = YOLO("yolo26x.pt")

# 레이블이 없는 이미지 폴더에 레이블을 지정합니다. 신뢰도가 0.5보다 높은 감지만 의사 레이블로 사용합니다
# save_txt=True는 이미지마다 YOLO 형식의 .txt 레이블 파일 하나를 저장하여 학생 모델 학습에 바로 사용할 수 있게 합니다
results = teacher.predict(source=ASSETS, conf=0.5, save_txt=True)
  • 능동 학습: 정보량이 가장 많은 레이블 없는 이미지를 선택해 사람 주석 작업자에게 전달합니다. 준지도 학습은 데이터 풀에 자동으로 레이블을 지정하며, 많은 라벨링 파이프라인이 두 방법을 결합합니다.
  • 자기 지도 학습: 데이터에서 목표를 도출해 레이블 없는 데이터만으로 사전 학습하고, 이후 미세 조정에만 레이블을 사용합니다. 준지도 학습은 하나의 학습 과정에서 레이블이 있는 데이터와 없는 데이터를 함께 사용합니다.
  • 전이 학습: 다른 데이터셋으로 사전 학습한 모델에서 시작합니다. 사전 학습 모델이 더 나은 첫 교사가 되므로 준지도 학습과 결합할 수 있습니다.
  • 지식 증류: 일반적으로 모델을 압축하기 위해 학생이 교사의 출력을 모방하도록 학습합니다. 의사 레이블링은 동일한 교사-학생 구조를 사용해 학습 데이터를 추가합니다. Noisy Student는 학습 중 노이즈를 추가하여 교사와 같거나 더 큰 학생을 학습했으며, 이전 최고 ImageNet 모델보다 2.0% 높은 성능을 기록했습니다. 이전 최고 모델은 약한 레이블이 붙은 Instagram 이미지 35억 장으로 사전 학습되었습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요