Objectives
An objective simply consists in a loss function and a decoder. Node-level objectives compute a loss for every node in a time-window graph, whereas edge-level ones compute loss for all edges. This makes node-level objectives usually faster but less powerful than edge-level objectives to capture pair-wise information.
predict_edge_supervised is the only supervised objective: it learns from attack edges that you provide. See Supervised Fine-Tuning.
Arguments¶
- predict_edge_supervised
- decoder: str (1)
- mode: str (2)
- top_n_attacks: int (3)
- attack_patterns: list (4)
- max_edges_per_pattern: int (5)
- attack_edges_path: str (6)
- pos_weight: float (7)
- predict_edge_type
- loss: str (8)
- decoder: str (9)
- balanced_loss: bool
- use_triplet_types: bool
- AMS
- version: int
- margin: float
- scale: int
- predict_node_type
- decoder: str (10)
- balanced_loss: bool
- predict_masked_struct
- loss: str (11)
- decoder: str (12)
- balanced_loss: bool
- detect_edge_few_shot
- decoder: str (13)
- predict_edge_contrastive
- decoder: str (14)
- reconstruct_node_features
- loss: str (15)
- decoder: str (16)
- reconstruct_node_embeddings
- loss: str (17)
- decoder: str (18)
- reconstruct_edge_embeddings
- loss: str (19)
- decoder: str (20)
- reconstruct_masked_features
- loss: str (21)
- mask_rate: float
- decoder: str (22)
- one_class
- decoder: str (23)
- beta: float (24)
- eps: float (25)
- warmup: int (26)
- Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone - 'scores': pick top-N from an edge_scores pkl; 'patterns': match hand-crafted TTP patterns; 'synthetic': use pre-computed embeddings for explicit attack edge definitions.
Available options (one selection):scorespatternssynthetic - (scores mode) Number of top-loss edges to use as attack examples.
- (patterns mode) List of TTP pattern dicts.
- (patterns mode) Max edges collected per pattern.
- (synthetic mode) Path to YAML file with explicit (src_type, src_label, edge_type, dst_type, dst_label) attack edge definitions.
- BCE pos_weight for the attack class (on top of 1:1 oversampling).
- Loss used to predict the edge type.
Available options (one selection):cross_entropyBCE - Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone - Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone
Available options (one selection):cross_entropyBCE- Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone - Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone - Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone
Available options (one selection):SCEMSEMSE_sumMAEnone- Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone
Available options (one selection):SCEMSEMSE_sumMAEnone- Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone
Available options (one selection):SCEMSEMSE_sumMAEnone- Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone
Available options (one selection):SCEMSEMSE_sumMAEnone- Decoder used before computing loss.
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone - Decoder applied to embeddings before the hypersphere; use 'none' (identity).
Available options (one selection):edge_mlpnode_mlpmagic_gatnodlinkinner_productnone - Soft-boundary fraction; radius is the (1-beta) distance quantile.
- Center slack keeping |c| away from zero.
- Kept for parity; a no-op (c/r update every train step).