Karşıtlıklı Öğrenme Nasıl Çalışır?
Karşıtlıklı öğrenme, bir veri noktasının iki farklı dönüşümünü (kırpma, renk değiştirme, bulanıklaştırma gibi augmentasyon teknikleri ile üretilen) pozitif çift olarak alır. Model, bu iki görünümün gömme vektörlerini birbirine yaklaştıracak şekilde eğitilir. Aynı zamanda, mini-batch içindeki diğer tüm örnekler negatif çift olarak kabul edilir ve bunların gömme vektörleri uzaklaştırılır. Bu süreç, modelin veri içindeki değişmez özellikleri — yani hangi dönüşümler yapılsa da değişmeyen semantik bilgiyi — öğrenmesini sağlar. Kayıp fonksiyonu olarak çoğunlukla InfoNCE kullanılır: bu fonksiyon, pozitif çiftin dot-product benzerliğini tüm negatiflerle karşılaştıran bir softmax cross-entropy kaybıdır.
Temel Çerçeveler ve Mimariler
SimCLR
Google Brain'in geliştirdiği basit ama güçlü çerçeve. Büyük batch boyutu ve projeksiyon başlığı ile yüksek performans elde eder.
MoCo
Facebook AI'ın momentum kontrast yöntemi. Hafıza kuyruğu (memory queue) sayesinde daha küçük batch boyutlarıyla çalışır.
BYOL
Bootstrap Your Own Latent — negatif örneklere gerek duymadan çalışan yenilikçi çerçeve. Online ve target ağ mimarisi kullanır.
CLIP
OpenAI'ın görüntü-metin çiftleriyle eğittiği model. Sıfır-atımlı transfer öğrenmede çığır açtı.
Uygulama Alanları
- check_circle Görüntü sınıflandırma ve nesne tanıma ön-eğitimi:
- check_circle Metin ve cümle benzerliği (semantic textual similarity):
- check_circle Çok modlu öğrenme: görüntü-metin, ses-metin eşleştirme
- check_circle Tıbbi görüntüleme: az etiketli veriyle hastalık tespiti
- check_circle Öneri sistemleri: kullanıcı-ürün gömme öğrenimi
- check_circle Grafik verileri üzerinde düğüm sınıflandırma:
Sıkça Sorulan Sorular
- check_circle Karşıtlıklı öğrenme ile denetimli öğrenme arasındaki temel fark nedir?: Denetimli öğrenme etiketli veriye ihtiyaç duyarken, karşıtlıklı öğrenme etiketsiz veriden kendi kendine eğitim sinyali üretir. Model, veri augmentasyonları aracılığıyla pozitif ve negatif çiftler oluşturur.
- check_circle Negatif çift sayısı neden önemlidir?: Daha fazla negatif çift, modelin daha ayırt edici özellikler öğrenmesini sağlar. SimCLR'de büyük batch boyutu, MoCo'da ise memory queue bu ihtiyacı karşılar.
- check_circle BYOL neden negatif örnek kullanmadan çalışır?: BYOL, online ve target olmak üzere iki ağ kullanır. Target ağ momentum ile güncellenir ve collapse riski batch normalization ve predictor başlığı sayesinde önlenir.
- check_circle Karşıtlıklı öğrenme hangi veri tiplerinde kullanılabilir?: Görüntü, metin, ses, zaman serisi ve grafik verileri dahil hemen hemen her veri tipinde uygulanabilir. Veri tipine özgü augmentasyon stratejileri gerektirir.