One-Shot Learning
AI의 원샷 학습을 탐구해 보십시오. 효율적인 컴퓨터 비전을 위해 Ultralytics YOLO26과 샴 네트워크를 사용하여 단일 이미지에서 객체를 분류하는 방법을 배우십시오.
One-Shot Learning is a specialized classification technique in machine learning (ML) designed to learn information about object categories from a single training example. Unlike traditional deep learning (DL) algorithms, which require massive datasets containing thousands of annotated images to generalize effectively, One-Shot Learning mimics the human cognitive ability to grasp a new concept instantly. For instance, a person can usually recognize a specific exotic bird after seeing it just once; this methodology attempts to replicate that efficiency in artificial intelligence (AI) systems. It is particularly valuable in scenarios where data labeling is expensive, data is scarce, or new categories must be added dynamically without retraining the entire model.
Link to this section이 개념의 이면 메커니즘#
The core principle of One-Shot Learning involves shifting the objective from standard classification to similarity evaluation. Instead of training a neural network (NN) to output a specific class label (e.g., "dog" or "cat"), the model learns a distance function. A common architecture employed for this is the Siamese neural network, which consists of two identical sub-networks that share the same model weights.
작동 중에 네트워크는 특징 추출(feature extraction)을 수행하여 입력 이미지를 임베딩(embeddings)이라고 하는 컴팩트한 수치 벡터로 변환합니다. 그런 다음 시스템은 새로운 쿼리 이미지의 임베딩을 단일 참조 "샷"의 임베딩과 비교합니다. 유클리드 거리(Euclidean distance) 또는 코사인 유사도(cosine similarity)를 사용하여 계산된 수학적 거리가 특정 임계값보다 낮으면 이미지가 같은 클래스에 속하는 것으로 판단합니다. 이를 통해 모델은 학습된 특징 공간 내의 근접성을 기반으로 신원을 확인하거나 객체를 분류할 수 있습니다.
The following Python code demonstrates how to extract embeddings and calculate similarity using a YOLO26 classification model from the ultralytics package.
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}")Link to this section관련 패러다임 구분#
원샷 러닝을 다른 데이터 효율적인 학습 기법들과 구분하는 것이 중요합니다. 이들은 서로 다른 제약 조건을 통해 유사한 문제를 해결하기 때문입니다:
- 퓨샷 러닝(FSL): 이는 원샷 러닝을 포함하는 더 넓은 범주의 개념입니다. FSL에서 모델에는 클래스당 일반적으로 2~5개의 이미지로 구성된 작은 "서포트 세트(support set)"가 제공됩니다. 원샷 러닝은 서포트 세트의 크기가 정확히 1인 극단적인 사례일 뿐입니다.
- 제로샷 러닝(ZSL): ZSL은 모델이 시각적으로 한 번도 본 적 없는 범주를 인식하는 것을 다룹니다. 참조 이미지 대신, ZSL은 자연어 처리(NLP)를 통해 의미론적 속성이나 텍스트 설명(예: 시각적 특징을 "줄무늬가 있는 말"이라는 텍스트 설명과 연관시켜 "얼룩말"을 식별)에 의존합니다.
- 전이 학습(Transfer Learning): 이는 ImageNet과 같은 대규모 데이터베이스에서 사전 학습된 모델을 가져와 새로운 작업에 맞게 미세 조정(fine-tuning)하는 것을 포함합니다. 전이 학습이 원샷 러닝에 사용되는 특징 추출기를 지원하기는 하지만, 표준 전이 학습은 일반적으로 과적합(overfitting) 없이 가중치를 효과적으로 업데이트하기 위해 하나 이상의 예제를 필요로 합니다.
Link to this section실제 애플리케이션 사례#
원샷 러닝은 방대한 양의 학습 데이터 수집이 비실용적인 분야에서 새로운 역량을 열어주었습니다.
Link to this section안면 인식 및 보안#
원샷 러닝의 가장 보편적인 응용 분야는 생체 인식 보안입니다. 스마트폰에서 Face ID를 설정하거나 직원 출입 시스템에 등록할 때, 장치는 사용자의 얼굴에 대한 단일 수학적 표현을 캡처합니다. 일상 사용 중에 안면 인식(facial recognition) 시스템은 실시간 카메라 피드를 이 저장된 "원샷"과 비교하여 신원을 확인합니다. 이는 조명이나 각도의 변화로 인해 유사성 일치가 깨지지 않도록 FaceNet 연구와 같은 기초 연구에서 논의된 강력한 임베딩 기술에 의존합니다.
Link to this section산업 품질 관리#
제조 분야의 AI에서는 불량품의 데이터셋이 희귀하고 일관성이 없기 때문에 균형 잡힌 데이터셋을 구축하기 어렵습니다. 원샷 러닝을 통해 컴퓨터 비전(CV) 시스템은 단일 "완벽한" 참조 부품의 표현을 학습할 수 있습니다. 조립 라인에서 이 참조와 거리가 먼 임베딩을 생성하는 항목은 이상 탐지(anomaly detection) 대상자로 표시됩니다. 이는 수천 개의 불량품 이미지가 없어도 즉각적인 품질 보증을 가능하게 하며, Ultralytics Platform을 통해 관리 및 배포될 수 있습니다.
Link to this section도전 과제 및 향후 전망#
원샷 러닝은 강력하지만 노이즈에 취약합니다. 단일 참조 이미지가 흐릿하거나, 가려져 있거나, 대표성을 띠지 못하면 해당 클래스를 인식하는 모델의 능력이 크게 저하됩니다. 연구자들은 모델의 안정성과 일반화 성능을 향상하기 위해 종종 "학습하는 방법을 배우는" 메타 러닝(meta-learning)을 사용합니다. 아키텍처가 발전함에 따라 YOLO26과 같은 최신 모델은 더 강력한 특징 추출기를 통합하여 원샷 추론을 더 빠르고 정확하게 만들고 있으며, 이를 통해 더 적응력이 뛰어나고 지능적인 엣지 AI(edge AI) 장치의 기반을 마련하고 있습니다.






