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.
V roku 2026 sú GNN etablovanou technikou: nasadené vo veľkých produkčných systémoch (Pinterest, Uber, Airbnb, Meta), kľúčové v chemoinfomatike a materiálovom výskume, a čoraz častejšie kombinované s veľkými jazykovými modelmi v architektúrach typu GraphRAG.
1. Definícia
GNN je trieda modelov, ktoré sa učia reprezentácie uzlov, hrán alebo celého grafu tak, že opakovane vymieňajú informáciu medzi susedmi. Kľúčová vlastnosť: model je prirodzene invariantný voči preusporiadaniu uzlov (permutation invariance) – nezáleží, v akom poradí uzly uvedieš.
Formálne: nech G = (V, E) je graf s uzlami V a hranami E. Každý uzol v má príznaky x_v ∈ ℝ^d. GNN učí funkciu f: G → ℝ^k, ktorá mapuje uzly (alebo celý graf) na embeddingy použiteľné pre downstream úlohy.
2. Ako to funguje – Message Passing
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ý
- uzly majú príznaky
Jedna vrstva:
- každý uzol si „pozbiera" informácie od susedov (agregácia – napr.
sum/mean/max) - tieto informácie skombinuje so svojím stavom a vytvorí nový embedding
- každý uzol si „pozbiera" informácie od susedov (agregácia – napr.
Viac vrstiev = väčší dosah:
- po 1 vrstve vidí uzol 1-hop susedov
- po 2 vrstvách 2-hop okolie atď.
Výstup podľa úlohy:
node-level– klasifikácia uzla (je toto konto spam?)edge/link-level– predikcia hrany (je transakcia podvod?)graph-level– klasifikácia grafu (je molekula toxická?)
8. Message passing v pseudokóde
Jadro každej GNN vrstvy:
def gnn_layer(h, edges):
# h[v] = embedding uzla v
new_h = {}
for v in nodes:
neigh = [h[u] for u in neighbors(v, edges)]
agg = mean(neigh) # agregácia (sum/mean/max/attention)
new_h[v] = relu(W_self @ h[v] + W_neigh @ agg)
return new_h # po k vrstvách vidí uzol k-hop okolie
Viac vrstiev = väčší dosah, ale pozor na over-smoothing (embeddingy sa zlejú).
3. Rodiny GNN a ich porovnanie
Nie všetky GNN sú rovnaké – voľba architektúry závisí od úlohy, veľkosti grafu a typu dát.
| Architektúra | Agregácia | Škálovanie | Silná stránka | Typické použitie |
|---|---|---|---|---|
| GCN | Normalizovaný súčet | Obmedzené | Jednoduchý, stabilný baseline | Node classification |
| GraphSAGE | Mean / LSTM / max pool | Výborné (sampling) | Inductive learning, veľké grafy | Produkčné rec. systémy |
| GAT | Attention-vážený súčet | Stredné | Filtruje šum cez pozornosť | Heterogénne grafy |
| GIN | Súčet + MLP | Stredné | Maximálna expresivita (WL test) | Graph classification |
| R-GCN | Typ-špecifická agregácia | Stredné | Viac typov hrán/uzlov | Knowledge graphs |
| TGN | Temporal attention + memory | Dobré | Časové grafy, sekvencie udalostí | Fraud detection, social |
| EGNN / SE(3) | Equivariant voči rotáciám | Stredné | 3D geometria, fyzikálna presnosť | Molekuly, proteíny |
| GraphGPS | MPNN + global attention | Dobré | Dlhé závislosti, hybridný prístup | Viac domén, 2024–2026 SOTA |
Praktické pravidlo: začni s GraphSAGE alebo GCN ako baseline. Na knowledge grafy siahni po R-GCN. Na molekuly sú štandardom EGNN alebo SchNet. Na benchmarkoch (molekuly, vlastnosti grafov) vedú v roku 2026 hybridné modely typu GraphGPS a Exphormer.
4. Technické detaily, ktoré v praxi rozhodujú
Škálovanie a batching
- Veľké grafy (milióny uzlov) si vyžadujú mini-batch tréning s neighbor samplingom (GraphSAGE prístup).
- Link prediction: vzorkuj negatívne hrany (
negative sampling) – voľba distribúcie negatív zásadne ovplyvňuje výsledky. - Grafové frameworky: PyTorch Geometric (PyG) a Deep Graph Library (DGL) sú produkčné štandardy v roku 2026; oba podporujú distribuované trénovanie.
Typické problémy
- Over-smoothing: pri hĺbke > 4–6 vrstiev sa embeddingy uzlov stávajú takmer identické. Riešenie: reziduálne spojenia (JK-Net, GCNII), normalizácia.
- Over-squashing: dlhé cesty v grafe sťahujú priveľa informácií do jedného vektora. Riešenie: graph rewiring (SDRF, FoSR) alebo globálna pozornosť.
- Class imbalance: fraud, anomálie – pozitívnych hrán býva < 0,1 %. Riešenie: focal loss, SMOTE na grafoch, undersampling.
Generalizácia
- Transductive – učíš sa na jednom fixnom grafe, predikuješ v ňom. Rýchle, ale nefunguje pre nové uzly.
- Inductive – model funguje aj na nových uzloch alebo grafoch. Nevyhnutné pre produkciu.
5. GNN a veľké jazykové modely – stav v roku 2026
Jedným z najvýznamnejších trendov posledných dvoch rokov je integrácia GNN s LLM:
GraphRAG
GraphRAG (Graph Retrieval-Augmented Generation) kombinuje znalostné grafy s generatívnymi modelmi:
- Namiesto čistého vektorového vyhľadávania sa retrieval robí cez štruktúru grafu.
- Microsoft Research publikoval v roku 2024 open-source implementáciu GraphRAG; v roku 2025–2026 sa stala štandardom pre enterprise knowledge management.
- GNN kóduje kontext entít, LLM generuje odpoveď s prihliadnutím na grafové vzťahy.
LLM ako encoder pre GNN
- Textové príznaky uzlov (popis produktu, bio používateľa, anotácia proteínu) sa kódujú LLM embeddingy a používajú ako vstupné features GNN.
- Tento prístup výrazne zlepšil výsledky v citation networks, e-commerce grafoch a biologických databázach.
Graph Foundation Models
Analogicky k jazykovým modelom sa v roku 2025–2026 objavili pokusy o graph foundation models (napr. UniGraph, AnyGraph) – predtrénované GNN na heterogénnych grafoch, fine-tunované na downstream úlohách. Výsledky sú sľubné, ale doménový transfer je stále výzvou.
6. Výhody a nevýhody
Výhody:
- Prirodzene modelujú vzťahy (nie len atribúty v tabuľke).
- Výrazne pomáhajú v úlohách typu recommendation, fraud detection, knowledge graphs, cheminformatika.
- Fungujú s rôznou veľkosťou grafu (nie fixná mriežka ako CNN).
- Inductive varianty sú produkčne nasaditeľné na živé, rastúce grafy.
Nevýhody:
- Pamäťovo a inžiniersky náročné pri veľkých grafoch.
- Citlivosť na kvalitu grafu (šum, chýbajúce hrany, bias v prepojeniach).
- Interpretácia je ťažšia – explainability techniky (GNNExplainer, SubgraphX) existujú, ale pridávajú komplexitu.
- Evaluácia je ľahko pokazená leakage pri link prediction.
7. Praktické aplikácie a postup nasadenia
Odporúčacie systémy
- Graf:
user — interacts — item - Cieľ: link prediction (čo si používateľ pravdepodobne pozrie/kúpi)
- Príklady v produkcii: Pinterest (PinSage), Uber Eats, Meta (2024+)
Detekcia podvodov a anomálií
- Graf: účty, zariadenia, karty, transakcie, IP, obchodníci
- Cieľ: node/edge klasifikácia (fraud score)
- Kritické: správne časové delenie dát, aby model „nevidel budúcnosť"
Znalostné grafy
- Graf: entity + typované vzťahy (RDF-štýl)
- Cieľ: knowledge graph completion, question answering
- 2026 trend: kombinácia KG embeddingov (RotatE, TransE) s LLM
Molekuly a materiály
- Uzly = atómy, hrany = väzby + 3D geometria
- Cieľ: predikcia vlastností (toxicity, solubilita, väzbová energia)
- Kľúčové nástroje: RDKit pre konverziu SMILES na grafy, PyG Geometric pre tréning
Praktický workflow
- Definuj graf – čo sú uzly, čo sú hrany, či sú orientované, či sú časové
- Zostroj príznaky – uzlové
x_v, hranovée_(u,v), častak relevantný - Zvoľ úlohu a loss – node classification / link prediction / graph classification
- Baseline najprv – GCN alebo GraphSAGE + porovnaj s MLP/XGBoost na samotných features
- Škáluj opatrne – sampling, hĺbka 2–4 vrstvy, dropout, batch normalizácia
- Férová evaluácia – pri link prediction časové delenie, správne negatívne vzorky, žiadny leakage
9. Bezpečnosť a súkromie
Keď graf obsahuje ľudí a vzťahy, platia špecifické riziká:
- GNN môžu nepriamo odhaliť citlivé vzťahy – link prediction de facto hovorí „kto s kým súvisí".
- Membership inference: útočník dokáže zistiť, či konkrétny uzol alebo hrana boli v tréningových dátach.
- Re-identifikácia cez štruktúru: grafový „odtlačok" (stupeň uzla, trojuholníky, centrality) môže byť dostatočný na de-anonymizáciu.
Praktické opatrenia:
- Minimalizovať a hashovať identifikátory (samotný hashing nestačí ako ochrana).
- Prístupové kontroly k surovému grafu – oddeliť tréning od inference prostredia.
- Zvážiť differential privacy (DP-GNN) alebo tréning na agregovaných subgrafoch pri citlivých doménach (zdravotníctvo, financie).
- Pri GraphRAG: kontrolovať, aké vzťahy sú dostupné cez retrieval.
10. Súvislosti
- Deep Learning: GNN sú jeho špeciálna trieda pre grafové dáta.
- Attention: GAT váži susedov pozornosťou; transformer je vlastne GNN nad úplným grafom so self-attention.
- Inductive bias: permutačná invariancia je silný a správny bias GNN pre neusporiadané dáta.
- RAG: GraphRAG rozširuje klasický RAG o grafovú štruktúru znalostí.
- Guardrails: pri grafoch s ľuďmi rieš súkromie – link prediction priamo odhaľuje vzťahy.
Quick Reference
| Otázka | Odpoveď |
|---|---|
| Kedy GNN dáva zmysel? | Vzťahy medzi entitami nesú kľúčovú informáciu (sieťové efekty) |
| Najčastejšie úlohy? | Node classification, link prediction, graph classification |
| Koľko vrstiev? | Začni s 2–3; väčšia hĺbka = over-smoothing |
| Aká agregácia? | Mean je robustná, sum je expresívnejší, attention adaptívny |
| Najčastejšie chyby? | Leakage v evaluácii, zlé negatívne vzorky, príliš hlboká sieť, šum v grafe |
| Frameworky 2026? | PyTorch Geometric, Deep Graph Library, NetworkX (explorácia) |
Zhrnutie
- GNN využívajú štruktúru grafu a vymieňajú informácie medzi susedmi cez
message passing– čím viac vrstiev, tým väčší dosah do okolia. - Najviac vyhrávajú tam, kde sú vzťahy rovnako dôležité ako vlastnosti objektov: rekomendácie, fraud detection, knowledge graphs, molekuly.
- V roku 2026 je kľúčovým trendom integrácia s LLM – GraphRAG a LLM-augmented node features posúvajú výsledky výrazne vyššie.
- V praxi rozhoduje kvalita grafu, férová evaluácia a škálovanie – jednoduchý model s dobrými features porazí komplexnú architektúru na zlom grafe.