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