Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Graph Neural Network (GNN)

Graf sinir ağı (GNN), komşular arasında mesajlar ileterek düğümlerden ve kenarlardan öğrenir. Mesaj iletimi, GCN, GAT, gerçek dünya kullanımları ve kod ele alınır.

Graf sinir ağı (GNN), doğrudan graflar üzerinde çalışan bir sinir ağıdır: düğümlerin kenarlarla bağlandığı kümelerde hem düğümler hem de kenarlar özellik taşıyabilir. Moleküller (atomlar ve bağlar), sosyal ağlar (kullanıcılar ve takip ilişkileri), yol ağları (kavşaklar ve yol parçaları), 3B ağ yapıları ve insan iskeletinin eklemleri birer graftır. Bir grafın sabit bir ızgarası veya sıralaması yoktur ve düğümlerin komşu sayıları farklıdır; bu nedenle evrişimli sinir ağlarının (CNN) kayan filtreleri ve yinelenen sinir ağlarının (RNN) adım adım okuma yaklaşımı doğrudan uygulanamaz. GNN'ler bu sorunu mesaj iletimiyle ele alır: her düğüm, özellik vektörünü komşularının özelliklerinden yararlanarak tekrar tekrar günceller. Böylece düğümün hem kendi niteliklerini hem de graf içindeki konumunu kodlayan düğüm gömme vektörleri elde edilir.

Mesaj İletimi Nasıl Çalışır#

Bir GNN katmanı her düğümü üç adımda günceller. Her komşu, genellikle özelliklerinin öğrenilmiş bir dönüşümü olan bir mesaj gönderir. Düğüm, gelen mesajları toplam, ortalama veya maksimum gibi sıralarını dikkate almayan bir işlevle bir araya getirir. Ardından bu toplamı kendi özellikleriyle birleştirerek yeni temsilini oluşturur. Toplama işlemi sıralamayı dikkate almadığından sonuç, düğümlerin nasıl numaralandırıldığına bağlı değildir. Justin Gilmer ve çalışma arkadaşları, 2017'de pek çok GNN'yi bu mesaj iletimli sinir ağı çerçevesinin örnekleri olarak tanımladı. Son katmandan sonra, göreve özel bir başlık düğümleri etiketlemek, eksik kenarları tahmin etmek veya tüm grafiği sınıflandırmak için düğüm gömmelerini kullanır:

Her katman bir düğümün görüş alanını bir sıçrama genişletir; dolayısıyla k katmandan sonra bir düğümün gömmesi, grafikteki alıcı alanı olan k kenara kadar uzaklıktaki tüm düğümlere bağlıdır. Aşağıdaki PyTorch kodu altı düğümlü bir yol grafiği oluşturur, Thomas Kipf ve Max Welling'in GCN'sindeki normalleştirmeyi kullanan üç grafik evrişim katmanı uygular ve her katmandan sonra 0. düğümü hangi girdi düğümlerinin etkilediğini listelemek için autograd kullanır:

import torch
from torch import nn

# A path graph 0-1-2-3-4-5 as an adjacency matrix with self-loops
A = torch.eye(6)
for i in range(5):
    A[i, i + 1] = A[i + 1, i] = 1
deg = A.sum(dim=1)
A_hat = A / torch.sqrt(deg[:, None] * deg[None, :])  # GCN normalization D^-1/2 (A + I) D^-1/2

torch.manual_seed(0)
x = torch.randn(6, 4, requires_grad=True)  # 4 input features per node
layers = [nn.Linear(4, 4) for _ in range(3)]

h = x
for k, layer in enumerate(layers, start=1):
    h = torch.tanh(A_hat @ layer(h))  # each node mixes in its neighbors' transformed features
    grad = torch.autograd.grad(h[0].sum(), x, retain_graph=True)[0]
    print(f"After layer {k}, node 0 depends on nodes {grad.abs().sum(dim=1).nonzero().flatten().tolist()}")

Şu çıktıyı verir: [0, 1], [0, 1, 2] ve [0, 1, 2, 3]: 0. düğümün alıcı alanı her katmanda tam olarak bir sıçrama genişler.

Yaygın GNN Mimarileri#

  • GCN: Grafik evrişim ağı H′ = σ(D̃^(−1/2) Ã D̃^(−1/2) H W) hesaplar. Burada Ã, öz döngüleri içeren komşuluk matrisi; D̃ ise derece matrisidir: her düğüm ve komşuları üzerinde derece ağırlıklı bir ortalama alınır, ardından tüm düğümlerin paylaştığı W ağırlık matrisi uygulanır.
  • GraphSAGE: Düğüm başına sabit sayıda komşu örnekler ve toplama işlevini öğrenir; böylece çok büyük grafiklere ölçeklenebilir ve eğitimden sonra ortaya çıkan düğümleri gömebilir.
  • GAT: Grafik dikkat ağları, sabit derece tabanlı ağırlıklar yerine her komşuya öğrenilmiş dikkat puanlarıyla ağırlık verir.
  • GIN: Grafik izomorfizm ağı, komşularını toplar ve bir MLP uygular. Keyulu Xu ve çalışma arkadaşları bunun, standart mesaj iletiminin üst sınırı olan Weisfeiler-Lehman testi kadar iyi grafik ayırt etmesini sağladığını kanıtladı.
  • Grafik Transformer'ları: Tüm düğümler arasında öz dikkat uygular ve grafik yapısından türetilen konumsal kodlamalar ekler. Standart bir Transformer, token'lardan oluşan tam bağlantılı bir grafikte çalışan bir GNN'dir.

Çok sayıda katmanı üst üste koymak aşırı düzleştirmeye neden olur: tekrarlanan ortalama alma, düğüm gömmelerini birbirine yaklaştırarak ayırt edilemez hâle getirir. Bu nedenle birçok GNN, özgün GCN'nin yaptığı gibi yalnızca iki veya üç katman kullanır. PyTorch Geometric ve Deep Graph Library (DGL), bu katmanları seyrek kenar listelerinde verimli biçimde uygular.

Gerçek Dünya Uygulamaları#

  • Hava tahmini: Google DeepMind'ın 2023'te Science'ta yayımlanan GraphCast modeli, dünyayı kapsayan çok ölçekli bir ağ üzerinde mesaj iletimi gerçekleştirir ve bir dakikadan kısa sürede 0,25° çözünürlükte 10 günlük tahminler üretir; 1.380 doğrulama hedefinin %90'ında en doğru operasyonel deterministik sistemlerden daha iyi performans gösterir.
  • İlaç keşfi: MIT araştırmacıları 2020'de moleküler grafiklerden antibakteriyel etkinlik tahmin etmek için yönlendirilmiş mesaj iletim ağı eğitti ve bunu, yapısal olarak bilinen antibiyotiklerden farklı olan, laboratuvar testlerinde ilaca dirençli birçok bakteriyi öldüren halicin bileşiğini belirlemek için kullandı.
  • Öneri sistemleri: Pinterest'in PinSage modeli, 3 milyar pin ve panodan ve 18 milyar kenardan oluşan bir grafikten pin gömmelerini öğrendi; 7,5 milyar örnek üzerinde eğitildi.
  • İskelet tabanlı eylem tanıma: ST-GCN, vücut eklemlerini düğüm olarak ele alır; bunları her karede kemiklerle ve komşu karelerdeki aynı eklemle bağlar, ardından ortaya çıkan uzamsal-zamansal grafikten eylemi sınıflandırır. YOLO26 poz tahmini modelleri, her karede kişi başına 17 COCO kilit noktası döndürür; iskelet grafiği bu eklem koordinatlarından oluşturulur.
  • Bilgi grafiği: Olguları varlık-ilişki-varlık üçlüleri olarak depolayan bir veri yapısıdır. GNN, örneğin eksik bağlantıları tahmin etmek için bu yapıdan öğrenebilen bir modeldir.
  • Geometrik derin öğrenme: Verilerinin simetrileri etrafında tasarlanan ağları kapsayan daha geniş bir alandır; ızgaralar üzerindeki CNN'leri, grafikler üzerindeki GNN'leri ve ağlar ile manifoldlar üzerindeki modelleri içerir.
  • CNN: Bir görüntüye uygulanan CNN, ızgara grafiğinde mesaj iletiminin özel bir örneğidir. Burada her pikselin sabit göreli konumlarda aynı sayıda komşusu vardır; bu nedenle CNN her komşu konumu için ayrı bir ağırlık öğrenebilir. Düzensiz bir grafikteki GNN bunu yapamaz.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla