Yolo 비전 선전
선전
지금 참여하기
용어집

One-Shot Learning

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}")

관련 패러다임 구분하기

원샷 학습을 다른 데이터 효율적 학습 기법과 구분하는 것이 중요합니다. 이는 서로 다른 제약 조건을 통해 유사한 문제를 해결하기 때문입니다:

  • 소량 데이터 학습(FSL): 이는 원샷 학습을 포괄하는 더 넓은 범주입니다. FSL에서는 모델에 소량의 "지원 집합" 예제가 제공되며, 일반적으로 클래스당 2~5장의 이미지로 구성됩니다. 원샷 학습은 단순히 지원 집합 크기가 정확히 1개인 극단적인 경우입니다.
  • 제로샷 학습(ZSL): ZSL은 모델이 시각적으로 본 적이 없는 범주를 인식하는 문제를 다룹니다. 참조 이미지 대신 ZSL은 자연어 처리(NLP)를 통해 의미적 속성이나 텍스트 설명(예: 시각적 특징을 "줄무늬 말"이라는 텍스트 설명과 연관시켜 "얼룩말"을 식별하는 것)에 의존합니다.
  • 전이 학습: 이는 ImageNet 과 같은 대규모 데이터베이스에서 사전 훈련된 모델을 가져와 새로운 작업에 대해 미세 조정하는 것을 의미합니다. 전환 학습은 원샷 학습에서 사용되는 특징 추출기에 동력을 제공하지만, 표준 전환 학습은 일반적으로 과적합 없이 가중치를 효과적으로 업데이트하기 위해 하나의 예제 이상이 필요합니다.

실제 애플리케이션

원샷 학습은 방대한 양의 훈련 데이터를 수집하는 것이 현실적으로 불가능한 분야에서 새로운 가능성을 열었습니다.

얼굴 인식 및 보안

원샷 학습의 가장 보편적인 응용 분야는 생체 인식 보안입니다. 스마트폰에서 Face ID를 설정하거나 직원 출입 시스템에 등록할 때, 기기는 사용자의 얼굴을 단일 수학적 표현으로 캡처합니다. 일상적인 사용 중에는 얼굴 인식 시스템이 실시간 카메라 영상을 저장된 이 '원샷'과 비교하여 신원을 확인합니다. 이는 FaceNet 기초 연구에서 논의된 것과 같은 강력한 임베딩 기법에 의존하여 조명이나 각도의 변화가 유사성 일치를 깨지 않도록 보장합니다.

산업 품질 관리

제조업에서 인공지능을 활용할 때, 결함이 드물고 불규칙하기 때문에 "불량" 부품의 균형 잡힌 데이터셋을 만드는 것은 어렵습니다. 원샷 학습(One-Shot Learning)은 컴퓨터 비전(CV) 시스템이 단 하나의 "완벽한" 기준 부품의 표현을 학습할 수 있게 합니다. 조립 라인에서 이 기준 부품과 상당히 거리가 먼 임베딩을 생성하는 모든 품목은 이상 감지 대상으로 표시됩니다. 이는 결함 부품의 수천 장 이미지가 필요 없이 즉각적인 품질 보증을 가능하게 하며, Ultralytics 통해 관리 및 배포될 수 있습니다.

과제 및 향후 전망

원샷 학습은 강력하지만 노이즈에 취약합니다. 단일 참조 이미지가 흐리거나 가려지거나 대표성이 부족할 경우 해당 클래스를 인식하는 모델의 능력이 크게 저하됩니다. 연구자들은 모델의 안정성과 일반화 능력을 향상시키기 위해 메타러닝, 즉 "학습하는 법을 배우기"를 자주 활용합니다. 아키텍처가 진화함에 따라 YOLO26과 같은 최신 모델들은 원샷 추론을 더 빠르고 정확하게 만드는 더 강력한 특징 추출기를 통합하여, 더 적응적이고 지능적인 에지 AI 장치의 길을 열어주고 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기