Feature Extraction
Özellik çıkarımı, görüntüler gibi ham verileri elle tasarlanmış yöntemler veya önceden eğitilmiş sinir ağları kullanarak kompakt ve bilgilendirici özelliklere dönüştürür.
Özellik çıkarımı, ham veriyi bir görevin ihtiyaç duyduğu bilgileri koruyan daha küçük bir sayısal özellik kümesine dönüştürme işlemidir. 640×480 boyutlu bir RGB fotoğraf 921.600 piksel değeri içerir ve bunların çoğu gereksizdir; bir özellik çıkarıcı, fotoğrafın içeriğini tanımlayan birkaç yüz sayıdan oluşan bir vektör üretebilir. Klasik makine öğrenimi, her veri türü için elle tasarlanan çıkarıcılara dayanıyordu. Derin öğrenme modelleri ise özelliklerini, çıktısı arama, kümeleme ve yeni sınıflandırıcılarda yeniden kullanılabilen bir omurga ağında kendileri öğrenir. Daha az sayıda, daha bilgilendirici boyut kullanmak boyutluluk lanetini de hafifletir; böylece daha basit modeller daha az veriden genelleme yapabilir.
Elle Tasarlanan ve Öğrenilen Özellikler#
Derin öğrenmeden önce mühendisler, her veri türü için bir özellik çıkarıcı oluştururdu:
- SIFT: Görselde anahtar noktaları bulur ve her birini ölçek ve dönme değişikliklerine dayanıklı, gradyan yönlerinden oluşan 128 boyutlu bir histogramla tanımlar. Bu özellikleri, SIFT'i görsel eşleştirme ve panorama birleştirme için standart araç hâline getirdi.
- HOG: Bir hücre ızgarası üzerinde hesaplanan yönlü gradyan histogramlarıdır. Doğrusal destek vektör makinesiyle birlikte kullanılan HOG, 2005'te yaya algılama için tanıtıldı ve klasik nesne algılamanın temel yöntemlerinden biri oldu.
- Temel bileşen analizi (PCA): Veriyi en yüksek varyansa sahip yönlere yansıtır; tablo verileri, yüzler ve spektrumlar için genel amaçlı bir yöntemdir.
- Mel-frekans kepstrum katsayıları (MFCCs): Sesin kısa süreli spektrumunu, insan işitmesine uygun bir ölçekte özetler ve uzun süre konuşma tanıma için varsayılan girdi olmuştur.
Öğrenilmiş özellikler, görsellerde, seste ve metinde bu yöntemlerin çoğunun yerini aldı. Milyonlarca görsel üzerinde eğitilen bir evrişimli sinir ağı (CNN) veya görsel Transformer (ViT), kendi başına hiyerarşik bir yapı oluşturur: erken katmanlar kenarları ve renk kümelerini, orta katmanlar dokuları ve parçaları algılar; son katmanlar ise nesne düzeyindeki kavramları kodlar. Özellik haritalarında saklanan bu temsiller yeni görevlere aktarılır; bu nedenle önceden eğitilmiş omurgalar aktarım öğrenimi için varsayılan başlangıç noktasıdır.
Özellik Çıkarımı ve İlgili Terimler#
- Özellik mühendisliği: Genellikle alan bilgisinden yararlanarak model girdileri oluşturma, dönüştürme ve seçme uygulamasının genel adıdır. Örneğin, fiyat ve alandan metrekare başına fiyatı hesaplamak bu kapsama girer. Özellik çıkarımı bunun bir parçasıdır ve derin öğrenmede tamamen otomatikleştirilir.
- Özellik seçimi: Özgün özelliklerin bir alt kümesini değiştirmeden korur ve geri kalanını çıkarır. Özellik çıkarımı ise özgün özellikleri dönüştürerek veya birleştirerek yeni özellikler oluşturur.
- Boyut indirgeme: Özellik çıkarımıyla büyük ölçüde örtüşür ve PCA her iki kapsama da girer. t-SNE gibi görselleştirme amaçlı yöntemler, insanların incelemesi için boyutları azaltır ve model girdisi olarak nadiren kullanılır.
- Gömme vektörleri: Öğrenilmiş bir çıkarıcının ürettiği özellik vektörleridir. Derin öğrenmede "çıkarılmış özellikler" ve "gömme vektörleri" genellikle aynı vektörleri ifade eder.
Önceden Eğitilmiş Bir Ağı Özellik Çıkarıcı Olarak Kullanma#
Yaygın yaklaşımda önceden eğitilmiş bir ağ alınır, görev başlığı çıkarılır, veri dondurulmuş katmanlardan geçirilir ve son özellik haritası havuzlanarak her girdi için tek bir vektör elde edilir. Etiketler varsa bu vektörlerle yalnızca doğrusal bir sınıflandırıcı eğitmek, yani doğrusal sondalama, bir ağı eğitme maliyetinin çok küçük bir bölümüyle güçlü bir temel sonuç verir. Etiketler yoksa vektör arama, görsel olarak benzer görselleri bulur; k-means kümeleme, düzenleme ve yinelenenleri kaldırma için veri kümesini gruplar; normal örneklere olan uzaklık ise anomali algılama sırasında kusurları işaretler. Özellik çıkarımı sırasında omurganın ağırlıkları hiç değişmez; bu yönüyle ince ayardan ayrılır.
YOLO26 modelleri bunu model.embed() aracılığıyla sağlar. Bu işlem, ağı seçilen katmana kadar çalıştırır ve o katmanın özellik haritasını ortalama havuzlayarak her görsel için tek bir vektör üretir; embed=[10] ise YOLO26 omurgasının son katmanında durur.
from ultralytics import YOLO
# Önceden eğitilmiş bir YOLO26 modeli yükle; omurgası 10. katmanda sona erer
model = YOLO("yolo26n.pt")
# Omurganın son özellik haritasını ortalama havuzlayarak her görsel için tek bir vektör elde et
embeddings = model.embed("https://ultralytics.com/images/bus.jpg", embed=[10])
vector = embeddings[0]
print(vector.shape)torch.Size([256]) çıktısını verir: YOLO26n'in adım-32 omurga çıktısındaki kanal başına bir tane olmak üzere 256 sayıya indirgenmiş otobüs fotoğrafının tamamı; vektör arama veya kümeleme için hazırdır.










