One-Shot Learning
AI의 원샷 학습을 탐구해 보십시오. 효율적인 컴퓨터 비전을 위해 Ultralytics YOLO26과 샴 네트워크를 사용하여 단일 이미지에서 객체를 분류하는 방법을 배우십시오.
원샷 러닝(One-Shot Learning)은 단 하나의 학습 예제로부터 객체 카테고리에 대한 정보를 학습하도록 설계된 머신 러닝 (ML)의 특수한 분류 기법입니다. 효과적으로 일반화하기 위해 수천 장의 주석이 달린 이미지가 포함된 방대한 데이터셋을 필요로 하는 전통적인 딥 러닝 (DL) 알고리즘과 달리, 원샷 러닝은 새로운 개념을 즉시 파악하는 인간의 인지 능력을 모방합니다. 예를 들어, 사람은 보통 특정한 이국적인 새를 단 한 번 본 후에도 인식할 수 있으며, 이 방법론은 인공지능 (AI) 시스템에서 그러한 효율성을 재현하려고 시도합니다. 이는 데이터 라벨링 비용이 많이 들거나, 데이터가 부족하거나, 전체 모델을 다시 학습시키지 않고 새로운 카테고리를 동적으로 추가해야 하는 시나리오에서 특히 유용합니다.
이 개념의 이면 메커니즘#
원샷 러닝의 핵심 원리는 표준 분류에서 유사도 평가로 목표를 전환하는 것을 포함합니다. 신경망 (NN)이 특정 클래스 라벨(예: "개" 또는 "고양이")을 출력하도록 학습시키는 대신, 모델은 거리 함수를 학습합니다. 이를 위해 사용되는 일반적인 아키텍처는 동일한 모델 가중치를 공유하는 두 개의 동일한 서브 네트워크로 구성된 시amese 신경망입니다.
작동 중에 네트워크는 특징 추출을 수행하여 입력 이미지를 임베딩으로 알려진 압축된 수치 벡터로 변환합니다. 그런 다음 시스템은 새로운 쿼리 이미지의 임베딩을 단일 참조 "샷"의 임베딩과 비교합니다. 유클리드 거리 또는 코사인 유사도를 사용하여 자주 계산되는 수학적 거리가 특정 임계값 미만인 경우, 두 이미지는 동일한 클래스에 속하는 것으로 결정됩니다. 이를 통해 모델은 학습된 특징 공간에서의 근접성을 바탕으로 신원을 확인하거나 객체를 분류할 수 있습니다.
ultralytics 패키지의 YOLO26 분류 모델을 사용하여 임베딩을 추출하고 유사도를 계산하는 방법은 다음 Python 코드에 나와 있습니다.
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개의 이미지 범위인 작은 "지원 세트(support set)" 예제가 제공됩니다. 원샷 러닝은 지원 세트 크기가 정확히 1인 극단적인 경우일 뿐입니다.
- 제로샷 러닝 (ZSL): ZSL은 모델이 시각적으로 한 번도 본 적이 없는 카테고리를 인식하는 것을 다룹니다. 참조 이미지 대신, ZSL은 자연어 처리 (NLP)를 통해 시의적절한 속성이나 텍스트 설명(예: 시각적 특징을 "줄무늬가 있는 말"이라는 텍스트 설명과 연결하여 "얼룩말" 식별)에 의존합니다.
- 전이 학습: 이는 ImageNet과 같은 대규모 데이터베이스에서 사전 학습된 모델을 가져와 새로운 작업에 미세 조정하는 것을 포함합니다. 전이 학습은 원샷 러닝에 사용되는 특징 추출기를 구동하지만, 표준 전이 학습은 과적합 없이 가중치를 효과적으로 업데이트하기 위해 일반적으로 둘 이상의 예제를 필요로 합니다.
실제 애플리케이션 사례#
원샷 러닝은 방대한 양의 학습 데이터를 수집하는 것이 비실용적인 분야에서 역량을 발휘할 수 있게 해 주었습니다.
안면 인식 및 보안#
원샷 러ning의 가장 보편적인 응용 분야는 생체 보안입니다. 스마트폰에서 Face ID를 설정하거나 직원 출입 시스템에 등록할 때, 기기는 사용자의 얼굴에 대한 단일 수학적 표현을 캡처합니다. 일상적인 사용 중에 안면 인식 시스템은 실시간 카메라 피드를 이 저장된 "원샷"과 비교하여 신원을 확인합니다. 이는 조명이나 각도의 변화가 유사도 일치를 깨뜨리지 않도록 보장하기 위해 기초적인 FaceNet 연구에서 논의된 것과 같은 강력한 임베딩 기법에 의존합니다.
산업 품질 관리#
제조 분야의 AI에서 "불량" 부품의 균형 잡힌 데이터셋을 구축하는 것은 결함이 드물고 일관성이 없기 때문에 어렵습니다. 원샷 러닝을 사용하면 컴퓨터 비전 (CV) 시스템이 단일 "완벽한" 참조 부품의 표현을 학습할 수 있습니다. 조립 라인에서 이 참조와 크게 떨어진 임베딩을 생성하는 모든 아이템은 이상 탐지 대상로 플래그 지정됩니다. 이를 통해 수천 장의 파손된 부품 이미지 없이도 즉각적인 품질 보증이 가능해지며, 이는 Ultralytics Platform을 통해 관리 및 배포될 수 있습니다.
도전 과제 및 향후 전망#
원샷 러닝은 강력하지만 노이즈에 취약합니다. 단일 참조 이미지가 흐리거나, 가려져 있거나, 대표성이 없는 경우 해당 클래스를 인식하는 모델의 능력이 크게 저하됩니다. 연구원들은 모델 안정성과 일반화 성능을 향상시키기 위해 종종 메타 러닝 또는 "학습하는 법을 배우기"를 활용합니다. 아키텍처가 발전함에 따라 YOLO26과 같은 최신 모델은 원샷 추론을 더 빠르고 정확하게 만드는 보다 강력한 특징 추출기를 통합하고 있으며, 이를 통해 더욱 적응력 있고 지능적인 엣지 AI 기기의 기반을 마련하고 있습니다.






