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.