Contrastive Loss (Karşıtlıklı Kayıp)

Benzer örnekleri gömme uzayında birbirine yaklaştırıp farklı örnekleri belirli bir marjın ötesine iten, temsil öğrenmesi için kullanılan kayıp fonksiyonu ailesi.

Contrastive loss (karşıtlıklı kayıp ya da karşılaştırmalı kayıp), gömme (embedding) modellerini eğitmek için kullanılan bir kayıp fonksiyonu ailesidir. Klasik sınıflandırma kayıpları modelin doğru sınıfı tahmin etmesini ödüllendirirken, contrastive loss örnekler arasındaki geometrik ilişkiyi hedefler: benzer örnek çiftleri gömme uzayında birbirine yaklaştırılır, farklı örnek çiftleri ise belirli bir marjın (margin) ötesine itilir. Böylece model, anlamsal benzerliği vektörler arasındaki uzaklıkla ifade etmeyi öğrenir ve elde edilen temsiller arama, eşleştirme ve sıfır atışlı sınıflandırma gibi görevlere doğrudan aktarılabilir. Yaklaşımın ilk biçimi Chopra, Hadsell ve LeCun tarafından 2005 yılında Siamese ağlarla birlikte önerildi. Bu formülasyonda pozitif çiftler için kayıp, iki gömme arasındaki Öklid uzaklığının karesine eşittir; negatif çiftler için ise uzaklık marjın altına düştüğünde ceza uygulanır, marjı aşan negatifler kayba katkı yapmaz. Triplet loss (2015, FaceNet) bu fikri üçlü örneklere taşır: bir çapa (anchor) örneğinin pozitifine olan uzaklığı, negatifine olan uzaklığından en az marj kadar küçük olmalıdır. Modern derin öğrenmede en yaygın kullanılan varyant InfoNCE'dir. Burada bir pozitif örnek, aynı mini yığındaki (batch) çok sayıda negatif ile birlikte softmax tabanlı bir sınıflandırma problemine dönüştürülür ve sıcaklık (temperature) parametresi dağılımın keskinliğini kontrol eder. SimCLR'ın NT-Xent kaybı, MoCo'nun momentum kuyruğu ve CLIP'in görüntü-metin eşleştirmesi bu formülasyonun farklı uygulamalarıdır. Etiketli veri mevcut olduğunda Supervised Contrastive Loss (SupCon), aynı sınıftaki tüm örnekleri pozitif kabul ederek daha sıkı sınıf kümeleri oluşturur. Pratikte contrastive loss'un başarısı üç etkene bağlıdır: pozitif çiftlerin nasıl üretildiği (veri artırma ya da etiket), negatiflerin sayısı ve zorluğu (hard negative mining) ile marj veya sıcaklık gibi hiperparametrelerin ayarı. Yüz tanıma, görsel arama, cümle gömme modelleri (Sentence-BERT, E5), öneri sistemleri ve çok modlu modeller bu kayıp ailesinin en görünür uygulama alanlarıdır.

Contrastive Loss Nedir?

Contrastive loss, gömme modellerinin eğitiminde kullanılan ve örnekler arasındaki uzaklığı doğrudan optimize eden bir kayıp fonksiyonu sınıfıdır. Amaç, benzer örneklerin gömme uzayında birbirine yakın, farklı örneklerin ise uzak konumlara yerleştirilmesidir; bu ilke metrik öğrenme ve temsil öğrenmenin temelini oluşturur. Orijinal biçimi Siamese ağ (ikiz ağ) mimarileriyle çalışır: iki örnek ağırlık paylaşan aynı ağdan geçirilir, elde edilen gömmeler arasındaki Öklid ya da kosinüs uzaklığı kayıp hesabına girer. Pozitif çiftlerde bu uzaklık küçültülür; negatif çiftlerde uzaklık belirlenen marjın altındaysa ceza uygulanır, marjı aşan negatifler kayba katkı yapmaz. Model bu şekilde anlamsal benzerliği geometrik yakınlıkla ifade etmeyi öğrenir ve öğrenilen uzay, ayrı bir sınıflandırıcı olmadan arama ve eşleştirme görevlerinde kullanılabilir.

Temel Varyantlar

  • check_circle Orijinal Contrastive Loss (2005): İkili (pair) eğitim: pozitif çiftlerde uzaklığın karesi küçültülür, negatif çiftlerde marjın altındaki uzaklık cezalandırılır. Chopra, Hadsell ve LeCun'un Siamese ağ çalışmasıyla tanıtıldı.
  • check_circle Triplet Loss: Çapa (anchor), pozitif ve negatif üçlüsüyle çalışır; d(çapa, pozitif) + marj < d(çapa, negatif) koşulunu zorlar. FaceNet ve görsel benzerlik modellerinde yaygındır.
  • check_circle InfoNCE / NT-Xent: Bir pozitife karşı yığındaki diğer tüm örnekleri negatif kabul eden softmax tabanlı kayıp; SimCLR, MoCo ve CLIP eğitiminin omurgasıdır. Sıcaklık parametresiyle ayarlanır.
  • check_circle Supervised Contrastive Loss (SupCon): Etiketli veride aynı sınıftaki tüm örnekleri pozitif olarak ele alır; Khosla ve arkadaşlarının 2020 çalışmasında standart cross-entropy'ye kıyasla daha dayanıklı temsiller elde edildi.
  • check_circle N-pair ve Lifted Structured Loss: Triplet ile InfoNCE arasında yer alan, her çapa için birden fazla negatifi aynı anda kullanan geçiş formülasyonları; büyük yığınlarda daha verimli öğrenme sinyali üretir.

Çalışma Prensibi: Gömme Uzayında Hizalama

Contrastive loss bir gömme modelini (çoğunlukla CNN ya da transformer kodlayıcı) doğrudan sınıf tahmini yerine temsil kalitesi hedefiyle eğitir. Eğitim sırasında önce pozitif çiftler oluşturulur; öz-denetimli senaryolarda bu çiftler aynı örneğe uygulanan kırpma, renk bozma veya maskeleme gibi veri artırma işlemleriyle türetilir, denetimli senaryolarda ise sınıf etiketi kullanılır. InfoNCE'de her çapa için doğru pozitif ile yığındaki diğer tüm negatifler arasında softmax normalizasyonu hesaplanır; yani problem, "doğru eşi bul" biçiminde bir sınıflandırmaya dönüşür. Gradyanlar pozitifleri birbirine çeker, negatifleri iter ve gömme uzayı anlamsal benzerliği yakalayacak biçimde şekillenir. Bu şekilde eğitilen modeller sıfır atışlı sınıflandırma, görsel arama ve benzer ürün önerisi gibi görevlere ek eğitim gerektirmeden ya da küçük bir ince ayarla uyarlanabilir.

Contrastive Loss ile Eğitilen Referans Modeller

SimCLR (Google, 2020)

NT-Xent kaybı ve güçlü veri artırma ile öz-denetimli görüntü temsili öğrenir; ResNet kodlayıcıyla ImageNet doğrusal değerlendirmesinde denetimli modellere yaklaştı.

CLIP (OpenAI, 2021)

400 milyon görüntü-metin çifti üzerinde simetrik InfoNCE ile eğitildi; sıfır atışlı sınıflandırma ve görsel aramanın referans modelidir.

MoCo (Meta AI)

Momentum kodlayıcı ve dinamik kuyruk ile küçük bellekte büyük negatif havuzu tutar; yığın boyutu kısıtını gevşetir.

Sentence-BERT ve E5

Cümle çiftleri üzerinde contrastive ince ayar ile anlamsal metin araması, kümeleme ve NLI görevlerinde kullanılan gömme modelleri.

Uygulama Alanları

Contrastive loss'un uygulama yelpazesi geniştir. Görsel arama sistemlerinde sorgu görseli ile veritabanındaki görseller arasında gömme benzerliğine dayalı sıralama yapılır. Yüz tanıma sistemlerinde (FaceNet, ArcFace) triplet ve marj tabanlı kayıplar aynı kişinin farklı fotoğraflarını birbirine yaklaştırır; kimlik doğrulama bu temsilleri kullanır. Doğal dil işlemede Sentence-BERT, SimCSE ve E5 gibi modeller contrastive ince ayar ile anlamsal benzerlik puanlaması yapar ve RAG sistemlerinin geri getirme katmanını besler. Öneri sistemlerinde kullanıcı ve ürün gömmeleri aynı uzayda hizalanarak iki kuleli (two-tower) mimariler eğitilir. Tıbbi görüntü analizinde az etiketli veri durumunda öz-denetimli contrastive ön eğitim teşhis doğruluğunu artırır. Ses alanında wav2vec 2.0, konuşma temsillerini benzer bir karşıtlıklı hedefle öğrenir.

Sık Sorulan Sorular

  • check_circle Contrastive loss ile cross-entropy loss arasındaki fark nedir? Cross-entropy doğrudan sınıf tahminini optimize eder; contrastive loss sınıf tahmini yapmadan örnekler arası uzaklığı optimize eder. Bu yüzden contrastive loss ile öğrenilen temsiller genellikle yeni görevlere daha iyi transfer olur.
  • check_circle Triplet loss ile InfoNCE arasında hangisi tercih edilmeli? InfoNCE her adımda çok sayıda negatif kullandığı için daha güçlü ve kararlı bir öğrenme sinyali verir; büyük yığınlarla ve öz-denetimli senaryolarda standarttır. Triplet loss daha basit uygulanır, küçük veri kümelerinde ve etiketli senaryolarda hâlâ etkilidir.
  • check_circle Negatif örnek seçimi (hard negative mining) neden önemlidir? Kolay negatifler (birbirinden çok farklı örnekler) marjı zaten aştığı için kayba katkı yapmaz ve öğrenme yavaşlar. Zor negatifler modeli en çok karıştırdığı örneklere odaklar; ancak aşırı zor negatifler eğitimi kararsızlaştırabilir, bu yüzden yarı zor (semi-hard) seçim yaygındır.
  • check_circle Sıcaklık (temperature) parametresi ne işe yarar? InfoNCE'de sıcaklık, softmax dağılımının keskinliğini belirler. Düşük sıcaklık (örneğin 0,07) zor negatiflere daha fazla ağırlık verir ve daha ayırt edici temsiller üretir, fakat eğitimi hassaslaştırır; yüksek sıcaklık dağılımı yumuşatır.
  • check_circle Contrastive loss Türkçe NLP'de nasıl uygulanır? Türkçe STS ve NLI çiftleri üzerinde Sentence-BERT veya SimCSE yaklaşımıyla contrastive ince ayar yapılabilir; BERTurk ya da çok dilli E5 modelleri başlangıç noktası olarak kullanılır. Yeterli çift yoksa çeviri yoluyla türetilmiş veri kümeleri ve yığın içi negatifler işe yarar.