File size: 2,670 Bytes
06e4b6f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | //! Suíte JEPA — módulos: núcleo, máscaras, patches, variantes,
//! SonicMoE, ReplaySSM (divisão SRP v0.10.0 — r-35 §2).
//! Suíte JEPA v0.5.0 — núcleo unificado + 12 variantes + SonicMoE + ReplaySSM.
//!
//! **Núcleo (todas as variantes compartilham):**
//! - codificador `E_θ` (MLp SiLU), preditor `P_φ` (condicionado por posição/
//! ação/edição), codificador-alvo EMA `E_ξ` com `ξ ← m·ξ + (1−m)·θ`
//! (gradiente cortado — alvo nunca recebe gradiente);
//! - regularizador variância-covariância (VICReg-lite) anti-colapso:
//! `V(z) = Σ_j max(0, γ − std(z_j))²` + fora-diagonal da covariância.
//! - perda: `L = Σ_b ‖P(z_ctx, pos_b) − sg(ẑ_b)‖²/B + λ_vc·V`.
//!
//! **Prova J-1 (impossibilidade de colapso, em r-20):** se todas as
//! incorporações colapsam para constante, `std(z_j) = 0 ∀j` ⇒ `V = d·γ² > 0`;
//! logo o colapso total NÃO é minimizador com `λ_vc > 0`.
//!
//! **Prova J-2 (EMA = stop-grad + ponto fixo):** `∂L/∂ξ = 0` (detach); se
//! `θ_t → θ*` então `ξ_t → θ*` (recursão linear contratante com `m < 1`).
//!
//! **Prova J-3 (decomposição de informação):** com `P` suficientemente
//! rico, `min_P L = Σ_b Var(ẑ_b | z_ctx)` — a perda retém só o componentes
//! previsíveis do alvo dado o contexto.
//!
//! **Variantes** (esquema de máscara + adaptador de modalidade):
//! Image-JEPA (blocos 2D) · V-JEPA 2 (tubos 3D + cond. de ação) · MC-JEPA
//! (cruz-modal, dois codificadores) · Audio-JEPA (bandas de espectrograma) ·
//! Point-JEPA (grupos FPS) · 3D-JEPA (voxels) · Brain-JEPA (canal×tempo) ·
//! T-JEPA (série temporal canal-independente) · LeJEPA (edição-condicionado) ·
//! BJEPA (bidirecional com consistência de ciclo).
//!
//! **SonicMoE** — MoE com roteamento top-k, capacidade por especialista
//! (tile-aware) e perda auxiliar de balanceamento (argumento Switch:
//! `L_aux = E·Σ f_e·p_e ≥ 1` com igualdade sse uniforme).
//!
//! **ReplaySSM** — SSM de porta diagonal (`h_t = σ(a)⊙h_{t−1} +
//! (1−σ(a))⊙(Bx_t)`, estabilidade herdada do Teo S-2') + replay de experiências
//! para aprendizado continuado (interpolação de gradientes limita o
//! esquecimento — Teo R-1).
use candle_core::{Device, Result, Tensor, Var};
use crate::camadas::Linear;
use crate::rng::RngDeterministico;
// ---- divisão SRP v0.10.0 (r-35 §2): submódulos + re-exports ----
#[cfg(test)]
mod testes;
mod mascaras;
mod nucleo;
mod patches;
mod replay_ssm;
mod sonic_moe;
mod variantes;
pub use mascaras::*;
pub use nucleo::*;
pub use patches::*;
pub use replay_ssm::*;
pub use sonic_moe::*;
pub use variantes::*;
|