Contrastive Learning
Makine öğreniminde kontrastif öğrenmeyi keşfet. Ultralytics YOLO26 ve bilgisayarlı görü için sağlam yapay zeka özellikleri oluşturmak amacıyla öz-denetimli verilerin nasıl kullanıldığını öğren.
Karşılaştırmalı öğrenme, modellere benzer ve benzersiz örnekleri karşılaştırarak verileri anlamayı öğreten bir makine öğrenimi paradigmasıdır. Büyük ölçüde manuel olarak etiketlenmiş veri kümelerine dayanan geleneksel denetimli öğrenmenin aksine, karşılaştırmalı öğrenme genellikle gözetimsiz öğrenme bağlamlarında kullanılır. Temel fikir basit ama güçlüdür: model, bir vektör uzayında ilgili öğelerin (pozitif çiftler) temsillerini birbirine daha yakın hale getirmeyi öğrenirken, ilgili olmayan öğeleri (negatif çiftler) birbirinden uzaklaştırır. Bu süreç, algoritmaların yapay zeka (AI) sistemlerini ölçeklendirmek için çok önemli olan devasa etiketlenmemiş veri miktarından güçlü ve genelleştirilebilir özellikler oluşturmasına olanak tanır.
Karşılaştırmalı Öğrenmenin Mekanizması#
Karşılaştırmalı öğrenmenin kalbinde karşılaştırma yoluyla öğrenme kavramı yatar. Belirli bir görüntünün bir "kedi" olduğunu ezberlemek yerine model, bir kedinin iki farklı fotoğrafının, herhangi birinin bir köpek fotoğrafına olduğundan birbirine daha çok benzediğini öğrenir. Bu durum tipik olarak veri artırma yoluyla elde edilir. Genellikle "çapa" (anchor) olarak adlandırılan bir giriş görüntüsü; kırpma, döndürme veya renk değiştirme gibi teknikler kullanılarak iki farklı sürüme dönüştürülür. Bu iki sürüm pozitif bir çift oluşturur. Model daha sonra, topluluktaki diğer rastgele görüntülere (negatif örnekler) olan mesafesini maksimize ederken gömme (embedding) verileri arasındaki mesafeyi en aza indirecek şekilde eğitilir.
Bu yaklaşım, nötr ağın düşük düzeyli piksel ayrıntıları yerine yüksek düzeyli anlamsal özelliklere odaklanmasına yardımcı olur. Örneğin, bir arabanın kırmızı veya mavi olması, sola ya da sağa bakması fark etmeksizin, "araba"nın alttaki kavramı aynı kalır. Bu yüzeysel varyasyonları göz ardı ederek model, görsel dünyanın daha derin bir anlayışını geliştirir ve bu durum nesne tespiti ve sınıflandırma gibi aşağı akış görevlerine önemli ölçüde fayda sağlar.
Gerçek Dünya Uygulamaları#
Karşılaştırmalı öğrenme, özellikle etiketli verinin kıt veya elde edilmesinin pahalı olduğu durumlarda, birçok son teknoloji AI uygulaması için bir temel taşı haline gelmiştir.
-
Sıfır Atımlı Görüntü Sınıflandırma: CLIP (Contrastive Language-Image Pre-training) gibi modeller, görüntüleri ve metni paylaşılan bir özellik uzayında hizalamak için karşılaştırmalı öğrenmeyi kullanır. Milyonlarca görüntü-metin çifti üzerinde eğitim alarak model, görsel kavramları doğal dil açıklamalarıyla ilişkilendirmeyi öğrenir. Bu, modelin görüntüyü metinsel bir ipucuyla eşleştirerek, eğitim sırasında hiç görmediği kategorilere görüntüleri sınıflandırmasına olanak tanıyan sıfır atımlı öğrenmeyi mümkün kılar.
-
Tıbbi Görüntüleme için Güçlü Ön Eğitim: Sağlık hizmetlerinde, uzman tarafından etiketlenmiş tıbbi taramalar elde etmek maliyetli ve zaman alıcıdır. Araştırmacılar, modelleri etiketlenmemiş büyük X-ışını veya MR taramaları veritabanları üzerinde önceden eğitmek için karşılaştırmalı öğrenmeyi kullanır. Bu gözetimsiz ön eğitim, zatürre veya tümör gibi hastalıkları yüksek doğrulukla tespit etmek için az sayıda etiketli örnekle ince ayarlanabilen güçlü bir omurga (backbone) oluşturur. Bu teknik, sağlık sektöründe yapay zeka alanındaki tanı araçlarını geliştirmek için aktarımlı öğrenmeden yararlanır.
İlgili Kavramları Ayırt Etme#
Makine öğrenimi (ML) ortamındaki benzersiz rolünü anlamak için karşılaştırmalı öğrenmeyi benzer tekniklerden ayırmak faydalıdır.
- Otokodlayıcılara Karşı: Her ikisi de gözetimsiz yöntemler olsa da, otokodlayıcılar giriş verilerini piksel piksel yeniden oluşturmayı ve bir darboğaz katmanına sıkıştırmayı amaçlar. Öte yandan karşılaştırmalı öğrenme, görüntüyü yeniden yaratmaya çalışmaz, bunun yerine yalnızca farklı kavramları ayıran ayırt edici temsilleri öğrenmeye odaklanır.
- Üretken Çekişmeli Ağlara (GAN) Karşı: GAN'lar, sahte veri oluşturan bir üreteç ve bunu tespit etmeye çalışan bir ayırt ediciden oluşur. Karşılaştırmalı öğrenme, veri oluşturma yerine temsil öğrenmeye odaklanır ve bu da onu arama, getirme ve sınıflandırma gibi görevler için daha uygun hale getirir.
- Üçlü Kayba Karşı: Geleneksel üçlü kayıp; açıkça bir çapa, bir pozitif ve bir negatif örnek gerektirir. SimCLR veya MoCo gibi modern karşılaştırmalı yöntemler, bir çapayı bir topluluk içinde aynı anda birçok negatif örnekle karşılaştırarak bunu genelleştirir ve genellikle InfoNCE gibi belirli bir kayıp fonksiyonu kullanır.
Gömüler ile Uygulamalı Örnek#
Sıfırdan karşılaştırmalı bir model eğitmek kaynak yoğun olsa da, özellik çıkarmak için önceden eğitilmiş modelleri kolayca kullanabilirsin. Aşağıdaki örnek, ultralytics paketini kullanarak bir modelin nasıl yükleneceğini ve bir görüntü için özellik vektörünün (gömme) nasıl çıkarılacağını gösterir. Bu gömme, karşılaştırmalı ön eğitime benzer tekniklerle öğrenilen anlamsal içeriği temsil eder.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")Zengin ve anlamlı özellikler çıkarma yeteneği, karşılaştırmalı öğrenmeyi modern bilgisayarla görü (CV) sistemleri oluşturmak için vazgeçilmez kılarak verimli görüntü arama ve gelişmiş analitiği mümkün kılar. Veri kümelerini yönetmek ve bu gelişmiş mimarilerden yararlanan özel modeller eğitmek için Ultralytics Platformu, dağıtım ve izleme için optimize edilmiş bir ortam sağlar.






