One-Shot Learning
AI'da Tek Çekimlik Öğrenmeyi keşfet. Verimli bilgisayarlı görü için Ultralytics YOLO26 ve Siyam ağlarını kullanarak tek bir görüntüden nesneleri nasıl sınıflandıracağını öğren.
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 sectionKavramın Arkasındaki Mekanizmalar#
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.
During operation, the network performs feature extraction to convert input images into compact numerical vectors known as embeddings. The system then compares the embedding of a new query image against the embedding of the single reference "shot." If the mathematical distance—often calculated using Euclidean distance or cosine similarity—is below a certain threshold, the images are determined to belong to the same class. This allows the model to verify identity or classify objects based on their proximity in the learned feature space.
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İlgili Paradigmleri Ayırt Etme#
One-Shot Learning'i diğer veri tasarruflu öğrenme tekniklerinden ayırt etmek önemlidir çünkü bunlar benzer sorunları farklı kısıtlamalar yoluyla çözerler:
- Few-Shot Learning (FSL): Bu, One-Shot Learning'i kapsayan daha geniş kategoridir. FSL'de modele, genellikle sınıf başına iki ila beş görüntü arasında değişen küçük bir "destek seti" sağlanır. One-Shot Learning, destek seti boyutunun tam olarak bir olduğu uç durumdur.
- Zero-Shot Learning (ZSL): ZSL, modelin görsel olarak hiç görmediği kategorileri tanımakla ilgilenir. ZSL, bir referans görüntü yerine natural language processing (NLP) aracılığıyla anlamsal niteliklere veya metin tanımlarına (örneğin "çizgili at" metin tanımıyla görsel özellikleri ilişkilendirerek bir "zebra"yı tanımlamak) dayanır.
- Transfer Learning: Bu, ImageNet gibi büyük bir veritabanı üzerinde önceden eğitilmiş bir modelin alınmasını ve yeni bir görevde ince ayar yapılmasını içerir. Transfer learning, One-Shot Learning'de kullanılan özellik çıkarıcıları güçlendirse de, standart transfer learning genellikle ağırlıkları overfitting olmadan etkili bir şekilde güncellemek için birden fazla örnek gerektirir.
Link to this sectionGerçek Dünya Uygulamaları#
One-Shot Learning, çok miktarda training data toplamanın pratik olmadığı sektörlerde yeteneklerin önünü açmıştır.
Link to this sectionYüz Tanıma ve Güvenlik#
One-Shot Learning'in en yaygın uygulaması biyometrik güvenliktedir. Bir akıllı telefonda Face ID kurulurken veya bir çalışan erişim sistemine kayıt yapılırken, cihaz kullanıcının yüzünün tek bir matematiksel temsilini yakalar. Günlük kullanım sırasında facial recognition sistemi, kimliği doğrulamak için canlı kamera görüntüsünü bu saklanan "tek çekim" ile karşılaştırır. Bu işlem, aydınlatma veya açı değişikliklerinin benzerlik eşleşmesini bozmadığından emin olmak için temel FaceNet research çalışmasında tartışılanlar gibi güçlü embedding tekniklerine dayanır.
Link to this sectionEndüstriyel Kalite Kontrol#
AI in manufacturing alanında, kusurlu parçalardan oluşan dengeli bir veri kümesi oluşturmak zordur çünkü kusurlar nadirdir ve tutarsızdır. One-Shot Learning, computer vision (CV) sistemlerinin tek bir "mükemmel" referans parçasının temsilini öğrenmesine olanak tanır. Montaj hattında bu referanstan önemli ölçüde uzak bir embedding veren herhangi bir öğe, anomaly detection için işaretlenir. Bu, binlerce kırık parça görüntüsüne ihtiyaç duymadan anında kalite güvencesi sağlar ve bu süreç Ultralytics Platform aracılığıyla yönetilip devreye alınabilir.
Link to this sectionZorluklar ve Gelecek Görünümü#
Güçlü olmasına rağmen One-Shot Learning gürültüye karşı hassastır; eğer tek referans görüntü bulanıksa, engellenmişse veya temsil edici değilse, modelin o sınıfı tanıma yeteneği önemli ölçüde düşer. Araştırmacılar, model kararlılığını ve genellemesini iyileştirmek için genellikle meta-learning veya "öğrenmeyi öğrenme" yöntemini kullanırlar. Mimariler geliştikçe, YOLO26 gibi daha yeni modeller, tek seferlik çıkarımı daha hızlı ve daha doğru hale getiren, daha uyarlanabilir ve akıllı edge AI cihazlarına zemin hazırlayan daha sağlam özellik çıkarıcıları bünyesine katmaktadır.






