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

Training Data

학습 데이터는 모델이 가중치를 학습하는 데 사용하는 예제 집합입니다. 검증 데이터와 테스트 데이터의 차이, 레이블 품질이 데이터 양만큼 중요한 이유를 살펴봅니다.

학습 데이터는 머신러닝 모델이 학습하는 예제 집합입니다. 학습 중 옵티마이저는 예제에서 발생하는 오차를 줄이기 위해 모델 가중치를 반복해서 조정하므로, 이 예제 집합이 모델이 학습할 수 있는 내용을 결정합니다. 지도 학습에서는 각 예제가 입력과 정답으로 구성됩니다. 예를 들어 거리 사진에서 자동차와 보행자마다 바운딩 박스와 클래스 이름을 지정할 수 있습니다. 자기 지도 학습과 비지도 학습은 레이블이 없는 원시 입력으로 학습합니다. 학습 세트는 동의어이며, 대부분의 프로젝트에서 사용 가능한 데이터의 가장 큰 분할을 가리킵니다. 보통 전체 데이터의 70~80%를 차지합니다.

모델이 학습 데이터를 사용하는 방식#

모델은 학습 데이터를 배치 단위로 처리합니다. 각 배치에서 예측을 수행하고, 손실 함수가 예측과 레이블 간의 차이를 측정합니다. 역전파는 각 가중치가 오차에 기여한 정도를 계산하고, 옵티마이저는 오차를 줄이도록 가중치를 조금씩 조정합니다. 학습 세트 전체를 한 번 처리하는 과정을 에포크라고 하며, 학습은 보통 수십에서 수백 에포크 동안 진행됩니다.

모델은 이 특정 예제들에 맞춰 최적화되므로, 해당 예제에서의 점수는 새로운 데이터에서의 성능을 과대평가합니다. 이를 보정하기 위해 학습에 사용하지 않는 두 가지 데이터 분할을 활용합니다. 개발 중 검증 데이터로 점수를 산출해 하이퍼파라미터와 체크포인트를 선택하고, 마지막에 한 번 테스트 데이터로 점수를 산출해 실제 환경에서의 성능을 추정합니다. 학습 점수와 검증 점수 간의 큰 차이는 모델이 일반화 가능한 패턴을 학습하는 대신 학습 예제를 암기하는 과적합의 신호입니다. 두 점수가 모두 낮으면 과소적합을 의미합니다. 분할 간에 이미지를 공유해서는 안 됩니다. 동일한 동영상에서 추출한 거의 중복된 프레임이나 동일한 환자의 스캔 자료가 분할 양쪽에 포함되면 데이터 누출이 발생해 모든 홀드아웃 점수가 부풀려집니다.

양과 품질, 범위#

학습 세트의 세 가지 특성이 모델의 일반화 성능을 결정합니다.

  • 양: 예제가 많을수록 도움이 되지만 효과는 점차 줄어듭니다. 전이 학습으로 사전 학습 모델을 활용하면 새 작업에 필요한 레이블 예제 수를 줄일 수 있습니다.
  • 품질: 레이블이 잘못되거나 누락되거나 일관성 없이 그려질 때마다 모델은 잘못된 내용을 학습합니다. 일관된 데이터 라벨링 지침은 레이블 수만큼 중요합니다.
  • 포괄성: 예제는 조명, 날씨, 카메라 각도, 배경, 희귀 클래스 등 모델이 마주할 조건을 포괄해야 합니다. 주간 이미지로만 학습한 감지기는 야간에 실패합니다. 얼굴 데이터 세트에서 특정 피부색이 빠진 경우처럼 격차가 인구통계학적 특성을 따라 나타나면 데이터 세트 편향이 됩니다.

아래 scikit-learn 스크립트는 함께 제공되는 손글씨 숫자 데이터셋으로 동일한 분류기를 서로 다른 학습 세트에서 학습하고, 고정된 테스트 분할에서 각 모델의 점수를 산출합니다.

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

# 1,797 labeled 8x8 digit images; hold out 30% to score every model
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)

# Reassign 30% of the training labels at random to simulate careless labeling
rng = np.random.default_rng(0)
y_noisy = y_train.copy()
flip = rng.random(len(y_train)) < 0.3
y_noisy[flip] = rng.integers(0, 10, flip.sum())

# Train the same model on three different training sets
for name, n, labels in [("50 clean", 50, y_train), ("1,257 clean", 1257, y_train), ("1,257 noisy", 1257, y_noisy)]:
    model = LogisticRegression(max_iter=5000).fit(X_train[:n], labels[:n])
    print(f"{name}: test accuracy {model.score(X_test, y_test):.3f}")

정제된 학습 세트를 이미지 50개에서 1,257개로 늘리면 테스트 정확도가 0.863에서 0.961로 높아집니다. 1,257개 레이블 중 315개(25%)가 잘못된 노이즈 데이터 실험의 점수는 0.861로, 정제된 이미지 50개로 학습한 모델보다 나아지지 않습니다.

학습 세트 구축#

팀은 공개 데이터셋, 자체 카메라와 로그, 그리고 점점 더 많이 활용되는 합성 데이터로 학습 데이터를 구성합니다. 공개 벤치마크는 좋은 출발점입니다. COCO 데이터셋은 감지, 분할, 캡셔닝 레이블이 지정된 학습 이미지 118,287개를 제공합니다. 원시 데이터 모음은 이후 데이터 정제를 거쳐 중복 파일, 손상된 파일, 대상과 무관한 이미지를 제거하고 라벨링 및 검토를 진행합니다. 데이터 증강은 뒤집기, 자르기, 색상 변경, 모자이크를 통해 학습 중 데이터의 다양성을 높입니다. 하지만 수집된 데이터를 재조합하는 것에 불과하므로 누락된 조건은 여전히 직접 촬영해야 합니다.

Ultralytics YOLO는 데이터셋 YAML 파일의 train 경로에서 학습 데이터를 읽고, 각 이미지를 객체당 한 행이 있는 .txt 레이블 파일과 연결합니다. 각 행에는 클래스 인덱스와 이미지 크기에 맞춰 정규화한 박스 중심, 너비, 높이가 포함됩니다. 모든 분할은 동일한 YOLO 데이터셋 형식을 사용하므로, 분할의 균형을 조정하려면 이미지와 레이블 파일을 함께 다른 폴더로 옮겨야 합니다.

from ultralytics import YOLO

# 사전 학습된 YOLO26 nano 모델을 불러옵니다
model = YOLO("yolo26n.pt")

# coco8.yaml은 학습 이미지(train: images/train)와 검증 이미지(val: images/val)를 나열합니다.
results = model.train(data="coco8.yaml", epochs=5)

YOLO26 모델은 학습 파이프라인이 처음부터 끝까지 실행되는지 확인하기 위한 소규모 샘플인 COCO8의 학습 이미지 4개로 미세 조정됩니다. 이 샘플은 학습 파이프라인을 점검하는 데 사용됩니다.

  • 검증 데이터: 학습을 언제 중단할지 등 개발 중 의사결정을 돕는 홀드아웃 분할입니다. 모델은 이 데이터를 사용해 가중치를 업데이트하지 않습니다.
  • 테스트 데이터: 마지막에 한 번 점수를 산출하는 홀드아웃 분할로, 새로운 데이터에서의 성능을 편향 없이 추정할 수 있습니다.
  • 정답: 예제에 연결된 올바른 답입니다. 지도 학습에서는 학습 데이터에 정답이 포함되지만, 점수를 산출하려면 모든 분할에 정답이 있어야 합니다.
  • 골든 데이터셋: 평가 및 라벨러 품질 검사를 위한 신뢰할 수 있는 기준으로 사용되는, 전문가가 검수한 소규모 데이터셋입니다.
  • 벤치마크 데이터셋: 모델을 비교하는 데 사용되는, 고정된 분할을 갖춘 공개 데이터셋입니다. 학습 분할은 사전 학습 데이터로도 사용되는 경우가 많고, 보류된 분할은 점수판 역할을 합니다. 예를 들어 많은 객체 탐지 논문은 5,000개 이미지로 구성된 COCO val2017 분할에서 mAP를 보고합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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의 미래를 만들어 가세요!

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