Online Learning
온라인 학습이 점진적인 모델 업데이트를 지원하고, 개념 드리프트에 적응하며, Ultralytics YOLO26을 사용한 더 안전한 컴퓨터 비전 워크플로를 지원하는 방식을 알아보세요.
온라인 학습은 고정된 데이터셋으로 한 번 학습하는 대신 새로운 예제가 들어올 때마다 모델을 점진적으로 업데이트하는 머신 러닝 접근 방식입니다. 이 용어는 인터넷 기반 교육이 아니라 스트리밍 또는 순차적 모델 업데이트를 의미합니다. 온라인 학습기는 scikit-learn의 온라인 학습 정의에 설명된 것처럼 예측을 수행하고, 피드백을 받은 후 각 샘플 또는 소규모 배치마다 업데이트할 수 있습니다. 따라서 데이터가 연속적으로 발생하거나 메모리에 저장하기에 너무 크거나 시간에 따라 변화하는 경우에 유용합니다. (scikit-learn.org)
온라인 학습 작동 방식#
일반적인 주기는 다음과 같습니다:
- 모델이 새로운 입력을 받아 예측을 수행합니다.
- 레이블 또는 피드백 신호를 사용할 수 있게 됩니다.
- 손실을 계산하고 모델 파라미터를 업데이트합니다.
- 다음 예제를 처리하기 전에 성능을 측정합니다.
스트리밍 머신 러닝을 위한 River와 같은 라이브러리는 predict_one() 및 learn_one()와 같은 메서드를 사용하여 예측 후 학습 워크플로를 구현합니다. 신경망도 반복적인 PyTorch 옵티마이저 단계를 통해 동일한 원칙을 사용할 수 있지만, 딥 모델은 일반적으로 계산 효율성을 위해 소규모 배치 단위로 업데이트합니다. (docs.pytorch.org)
온라인 학습은 입력과 출력 간의 관계가 변하는 개념 드리프트 상황에서 특히 유용합니다. 예를 들어 계절별 교통 패턴, 변화하는 고객 행동, 새로운 제조 결함 또는 서로 다른 조명 환경에 설치된 카메라 등이 있습니다. 2024년 반복적 개념 드리프트에 관한 조사는 날씨와 시간대처럼 반복되는 조건에서 시스템이 이전에 접했던 분포를 인식하고 이에 적응해야 한다는 점을 강조합니다. (ijcai.org)
컴퓨터 비전에서의 온라인 학습#
Ultralytics YOLO는 추론 중 프레임마다 제어되지 않은 가중치 업데이트를 수행하지 않습니다. 대신 팀은 최근 레이블 데이터와 이전 예제를 혼합한 주기적인 마이크로 배치 파인튜닝을 통해 안전한 온라인 학습을 근사할 수 있습니다:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=3, imgsz=640, lr0=0.001)이 실행 가능한 예제는 Ultralytics YOLO26과 문서화된 YOLO 학습 모드를 사용하여 낮은 학습률로 소규모 업데이트를 수행합니다. 프로덕션 환경에서는 coco8.yaml를 최근 샘플과 리플레이된 샘플이 포함된 버전 관리 데이터셋으로 대체합니다.
구체적인 적용 사례는 다음과 같습니다:
- 제조 시각 검사: 새로운 제품, 소재 또는 결함 유형이 나타나면 모델을 업데이트합니다.
- 자율주행 차량 인식: 탐지 시스템이 변화하는 도로, 날씨, 카메라 환경 및 객체 분포에 적응합니다.
- 소매 재고 관리: 완전한 재학습 없이 모델이 새로운 포장과 계절 상품을 학습합니다.
관련 개념 및 주요 차이점#
연속 학습은 더 광범위한 개념으로, 이전 지식을 유지하면서 여러 작업 또는 도메인에 걸쳐 학습하는 것을 목표로 합니다. 온라인 학습은 업데이트가 언제, 얼마나 자주 발생하는지를 설명합니다. 반면 능동 학습은 사람이 레이블을 지정할 가장 정보량이 많은 예제를 선택하며, 전이 학습은 사전 학습된 지식을 대상 작업에 맞게 조정합니다.
공통적으로 직면하는 주요 과제는 치명적 망각입니다. 최근 연구로는 2024년의 BECoTTA 연속 테스트 시점 적응, 2025년의 순위화 엔트로피 최소화, 2026년의 PLASTIC 안정성-가소성 방법이 있으며, 이러한 연구는 모델 붕괴나 이전 기능의 손실 없이 효율적으로 적응하는 방법을 탐구합니다. (proceedings.mlr.press)
현재의 모범 사례#
- 데이터 드리프트 모니터링: 입력 분포, 신뢰도, 정확도 및 클래스 빈도를 추적합니다.
- 리플레이 데이터 보존: 망각을 줄이기 위해 대표적인 과거 샘플을 새로운 데이터와 혼합합니다.
- 배포 전 검증: 업데이트된 모델을 안정적인 홀드아웃 테스트 세트 및 최근 데이터 테스트 세트와 비교합니다.
- 전체 워크플로 버전 관리: Ultralytics Platform을 사용하여 어노테이션, 데이터셋, 학습, 배포 및 모니터링을 관리합니다.
- 레이블이 지정되지 않은 드리프트 탐지: 레이블이 늦게 도착하는 경우 정확도 측정을 기다리는 대신 특성 분포와 예측 동작을 모니터링합니다. (dfki.de)






