Skip to content

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)
  1. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none
  2. '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):
    scores
    patterns
    synthetic
  3. (scores mode) Number of top-loss edges to use as attack examples.
  4. (patterns mode) List of TTP pattern dicts.
  5. (patterns mode) Max edges collected per pattern.
  6. (synthetic mode) Path to YAML file with explicit (src_type, src_label, edge_type, dst_type, dst_label) attack edge definitions.
  7. BCE pos_weight for the attack class (on top of 1:1 oversampling).
  8. Loss used to predict the edge type.

    Available options (one selection):
    cross_entropy
    BCE
  9. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none
  10. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none

  11. Available options (one selection):
    cross_entropy
    BCE
  12. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none
  13. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none
  14. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none

  15. Available options (one selection):
    SCE
    MSE
    MSE_sum
    MAE
    none
  16. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none

  17. Available options (one selection):
    SCE
    MSE
    MSE_sum
    MAE
    none
  18. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none

  19. Available options (one selection):
    SCE
    MSE
    MSE_sum
    MAE
    none
  20. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none

  21. Available options (one selection):
    SCE
    MSE
    MSE_sum
    MAE
    none
  22. Decoder used before computing loss.

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none
  23. Decoder applied to embeddings before the hypersphere; use 'none' (identity).

    Available options (one selection):
    edge_mlp
    node_mlp
    magic_gat
    nodlink
    inner_product
    none
  24. Soft-boundary fraction; radius is the (1-beta) distance quantile.
  25. Center slack keeping |c| away from zero.
  26. Kept for parity; a no-op (c/r update every train step).