Graph Neural Networks (GNN)

Graph Neural Networks (GNN) sú neurónové siete navrhnuté na prácu s grafmi – teda s dátami, kde sú objekty (uzly) prepojené vzťahmi (hrany). Namiesto toho, aby spracúvali dáta ako mriežku (obrázky) alebo sekvenciu (text), vedia priamo modelovať vzťahy, štruktúru a závislosti v sieťach: sociálne siete, odporúčacie systémy, znalostné grafy, molekuly, dopravné siete, transakčné grafy a pod.


1. Definícia

GNN je trieda modelov, ktoré sa učia reprezentácie uzlov/hran/celého grafu tak, že opakovane vymieňajú informáciu medzi susedmi v grafe. Kľúčová vlastnosť: model je prirodzene invariantný voči preusporiadaniu uzlov (permutation invariance) – nezáleží, v akom poradí uzly uvedieš.


2. Ako to funguje

Najtypickejší princíp sa volá message passing (správy medzi uzlami):

  • Vstup:

    • uzly majú príznaky x_v (napr. profil používateľa, vlastnosti atómu, typ zariadenia)

    • hrany môžu mať príznaky e_(u,v) (napr. typ vzťahu, váha, čas, cena)

    • štruktúra grafu: kto je s kým prepojený

  • Jedna vrstva (intuícia):

    • každý uzol si „pozbiera“ informácie od svojich susedov (agregácia – napr. sum/mean/max)

    • tieto informácie skombinuje so svojím stavom a vytvorí nový embedding (vektor)

  • Viac vrstiev = väčší dosah:

    • po 1 vrstve vidí uzol 1-hop susedov

    • po 2 vrstvách už 2-hop okolie atď.

  • Výstup (podľa úlohy):

    • node-level (klasifikácia uzla – napr. spam účet?)

    • edge/link-level (predikcia hrany – budú títo dvaja prepojení? je transakcia podvod?)

    • graph-level (klasifikácia grafu – je molekula toxická?)


3. Čo je na GNN podstatné

  • Správna voľba „rodiny“ GNN:

    • GCN / Graph Convolutional Networks: jednoduché, stabilné, často dobrý baseline

    • GraphSAGE: škálovanie cez neighbor sampling (praktické pre veľké grafy)

    • GAT (Graph Attention Networks): váži susedov cez „pozornosť“, vie ignorovať šum

    • GIN (Graph Isomorphism Network): silné pre rozlišovanie štruktúr (graph classification)

    • R-GCN / heterogénne grafy: viac typov hrán/uzlov (napr. „user–buys–item“ + „item–belongs_to–category“)

    • Temporal GNN (TGN a pod.): časovo značkované hrany (transakcie, komunikácia)

    • Geometric / equivariant GNN (EGNN, SE(3) modely): 3D geometria (molekuly, proteíny, fyzika)

  • Agregácia je „srdce“ GNN:

    • mean býva robustný

    • sum môže byť expresívnejší, ale citlivý na stupeň uzla

    • attention agregácia sa vie adaptovať na kvalitu susedov

  • Pooling / Readout pri graph-level úlohách:

    • z uzlových embeddingov spraví reprezentáciu celého grafu (global mean/sum/max, alebo learned pooling)

4. Technické detaily, ktoré v praxi rozhodujú

  • Škálovanie a batching

    • veľké grafy sa trénujú mini-batch prístupom (často s neighbor sampling)

    • link prediction sa rieši cez vzorkovanie negatívnych hrán (negative sampling)

  • Typické problémy GNN

    • over-smoothing: pri veľkej hĺbke sa embeddingy uzlov „zlejú“ a prestanú byť rozlíšiteľné

    • over-squashing: veľa informácie z ďalekého okolia sa „stlačí“ do malého vektora

    • class imbalance: často máš málo pozitívnych hrán (fraud, anomálie)

  • Generalizácia

    • transductive (učíš sa na jednom grafe, predikuješ v ňom)

    • inductive (učíš sa tak, aby model fungoval aj na nových uzloch/grafoch)

  • Signál vs štruktúra

    • niekedy je rozhodujúca štruktúra (kto je s kým prepojený)

    • inokedy príznaky uzlov/hrán (metadata, text, numerické hodnoty)

    • v praxi často vyhráva kombinácia: GNN + kvalitné features


5. Výhody a nevýhody

  • Výhody

    • prirodzene modelujú vzťahy (nie len „atribúty v tabuľke“)

    • často výrazne pomôžu v úlohách typu recommendation, fraud, knowledge graphs, chemoinformatika

    • vedia pracovať s rôznou veľkosťou grafu (nie fixná mriežka)

  • Nevýhody

    • môžu byť náročné na pamäť a inžiniering pri veľkých grafoch

    • citlivosť na kvalitu grafu (šum, chýbajúce hrany, bias v prepojeniach)

    • interpretácia býva ťažšia (prečo uzol dostal label?) – dá sa riešiť explainability technikami, ale nie je to zadarmo


6. Praktické aplikácie a typický postup nasadenia

  • Odporúčania (recommender systems)

    • graf: user — interacts — item

    • cieľ: link prediction (čo si používateľ pravdepodobne pozrie/kúpi)

  • Detekcia podvodov / anomálií

    • graf: účty, zariadenia, karty, transakcie, IP, obchodníci

    • cieľ: node/edge klasifikácia (fraud score)

  • Znalostné grafy (knowledge graphs)

    • graf: entity + typované vzťahy

    • cieľ: dopĺňanie chýbajúcich hrán (KG completion)

  • Molekuly a materiály

    • uzly = atómy, hrany = väzby (plus 3D geometria)

    • cieľ: predikcia vlastností (toxicity, stabilita, väzbová energia)

Praktický „workflow“:

  • 1) Definuj graf

    • čo sú uzly, čo sú hrany, čo znamená hrana (a či je orientovaná)
  • 2) Zostroj príznaky

    • uzlové x_v, hranové e_(u,v), prípadne čas t
  • 3) Zvoľ úlohu a loss

    • node classification / link prediction / graph classification
  • 4) Zvoľ baseline

    • jednoduchý model (napr. GCN) + porovnanie s ne-graf baseline (MLP/XGBoost)
  • 5) Škáluj

    • sampling, rozumná hĺbka (často 2–4 vrstvy), regularizácia, normalizácie
  • 6) Vyhodnoť férovo

    • pri link prediction pozor na „leakage“ (časové delenie dát, správne negatívne vzorky)

7. Bezpečnosť a súkromie (keď graf obsahuje ľudí a vzťahy)

  • GNN môžu nepriamo odhaliť citlivé vzťahy (predikcia linkov = „kto s kým súvisí“).

  • Riziká:

    • membership inference (či bol konkrétny uzol/edge v tréningových dátach)

    • re-identifikácia cez štruktúru (grafové „odtlačky“)

  • Praktické opatrenia:

    • minimalizovať a agregovať identifikátory (hashing nestačí ako ochrana sám o sebe)

    • prístupové kontroly k surovému grafu (oddeliť tréningové dáta od inference)

    • zvážiť differential privacy alebo tréning na agregovaných subgrafoch pri citlivých doménach


Quick Reference

  • Kedy má GNN najväčší zmysel:

    • keď vzťahy medzi entitami nesú kľúčovú informáciu (sieťové efekty)
  • Najčastejšie úlohy:

    • node classification, link prediction, graph classification
  • Pravidlo z praxe:

    • začni s 2–3 vrstvami, jednoduchou agregáciou a dobrými features – až potom komplikuj
  • Časté „fail“ dôvody:

    • šum v grafe, zlé negatívne vzorkovanie, príliš veľká hĺbka, leakage v evaluácii

Zhrnutie

  • GNN sú modely, ktoré využívajú štruktúru grafu a vymieňajú informácie medzi susedmi cez message passing.

  • Najviac vyhrávajú tam, kde sú vzťahy rovnako dôležité ako vlastnosti objektov (rekomendácie, fraud, knowledge graphs, molekuly).

  • V praxi rozhoduje najmä kvalita grafu, správna evaluácia a škálovanie (sampling, hĺbka, regularizácia).