Contrastive Learning (Karşıtlıklı Öğrenme)

Karşıtlıklı Öğrenme, benzer örnekleri yakın ve farklı örnekleri uzak temsil ederek etiketsiz veriden özellik öğrenen öz-denetimli bir makine öğrenimi yöntemidir.

Karşıtlıklı öğrenme, bir modelin benzer örnekleri birbirine yakın, farklı örnekleri ise birbirinden uzak temsil etmeyi öğrendiği bir öz-denetimli makine öğrenimi paradigmasıdır. Temel fikir, aynı verinin farklı görünümlerini (augmentasyonlarını) pozitif çift olarak, rastgele seçilen farklı örnekleri ise negatif çift olarak kullanmaktır. Model, pozitif çiftlerin gömme vektörlerini uzayda birbirine yaklaştırırken negatif çiftleri uzaklaştıracak şekilde eğitilir. Bu yöntem, etiketli veriye olan bağımlılığı azaltarak büyük miktarda etiketsiz veriden anlamlı özellikler öğrenmeyi mümkün kılar. Kayıp fonksiyonu olarak genellikle InfoNCE veya NT-Xent kullanılır; bu formüller pozitif çiftin benzerliğini maksimize ederken negatif çiftlerin benzerliğini minimize eder. Sıcaklık (temperature) parametresi, öğrenmenin ne kadar sert veya yumuşak olacağını kontrol eder. Büyük batch boyutu kullanmak daha fazla negatif örnek anlamına geldiğinden doğrudan performansı etkiler. Önde gelen çerçeveler farklı yöntemler kullanır. SimCLR, büyük batch boyutu ve projeksiyon başlığıyla yüksek performans elde eder. MoCo, momentum kontrast yöntemi ve hafıza kuyruğuyla daha küçük batch boyutlarında çalışır. BYOL negatif örneklere gerek duymadan online ve target ağ mimarisini kullanır; bu yaklaşım negatif çift seçimindeki önyargıdan kaynaklanan hataları ortadan kaldırır. CLIP, görüntü-metin çiftleriyle eğitilerek sıfır-atımlı sınıflandırma ve çapraz modal arama görevlerinde çığır açmıştır. Uygulama alanları son derece geniştir: tıbbi görüntü analizi, ses tanıma, moleküler biyoloji, öneri sistemleri ve grafik verileri üzerinde çalışan modeller karşıtlıklı öğrenme tekniklerinden yararlanır. Büyük dil modellerinin ve görüntü-dil modellerinin ön-eğitiminde kritik bir rol oynamaktadır. Negatif çift sayısı modelin ayırt edici özellikler öğrenme kalitesini doğrudan etkiler; daha fazla negatif örnek genellikle daha iyi temsil öğrenimiyle sonuçlanır. Karşıtlıklı öğrenme, etiketleme maliyeti yüksek alanlarda yarı-denetimli öğrenmeyle birleştirildiğinde güçlü sonuçlar üretmektedir. Bu yöntemin gücü, modelin veri içindeki yapıyı ve anlam ilişkilerini insan etiketlemesi gerektirmeden keşfedebilmesinden kaynaklanmaktadır.

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

  • check_circle 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.
  • check_circle MoCo: Facebook AI'ın momentum kontrast yöntemi. Hafıza kuyruğu (memory queue) ile daha küçük batch boyutlarında çalışır.
  • check_circle BYOL: Bootstrap Your Own Latent — negatif örneklere gerek duymadan çalışan yenilikçi çerçeve. Online ve target ağ mimarisi kullanır.
  • check_circle 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

Öne Çıkan Çerçeveler

SimCLR (Google, 2020)

Görsel gömme; veri artırma çiftleri; büyük batch boyutu ve projeksiyon kafası; kendi kendine denetimli öğrenmenin mihenk taşı

MoCo (Facebook, 2020)

Momentum Contrast; büyük negatif anahtar havuzu; küçük batch'te SimCLR'dan daha verimli

CLIP (OpenAI, 2021)

Metin-görsel çapraz modal; 400M çift; sıfır-atış görüntü sınıflandırma; modern multimodal AI'nın temel taşı

BYOL / SimSiam

Negatif örnek gerektirmeden contrastive; öğretmen-öğrenci ağı; yüksek kaliteli temsil öğrenimi

Contrastive Learning ile Supervised Learning Karşılaştırması

  • check_circle Etiket İhtiyacı: Supervised learning milyonlarca etiketli örnek gerektirir; contrastive learning etiket olmadan veri örüntülerini öğrenir
  • check_circle Genel Temsil: Contrastive öğrenilen temsiller birden fazla aşağı görev için kullanılabilir; supervised model göreve özelleşir
  • check_circle Veri Verimliliği: Az etiketli veriyle ince ayar (semi-supervised); ImageNet'te %1 etiketle %70+ top-1 doğruluğa ulaşılabiliyor
  • check_circle Hesaplama Maliyeti: Büyük batch veya negatif havuzu gerektirir; tek GPU'da SimCLR eğitimi pratik değil — MoCo / BYOL alternatif
  • check_circle Modalite Esnekliği: Herhangi bir veri türüne uygulanabilir; metin, ses, görsel, moleküler veri için farklı artırma stratejileri

Sık 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ığı ile ö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.