Siamese Network (Siyam Ağı)

Ağırlık paylaşan özdeş paralel dallarla girdi çiftleri arasındaki benzerliği öğrenen derin öğrenme mimarisi.

Siyam Ağı (Siamese Network), ağırlık paylaşan iki veya daha fazla özdeş alt ağ (branch) kullanarak girdi çiftleri ya da üçlüleri arasındaki benzerliği öğrenen derin öğrenme mimarisidir. Adını 19. yüzyılda yaşamış Chang ve Eng Bunker isimli siyam ikizlerinden alan bu yapı, her iki dalda da tamamen aynı ağırlıkların kullanılmasını zorunlu kılar; bu durum iki girdinin aynı özellik uzayında karşılaştırılabilmesini güvence altına alır. Çalışma mekanizması şu biçimde özetlenebilir: her girdi kendi dalından geçerek sabit boyutlu bir özellik vektörüne (embedding) dönüştürülür. Ardından iki vektör arasındaki Öklid ya da kosinüs uzaklığı hesaplanır. Eğitim sırasında model, benzer çiftlerin gömülü vektörlerini birbirine yaklaştırırken farklı çiftlerin vektörlerini birbirinden uzaklaştıracak şekilde güncellenir. Bu öğrenme süreci contrastive loss veya triplet loss işlevleriyle yönlendirilir. Contrastive loss, benzer çiftlerin uzaklığını minimize ederken farklı çiftlerin uzaklığını belirli bir marjin üstüne iter ve ikili etiket gerektirir. Triplet loss ise bir çapa (anchor), bir pozitif (benzer) ve bir negatif (farklı) örnek üçlüsüyle çalışır; FaceNet ve modern yüz tanıma sistemlerinin büyük çoğunluğu bu yaklaşımı kullanır. Siyam ağlarının en güçlü özelliği, one-shot öğrenmedir. Klasik sınıflandırıcılar bir sınıfı tanımak için yüzlerce veya binlerce etiketli örnek isterken siyam ağları benzerlik ölçümünü doğrudan öğrendiğinden, test sırasında yeni bir sınıfın tek bir örneği verilse bile bu sınıfı diğerlerinden ayırt edebilir. Bu özellik etiketleme maliyetinin yüksek olduğu tıbbi görüntüleme ve adli bilişim gibi alanlarda büyük değer taşır. Öne çıkan uygulamalar şunlardır: Google FaceNet yüz doğrulama ve tanıma, imza doğrulama sistemleri, yazı karakter tanıma (Omniglot veri seti) ve tıbbi görüntülemede nadir hastalıkların tespiti. Siyam ağları, sınırlı veriyle yüksek doğruluk gerektiren her senaryoda tercih edilen bir mimari olmayı sürdürmektedir.

Siyam Ağı Nasıl Çalışır?

Siyam ağının özü, tamamen aynı ağırlıkları paylaşan iki (veya üç) paralel daldır. Her girdi bu dallardan geçerek bir özellik vektörüne (embedding) dönüşür. Ardından iki vektör arasındaki uzaklık (Öklid veya kosinüs) hesaplanır. Ağırlık paylaşımı, iki girdi için üretilen gömülü vektörlerin aynı ölçek ve anlam uzayında olmasını zorunlu kılar; bu karşılaştırmanın tutarlı kalmasını sağlar. Eğitim sırasında model, benzer çiftlerin vektörlerini birbirine yaklaştıracak, farklı çiftlerin vektörlerini uzaklaştıracak şekilde öğrenir.

Temel Kayıp Fonksiyonları

  • check_circle Contrastive Loss: Benzer çiftlerin gömülü vektörleri arasındaki mesafeyi minimize eder; farklı çiftlerin mesafesini belirli bir marjin üstüne iter. İkili (similar/different) etiket gerektirir. Orijinal siyam ağı makalelerinde kullanılmıştır.
  • check_circle Triplet Loss: Bir çapa (anchor), bir pozitif (benzer) ve bir negatif (farklı) örnek üçlüsüyle çalışır. Çapa-pozitif mesafesinin çapa-negatif mesafesinden marjin kadar küçük olmasını zorlar. FaceNet ve çoğu modern yüz tanıma sistemi bu yaklaşımı kullanır.
  • check_circle Binary Cross-Entropy: Siyam ağının çıktısına bir sigmoid ekleyerek 'aynı sınıf mı?' ikilisini ikili sınıflandırma problemi olarak çözer. Yapısal olarak daha basittir; küçük ölçekli doğrulama ve eşleştirme görevlerinde tercih edilir.

Öne Çıkan Modeller ve Uygulamalar

Google FaceNet (2015), triplet loss ile eğitilmiş 128 boyutlu gömülü uzay kullanarak yüz doğrulamada o dönemin en iyi sonuçlarını elde etti; LFW kıyaslama setinde %99,63 doğruluk. Siyam ağları imza doğrulamada banka işlemlerini güvenli kılmak için kullanılır; imzanın gerçek sahibi ile karşılaştırılması sınıflandırma yerine benzerlik ölçümüyle yapılır. Koch et al. (2015) Omniglot veri setiyle yaptığı one-shot denemelerde siyam ağının insana yakın doğruluk elde ettiğini gösterdi. Tıbbi görüntülemede ise nadir hastalıklarda görüntü eşleştirme ve anomali tespiti için değerlendirilmektedir.

One-Shot Öğrenme Bağlamı

Klasik sınıflandırıcılar bir sınıfı tanımak için yüzlerce ya da binlerce etiketli örnek ister. Siyam ağları ise benzerlik ölçümünü doğrudan öğrendiğinden, test sırasında yeni bir sınıfın tek bir örneği verilse bile bu sınıfı diğerlerinden ayırt edebilir. Bu özellik, etiketleme maliyetinin yüksek olduğu tıbbi görüntüleme, adli bilişim ve sanayi kalite kontrol alanlarında büyük değer taşır.

Siamese Ağı Uygulama Alanları

Yüz Doğrulama

İki yüz görüntüsünün aynı kişiye ait olup olmadığını benzerlik skoru üzerinden belirler.

İmza Doğrulama

Gerçek ve şüpheli imza çiftlerinin benzerlik ölçüsüyle sahtecilik tespiti yapar.

Belge Eşleştirme

İki metnin semantik yakınlığını ölçerek kopya veya türev içerik tanımlar.

Az Örnekli Öğrenme

Prototypical Networks gibi türevleri yeni sınıfları az örnekle tanımayı öğretir.

Sık Sorulan Sorular

  • check_circle Siyam ağı ile ikiz ağ (twin network) aynı şey midir? Pratikte eş anlamlı kullanılmaktadır. 'Siyam' terimi ağırlık paylaşımını vurgular; bazı kaynaklarda ikiden fazla dal içeren varyantlar için 'triplet network' ifadesi tercih edilir.
  • check_circle Siyam ağları ne zaman tercih edilmelidir? Sınıf başına az etiketli veri olduğunda veya yeni sınıfların sürekli eklendiği açık küme (open-set) problemlerinde siyam ağları klasik sınıflandırıcılara kıyasla büyük avantaj sunar.
  • check_circle FaceNet ile DeepFace arasındaki fark nedir? Her ikisi de yüz tanıma için derin öğrenme kullanır. FaceNet triplet loss ile metrik öğrenirken DeepFace daha çok doğrudan sınıflandırma yaklaşımı benimser. Günümüzde her iki paradigma da modern sistemlerde bir arada kullanılmaktadır.
  • check_circle Siyam ağları metin karşılaştırmasında kullanılabilir mi? Evet. Cümle gömülü modelleri (Sentence-BERT gibi) siyam ağı mimarisiyle eğitilerek anlamsal benzerlik, doğal dil çıkarımı ve kopyalama tespiti görevlerinde başarıyla kullanılmaktadır.