Stage 6: Heterogeneous RGCN — Multi-Cloud Threat Detection

Part of the research project: Intelligent Threat Detection using GNN in Multi-Cloud Environments

Architecture

Property Value
Model Heterogeneous RGCN (RGCNConv)
Framework PyTorch Geometric
Init Strategy GraphSAGE-style projection (Stanford)
PEFT GNN Adapter layers (residual bottleneck)
Hidden Dim 256
Output Dim 128
Layers 3
Node Types user, device, cve, cloud, role, ip
Edge Types assumes_role, accesses, connects_to, has_vuln, deployed_on, lateral_movement, exploits, grants_access
Task Node threat scoring + edge anomaly detection
Best Val AUC 0.9853

Graph Schema

user ──assumes_role──► role ──grants_access──► cloud
user ──accesses──────► device ──has_vuln──────► cve
user ──connects_to───► ip ──connects_to───────► device
device ──lateral_movement──► device
device ──deployed_on──► cloud
cve ──exploits──────────────► device

Sample Output

Node:        user_4456
Type:        user
Probability: 0.7231
Risk:        🔴 HIGH
Top Edge:    lateral_movement

Influence per relation:
  lateral_movement    +0.21031
  has_vuln            +0.14203
  assumes_role        +0.08821
  accesses            −0.03102

How to Load

import torch, json
from huggingface_hub import hf_hub_download

weights_path = hf_hub_download(repo_id="adarsh-aur/Heterogenous_GNN", filename="model_final.pt")
config_path  = hf_hub_download(repo_id="adarsh-aur/Heterogenous_GNN", filename="config.json")

with open(config_path) as f:
    cfg = json.load(f)

model = HeteroRGCN(
    feat_dims     = cfg["feat_dims"],
    node_types    = cfg["node_types"],
    edge_types    = [tuple(et) for et in cfg["edge_types"]],
    hidden_dim    = cfg["hidden_dim"],
    out_dim       = cfg["out_dim"],
    num_layers    = cfg["num_layers"],
    dropout       = cfg["dropout"],
    adapter_rank  = cfg["adapter_rank"],
    predict_types = cfg["predict_types"],
)
model.load_state_dict(torch.load(weights_path, map_location="cpu"))
model.eval()

Pipeline Position

Stage Component
Stage 5 Graph Construction + Feature Fusion
Stage 6 Heterogeneous Structural GNN ← this model
Stage 7 Temporal GNN
Stage 8 Risk Fusion MLP

Training Details

Property Value
Optimizer AdamW
Scheduler CosineAnnealingWarmRestarts
Loss BCEWithLogitsLoss + pos_weight (imbalance correction)
Epochs 150
Hardware Kaggle T4 x2
Downloads last month
41
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support