gaia.core.hierarchical_messaging module
Complete Hierarchical Message Passing for GAIA Framework
Implements Section 3.4 from GAIA paper: “Hierarchical Message Passing”
THEORETICAL FOUNDATIONS: - θ_σ parameters for each simplex σ ∈ X_n - Local objective functions L_σ(θ_{d_0σ},…,θ_{d_nσ}) for each simplex - Update rule combining gradient information from (n+1) faces - Instructions from degeneracies that include σ as face - Inner horn solvers update parameters by composing gradients from face maps - Outer horn solvers train inverses - Hierarchical update scheme where information percolates up/down simplicial complex
- class gaia.core.hierarchical_messaging.SimplexParameters(simplex_id, dimension, parameters, faces=<factory>, degeneracies=<factory>)[source]
Bases:
object
Parameters θ_σ for a specific simplex σ
From GAIA paper: “For each simplex σ∈X_n with faces d_i σ∈X_{n-1}, define parameter vectors θ_σ”
- parameters: <MockTorch name='mock.Tensor' id='4349657872'>
- __init__(simplex_id, dimension, parameters, faces=<factory>, degeneracies=<factory>)
- class gaia.core.hierarchical_messaging.LocalObjective(simplex_id, objective_function, face_parameters=<factory>, weight=1.0)[source]
Bases:
object
Local objective function L_σ for a simplex
From GAIA paper: “Local objective functions L_σ(θ_{d_0σ},…,θ_{d_nσ}) for each simplex”
- face_parameters: Tensor' id='4349657872'>]
- __init__(simplex_id, objective_function, face_parameters=<factory>, weight=1.0)
- class gaia.core.hierarchical_messaging.HierarchicalMessagePasser(max_dimension=3, device='cpu')[source]
Bases:
object
Complete hierarchical message passing system
Implements the full theoretical framework from Section 3.4
- add_simplex(simplex_id, dimension, parameter_dim, faces=None, degeneracies=None)[source]
Add simplex with parameters θ_σ
- Parameters:
- add_local_objective(simplex_id, objective_function, weight=1.0)[source]
Add local objective function L_σ for simplex
- compute_face_gradient_combination(simplex_id)[source]
Compute gradient combination from (n+1) faces
From GAIA paper: “Update rule for θ_σ combining gradient information de (n+1) faces”
- compute_degeneracy_instructions(simplex_id)[source]
Compute instructions from degeneracies
From GAIA paper: “Instructions desde degeneracies que incluyen σ como face”
- hierarchical_update_step(learning_rate=0.01)[source]
Perform one hierarchical update step
From GAIA paper: “Hierarchical update scheme donde información percolates up/down el simplicial complex”
- percolate_information_up()[source]
Percolate information up the simplicial complex (from low to high dimension)
Information flows from faces to higher-dimensional simplices
- percolate_information_down()[source]
Percolate information down the simplicial complex (from high to low dimension)
Information flows from higher-dimensional simplices to their faces