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:
meanbýva robustnýsummôže byť expresívnejší, ale citlivý na stupeň uzlaattention 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)
- z uzlových embeddingov spraví reprezentáciu celého grafu (
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 — itemcieľ:
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 čast
- uzlové
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 privacyalebo 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).