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

Few-Shot Learning

퓨샷 학습(FSL)은 메트릭 학습, 메타 학습, 미세 조정 또는 프롬프팅을 통해 소수의 레이블 예시만으로 새로운 클래스를 인식합니다.

Few-shot learning(FSL)은 새로운 작업, 대개 새로운 클래스를 인식하는 작업을 클래스당 소수의 레이블 지정 예제(일반적으로 1~10개)만으로 학습하는 문제입니다. 표준 지도 학습에는 클래스당 수백 또는 수천 개의 레이블 지정 이미지가 필요합니다. 이러한 이미지는 희귀 결함, 희귀 질환 또는 출시된 지 하루밖에 안 된 제품의 경우 수집 비용이 높거나 수집 자체가 불가능할 수 있습니다. Few-shot 방법은 사전 지식을 활용해 이 간극을 메웁니다. 관련 데이터로 사전 학습된 모델은 새로운 클래스를 잘 구분하는 feature를 이미 생성하므로, 소수의 예제만으로도 클래스를 정의할 수 있습니다. 같은 개념은 언어 모델에도 적용됩니다. 프롬프트에 몇 가지 풀이 예제를 넣으면 학습 없이도 모델을 새로운 작업으로 유도할 수 있습니다.

N-way K-shot 작업#

Few-shot 문제는 N-way K-shot으로 표현합니다. N개의 새로운 클래스마다 레이블이 지정된 예제가 K개씩 주어집니다. 이러한 예제는 support set을 구성하며, 모델은 동일한 N개 클래스에 속하는 별도의 query set 예제에 얼마나 정확하게 레이블을 지정하는지 평가받습니다. 따라서 5-way 1-shot 작업에서는 모델이 한 번도 보지 못한 다섯 클래스의 예제를 하나씩 받고, 새로운 이미지를 해당 클래스 중 하나로 분류해야 합니다. One-shot learning은 K = 1인 경우이며, zero-shot learning은 예제 대신 텍스트나 속성으로 클래스를 설명하는 K = 0인 경우입니다. 연구 벤치마크에서는 학습에서 제외된 클래스를 대상으로 평가합니다. 예를 들어 Omniglot에는 50개 문자 체계의 손글씨 문자 1,623개가 있고, miniImageNet에는 ImageNet의 클래스 100개가 있으며 각 클래스에는 이미지가 600개씩 있습니다.

Few-Shot Learning 접근법#

Metric learning 방법은 이미지를 임베딩으로 매핑하도록 네트워크를 학습합니다. 동일 클래스의 예제는 서로 가까이 위치하므로 query에는 가장 유사한 support 예제의 레이블을 지정합니다. Prototypical network는 클래스별 support 임베딩의 평균을 prototype으로 계산하고 query를 가장 가까운 prototype에 할당합니다. 새로운 클래스가 추가되어도 재학습이 필요하지 않습니다.

다른 접근법은 모델의 가중치나 입력을 조정합니다:

  • Meta-learning: 기본 클래스에서 만든 수천 개의 작은 모의 작업으로 학습하여 모델이 적응하는 방법을 배우도록 합니다. 모델 비종속 메타 학습(MAML)은 새로운 작업의 support set에서 몇 차례 gradient step만 수행해도 좋은 가중치를 얻을 수 있는 초기화를 학습합니다.
  • 전이 및 미세 조정: 대규모 데이터셋에서 백본을 사전 학습한 뒤, 서포트 세트에서 새로운 분류 헤드만 학습하거나 전체 네트워크를 낮은 학습률로 학습합니다. 이 간단한 기준선은 표준 퓨샷 벤치마크에서 전용 메타 학습 방법과 경쟁력 있는 성능을 냅니다. 대규모 사전 학습 모델의 선형 프로빙도 여전히 강력한 퓨샷 기준선입니다.
  • Foundation model에 프롬프트 적용: 대규모 언어 모델은 가중치를 업데이트하지 않고 프롬프트에 입력된 소수의 예제로 새로운 작업을 수행합니다. GPT-3는 20개가 넘는 언어 벤치마크에서 이러한 능력을 입증했습니다. 비전 모델도 같은 방식으로 예제 box와 같은 시각 프롬프트를 사용합니다.

시각 프롬프트를 사용한 Few-Shot 객체 탐지#

탐지에서는 few-shot 문제에 위치 파악이 추가됩니다. 모델은 학습하지 않은 클래스의 모든 인스턴스를 찾아야 합니다. YOLO26은 YOLOE-26에도 적용됩니다. 이 개방 어휘 변형의 시각 프롬프트 인코더는 예제 box를 클래스 임베딩으로 변환한 뒤, 학습 없이 새로운 이미지에서 일치하는 객체를 탐지하고 분할합니다. 클래스 ID가 같은 box는 하나의 프롬프트로 병합되므로, 한 클래스의 예제 두 개는 2-shot support set으로 작동합니다. 이 예제에서는 한 이미지의 두 사람을 support set으로 사용해 다른 이미지를 검색합니다:

import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor

# 시각 프롬프트를 입력으로 받는 YOLOE-26 체크포인트
model = YOLOE("yoloe-26s-seg.pt")

# Support set: 참조 이미지에서 한 클래스(사람)에 속하는 예제 box 두 개
boxes = np.array([[221.52, 405.8, 344.98, 857.54], [669.47, 392.19, 809.72, 877.04]])
support = {"bboxes": boxes, "cls": np.array([0, 0])}

# Query: 학습 없이 다른 이미지에서 예제와 같은 객체 찾기
results = model.predict(
    "https://ultralytics.com/images/zidane.jpg",
    refer_image="https://ultralytics.com/images/bus.jpg",
    visual_prompts=support,
    predictor=YOLOEVPSegPredictor,
)
result = results[0]
result.save(filename="few_shot_result.jpg")

시각 프롬프트는 예제에 이름을 붙이지 않고 그룹화하므로, 결과의 일치 항목에는 클래스 ID마다 하나씩 object0, object1 등의 레이블이 지정됩니다.

실제 적용 사례#

  • 제조 검사: 최근 도입된 부품의 균열처럼 새로운 결함 유형은 검사자가 표시를 원하기 전까지 몇 번만 나타날 수 있습니다. few-shot 탐지 또는 이상 탐지를 사용하면 대규모 새 데이터셋 없이도 해당 결함을 추가할 수 있습니다.
  • 의료 영상: 희귀 질환은 주석이 달린 스캔이 부족하므로, 의료 영상 분석 모델은 소수의 전문가 레이블 사례를 바탕으로 사전 학습된 feature를 새로운 소견에 맞게 조정합니다.
  • 소매 및 로보틱스: 매장은 새로운 제품을 추가하고 로봇은 계속해서 새로운 객체를 마주합니다. 참조 사진 몇 장만 있으면 시스템이 매대나 그리퍼에 있는 각 객체를 인식할 수 있습니다.
  • 전이 학습: 한 작업에서 얻은 지식을 다른 작업에 재사용하는 더 포괄적인 방법입니다. Few-shot learning은 데이터가 극히 적은 경우이며, 전이 학습은 이를 해결하는 가장 일반적인 도구입니다.
  • Meta-learning: 학습 방법을 학습하는 훈련 전략이며, few-shot 문제를 해결하는 여러 방법 중 하나입니다. Few-shot learning은 문제 설정 자체를 가리킵니다.
  • Few-shot 프롬프팅: 추론 시 입력에 포함된 예제를 사용해 동결된 모델을 조정하는 방식입니다. 반면 few-shot fine-tuning은 동일한 소수의 예제로 모델 가중치를 변경합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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

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