One-Shot Learning
AI의 원샷 학습을 살펴보세요. 효율적인 컴퓨터 비전을 위해 단일 이미지를 사용하여 Ultralytics YOLO26 및 샴 네트워크로 객체를 분류하는 방법을 알아보세요.
원샷 학습은 단일 학습 예제에서 객체 범주에 관한 정보를 학습하도록 설계된 머신 러닝 (ML)의 특수한 분류 기법입니다. 효과적으로 일반화하려면 수천 개의 주석 이미지가 포함된 방대한 데이터셋이 필요한 기존 딥 러닝 (DL) 알고리즘과 달리, 원샷 학습은 새로운 개념을 즉시 파악하는 인간의 인지 능력을 모방합니다. 예를 들어 사람은 특정한 희귀 조류를 단 한 번 본 후에도 대개 알아볼 수 있으며, 이 방법론은 인공지능 (AI) 시스템에서 이러한 효율성을 재현하려고 합니다. 원샷 학습은 데이터 라벨링에 비용이 많이 들거나 데이터가 부족하거나, 전체 모델을 재학습하지 않고도 새로운 범주를 동적으로 추가해야 하는 상황에서 특히 유용합니다.
개념의 작동 원리#
원샷 학습의 핵심 원리는 표준 분류에서 유사성 평가로 목표를 전환하는 것입니다. 특정 클래스 레이블(예: "개" 또는 "고양이")을 출력하도록 신경망 (NN)을 학습하는 대신, 모델은 거리 함수를 학습합니다. 이를 위해 일반적으로 사용하는 아키텍처가 샴 신경망이며, 동일한 모델 가중치를 공유하는 두 개의 동일한 하위 네트워크로 구성됩니다.
작동 중 네트워크는 특징 추출을 수행하여 입력 이미지를 임베딩이라고 하는 압축된 수치 벡터로 변환합니다. 그런 다음 시스템은 새로운 쿼리 이미지의 임베딩을 단일 참조 "샷"의 임베딩과 비교합니다. 유클리드 거리 또는 코사인 유사도를 사용해 계산하는 경우가 많은 수학적 거리가 특정 임계값보다 작으면 두 이미지가 동일한 클래스에 속하는 것으로 판단합니다. 이를 통해 모델은 학습된 특징 공간에서의 근접성을 기반으로 신원을 확인하거나 객체를 분류할 수 있습니다.
다음 Python 코드는 ultralytics 패키지의 YOLO26 분류 모델을 사용하여 임베딩을 추출하고 유사도를 계산하는 방법을 보여줍니다.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")관련 패러다임 구분#
원샷 학습은 서로 다른 제약 조건을 통해 유사한 문제를 해결하므로, 다른 데이터 효율적 학습 기법과 구분하는 것이 중요합니다.
- 퓨샷 학습 (FSL): 원샷 학습을 포괄하는 더 넓은 범주의 학습입니다. FSL에서는 모델에 소수의 예제로 구성된 "지원 집합"이 제공되며, 일반적으로 클래스당 이미지가 2~5개입니다. 원샷 학습은 지원 집합의 크기가 정확히 1개인 극단적인 경우일 뿐입니다.
- 제로샷 학습 (ZSL): ZSL은 모델이 시각적으로 한 번도 본 적 없는 범주를 인식하는 문제를 다룹니다. ZSL은 참조 이미지 대신 자연어 처리 (NLP)를 통해 의미적 속성이나 텍스트 설명에 의존합니다(예: 시각적 특징을 "줄무늬 말"이라는 텍스트 설명과 연결하여 "얼룩말" 식별).
- 전이 학습: ImageNet과 같은 대규모 데이터베이스로 사전 학습된 모델을 가져와 새로운 작업에 맞게 미세 조정하는 방법입니다. 전이 학습은 원샷 학습에 사용되는 특징 추출기를 구동하지만, 표준 전이 학습에서는 일반적으로 과적합 없이 가중치를 효과적으로 업데이트하려면 하나보다 많은 예제가 필요합니다.
실제 적용 사례#
원샷 학습은 방대한 양의 학습 데이터를 수집하기 어려운 분야에서 새로운 기능을 가능하게 했습니다.
얼굴 인식 및 보안#
원샷 학습의 가장 보편적인 적용 분야는 생체 보안입니다. 스마트폰에서 Face ID를 설정하거나 직원 출입 시스템에 등록할 때, 장치는 사용자의 얼굴을 수학적으로 표현한 단일 표현을 캡처합니다. 일상적인 사용 중에는 얼굴 인식 시스템이 실시간 카메라 피드를 저장된 이 "원샷"과 비교하여 신원을 확인합니다. 이는 기본이 되는 FaceNet 연구에서 논의된 기법과 같은 강력한 임베딩 기법에 의존하며, 조명이나 각도의 변화가 유사성 매칭을 방해하지 않도록 합니다.
산업 품질 관리#
제조 분야의 AI에서는 결함이 드물고 일관되지 않기 때문에 "결함" 부품의 균형 잡힌 데이터셋을 만드는 일이 어렵습니다. 원샷 학습을 사용하면 컴퓨터 비전 (CV) 시스템이 단일 "완벽한" 기준 부품의 표현을 학습할 수 있습니다. 조립 라인에서 이 기준과 상당한 거리를 가진 임베딩을 생성하는 모든 항목은 이상 탐지 대상으로 표시됩니다. 이를 통해 수천 장의 파손 부품 이미지 없이도 즉각적인 품질 보증이 가능하며, Ultralytics Platform을 통해 관리하고 배포할 수 있습니다.
과제와 향후 전망#
강력하지만 원샷 학습은 노이즈에 취약합니다. 단일 참조 이미지가 흐리거나 가려져 있거나 대표성이 부족하면 해당 클래스를 인식하는 모델의 성능이 크게 저하됩니다. 연구자들은 모델의 안정성과 일반화 성능을 향상하기 위해 메타 러닝, 즉 "학습하는 방법을 학습하는 것"을 자주 활용합니다. 아키텍처가 발전함에 따라 YOLO26과 같은 최신 모델은 더욱 강력한 특징 추출기를 도입하고 있으며, 이를 통해 원샷 추론을 더 빠르고 정확하게 수행하고 더욱 적응력 있고 지능적인 엣지 AI 디바이스의 기반을 마련하고 있습니다.









