GNN (Çizge Sinir Ağı)

Düğümler ve kenarlardan oluşan graf verisi üzerinde mesaj geçişiyle öğrenen derin öğrenme mimarisi.

GNN (Graph Neural Network — Çizge Sinir Ağı), düğümler ve kenarlardan oluşan graf yapısındaki veriler üzerinde mesaj geçişi mekanizmasıyla öğrenen derin öğrenme mimarisidir. CNN ve RNN gibi klasik modeller, piksel matrisleri veya sözcük dizileri biçiminde düzenlenmiş ızgara veriyle çalışırken, GNN'ler sosyal ağlar, moleküler yapılar, bilgi grafları ve trafik ağları gibi düzensiz topolojilerdeki ilişkisel veriyi doğrudan işleyebilir. Mesaj geçişi üç adımda gerçekleşir: Her düğüm komşularından özellik vektörleri alır (mesaj üretimi), bu vektörleri toplama veya ortalama gibi permütasyona duyarsız bir işlevle birleştirir ve ardından bir sinir ağı katmanıyla kendi temsilini günceller. Her GNN katmanında tekrarlanan bu döngü, k katmanla k-komşuluk yarıçapındaki bilgiyi yakalar; derin ağlar geniş mahallelerin bilgisini sentezler. Başlıca GNN mimarileri farklı toplama stratejileri kullanır. GCN (Kipf & Welling, 2017), spektral konvolüsyonu uzaysal alana yaklaştırarak sabit graflar üzerinde verimli çalışır. GAT, her komşuya öğrenilebilir dikkat ağırlıkları atayarak heterojen graflarda daha iyi genelleme yapar. GraphSAGE, büyük graflarda örneklem tabanlı komşu toplama yöntemiyle ölçeklenebilirliği artırır ve eğitim dışı düğümlere genelleyebilir. Graph Transformer ise dikkat mekanizmasını konum kodlamasıyla birleştirerek uzun menzilli ilişkileri yakalar; AlphaFold 2'nin protein katlanma tahmini bu yaklaşımdan yararlanır. GNN'ler kritik alanlarda yaygın biçimde kullanılır: ilaç keşfinde moleküler bağ tahminini gerçekleştirir, trafik modellemesinde Google Maps'in varış süresi sistemine katkıda bulunur, finansal sahtekârlık tespitinde işlem graflarını analiz eder ve öneri sistemlerinde kullanıcı-içerik ilişkilerini modeller. Pinterest'in PinSage modeli ve Meta'nın içerik öneri altyapısı GNN tabanlı sistemlerin öne çıkan örnekleridir. Geliştirme için PyTorch Geometric ve Deep Graph Library (DGL) en yaygın çerçevelerdir; her ikisi de hazır GNN katmanları ve büyük graflarda mini-batch öğrenmesi sunar. Open Graph Benchmark (OGB) ise standart değerlendirme veri setleri ve lider tablolarıyla araştırma kıyaslamalarına zemin hazırlar.

account_tree GNN Nasıl Çalışır?

GNN'lerin çekirdeğinde mesaj geçişi çerçevesi (message passing framework) yer alır. Her katmanda her düğüm şu üç adımı uygular: 1. **Mesaj üretimi:** Her komşu düğüm, kendi özellik vektörüne ve kenar özelliklerine göre bir mesaj oluşturur. 2. **Toplama:** Düğüm, komşularından gelen tüm mesajları bir fonksiyonla (toplam, ortalama veya maksimum) bir araya getirir. 3. **Güncelleme:** Düğüm, mevcut özellik vektörünü ve toplanan mesajları birleştirerek yeni bir temsil (embedding) hesaplar. Bu süreç k katman boyunca tekrarlandığında her düğüm, k adım uzaklığındaki komşularının bilgisini kapsayan bir temsil edinir. Graf sınıflandırma görevlerinde ise tüm düğüm temsillerinin havuzlanması (graph pooling) ile graf düzeyinde tek bir vektör elde edilir.

Başlıca GNN Türleri

blur_on GCN

Graf Evrişim Ağı — komşu düğüm özelliklerini normalize edilmiş ortalama ile birleştiren temel GNN mimarisi. CNN'nin resimden grafa genelleştirilmesidir.

visibility GAT

Graf Dikkat Ağı — her komşuya öğrenilmiş dikkat katsayısı atar; önemli komşular daha büyük katkı sağlar. Transformer'daki öz-dikkat mekanizmasının graf versiyonudur.

shuffle GraphSAGE

Milyonlarca düğümlü büyük graflar için ölçeklenebilir çerçeve — komşuları örnekleyerek mini-batch eğitimi mümkün kılar ve eğitim dışı düğümlere genelleyebilir.

merge_type Graph Transformer

GNN ve Transformer dikkat mekanizmasını birleştiren hibrit mimari. Uzun menzilli bağımlılıkları daha iyi yakaladığı gösterilmiştir; AlphaFold 2 bu yaklaşımı kullanır.

explore GNN Uygulama Alanları

  • check_circle İlaç Keşfi ve Biyoinformatik: Atomlar düğüm, kimyasal bağlar kenar olarak modellenir. GNN'ler moleküler özellik tahmini ve ilaç-protein etkileşimi tahmininde kritik rol oynar. AlphaFold 2'nin GNN bileşeni protein katlanma problemini çözmede belirleyici olmuştur.
  • check_circle Trafik ve Rota Tahmini: Kavşaklar düğüm, yollar kenar olarak temsil edilir. Google Maps'in tahmini varış süresi (ETA) modeli GNN tabanlı trafik akışı tahmininden yararlanır; anlık yol koşullarını grafik ilişkilere dönüştürerek daha isabetli tahmin yapar.
  • check_circle Sahtekârlık Tespiti: Finansal işlemler ve hesaplar arasındaki grafik ilişkiler olağandışı örüntüleri ortaya çıkarır. PayPal ve bankalar GNN'leri kara para aklama ve dolandırıcılık tespitinde etkin biçimde kullanır.
  • check_circle Öneri Sistemleri: Kullanıcılar ve içerikler düğüm, etkileşimler kenar olarak temsil edilir. Pinterest'in PinSage modeli ve Meta'nın içerik öneri motoru GNN mimarisine dayanır; geleneksel collaborative filtering'e göre daha zengin bağlam yakalar.
  • check_circle Bilgi Grafı ve Sosyal Ağ Analizi: Varlık bağlantısı tahmini (link prediction), topluluk tespiti ve etki yayılımı hesaplamaları GNN'lerle modellenir. Akademik alıntı analizi, sahte hesap tespiti ve ağ güvenliği uygulamalarında yaygın kullanım alanı bulur.

build GNN Araçları ve Ekosistemi

  • check_circle PyTorch Geometric (PyG): Akademik araştırmalarda en yaygın GNN çerçevesi. 100'den fazla hazır GNN katmanı, büyük graflar için mini-batch örneklemesi ve veri dönüşümü araçları içerir. torch_geometric.nn.MessagePassing sınıfıyla özel mesaj geçişi katmanları kolayca tanımlanabilir.
  • check_circle Deep Graph Library (DGL): Hem PyTorch hem de TensorFlow/MXNet backend'ini destekler. Dağıtık eğitim ve endüstriyel ölçekli graflar için optimize edilmiş API'si öne çıkar; AWS tarafından desteklenmektedir.
  • check_circle Open Graph Benchmark (OGB): Standart grafik makine öğrenmesi veri setleri ve değerlendirme protokolleri sağlar. Araştırmacıların yayımlı sonuçlarla adil karşılaştırma yapabilmesine olanak tanıyan dinamik lider tabloları içerir.
  • check_circle NetworkX ve Diğer Araçlar: NetworkX Python paketi grafik ön işleme ve görselleştirme için tercih edilir. HeteroData API'leri heterojen grafları (farklı düğüm/kenar türleri) destekler; Spektral kütüphaneler GCN bağlamındaki matematiksel işlemler için kullanılır.

quiz Sık Sorulan Sorular

  • check_circle GNN ile CNN arasındaki temel fark nedir?: CNN, düzenli piksel ızgaraları üzerinde sabit boyutlu yerel filtreler uygularken GNN, düzensiz topolojilere sahip graflar üzerinde mesaj geçişi yoluyla çalışır. CNN'ler görüntü ve ses gibi Öklid uzayı verilerinde verimlidir; GNN'ler ise sosyal ağlar, moleküller ve bilgi grafları gibi ilişkisel yapılar için tasarlanmıştır.
  • check_circle GNN'ler büyük grafları nasıl işleyebilir?: Standart GNN'ler tüm komşuluğu bellekte tuttuğundan milyonlarca düğümlü graflar sorun çıkarabilir. GraphSAGE, ClusterGCN ve GraphSAINT gibi ölçeklenebilir yöntemler komşuları örnekleyerek veya grafı alt bölümlere ayırarak mini-batch eğitimini mümkün kılar.
  • check_circle GNN hangi kütüphanelerle kullanılır?: PyTorch tabanlı PyTorch Geometric (PyG) ve DGL (Deep Graph Library) en yaygın çerçevelerdir. PyG akademik araştırmalarda yaygınken DGL hem PyTorch hem TensorFlow backend'ini destekler.
  • check_circle GNN ne zaman kullanılmaz?: Verinin ızgara veya dizi biçiminde yapılandırıldığı durumlarda (görüntü, ses, sıralı metin) CNN veya Transformer daha verimlidir. GNN, açık ilişkisel yapının mevcut olduğu problemlerde değer katar; veri grafiksel biçimde doğal olarak temsil edilemiyorsa zorla dönüştürmek performansı düşürür.
  • check_circle Hangi GNN mimarisini seçmeliyim?: Basit homojen graflar için GCN, dikkat mekanizması gerektiren heterojen graflar için GAT, büyük ölçekli ve üretken ortamlar için GraphSAGE, uzun menzilli bağımlılıkların önemli olduğu görevler için Graph Transformer tercih edilebilir. Görev türü, graf boyutu ve hesaplama kısıtları seçimi belirler.