From c246afbbdb2c2b5456fb15847428232033ac6dbc Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sat, 11 Apr 2026 12:59:38 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20bottleneck=202=E2=86=9216=20=E2=80=94?= =?UTF-8?q?=208=C3=97=20more=20market=20feature=20information=20for=20all?= =?UTF-8?q?=20branches?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- config/training/dqn-localdev.toml | 2 +- config/training/dqn-production.toml | 2 +- config/training/dqn-smoketest.toml | 2 +- crates/ml/src/cuda_pipeline/gpu_dqn_trainer.rs | 2 +- crates/ml/src/trainers/dqn/config.rs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/training/dqn-localdev.toml b/config/training/dqn-localdev.toml index d66883c6e..5d814637b 100644 --- a/config/training/dqn-localdev.toml +++ b/config/training/dqn-localdev.toml @@ -90,7 +90,7 @@ causal_weight = 0.1 causal_intervention_interval = 10 adversarial_warmup_epochs = 50 adversarial_checkpoint_interval = 50 -bottleneck_dim = 0 +bottleneck_dim = 16 stochastic_depth_prob = 0.2 asymmetric_dd_weight = 0.5 time_reversal_mod = 5 diff --git a/config/training/dqn-production.toml b/config/training/dqn-production.toml index d3a060df5..2720654a1 100644 --- a/config/training/dqn-production.toml +++ b/config/training/dqn-production.toml @@ -106,7 +106,7 @@ causal_weight = 0.1 causal_intervention_interval = 10 adversarial_warmup_epochs = 50 adversarial_checkpoint_interval = 50 -bottleneck_dim = 0 +bottleneck_dim = 16 stochastic_depth_prob = 0.2 asymmetric_dd_weight = 0.5 time_reversal_mod = 5 diff --git a/config/training/dqn-smoketest.toml b/config/training/dqn-smoketest.toml index 54a2fbc5f..b90d8615d 100644 --- a/config/training/dqn-smoketest.toml +++ b/config/training/dqn-smoketest.toml @@ -101,7 +101,7 @@ time_reversal_mod = 10 # 10% reversed vs production 20% position_entropy_weight = 0.02 causal_weight = 0.05 # Half of production causal_intervention_interval = 50 # Less frequent than production (10) -bottleneck_dim = 0 # Disabled for smoketest (tiny network can't afford bottleneck) +bottleneck_dim = 16 # 16D bottleneck — 8× more market feature info for all branches adversarial_warmup_epochs = 100 # Beyond smoketest duration (don't activate saboteur) adversarial_checkpoint_interval = 100 pruning_epoch = 100 # Beyond 50-epoch test (don't prune tiny network) diff --git a/crates/ml/src/cuda_pipeline/gpu_dqn_trainer.rs b/crates/ml/src/cuda_pipeline/gpu_dqn_trainer.rs index 655c5d740..7832de37c 100644 --- a/crates/ml/src/cuda_pipeline/gpu_dqn_trainer.rs +++ b/crates/ml/src/cuda_pipeline/gpu_dqn_trainer.rs @@ -269,7 +269,7 @@ impl Default for GpuDqnTrainConfig { causal_weight: 0.1, causal_intervention_interval: 50, enable_gradient_vaccine: true, // always on - bottleneck_dim: 2, + bottleneck_dim: 16, market_dim: 42, // Default: 42 base features. Overridden to 50 when OFI (MBP-10) enabled. } } diff --git a/crates/ml/src/trainers/dqn/config.rs b/crates/ml/src/trainers/dqn/config.rs index 4b058d35f..29c3e27c3 100644 --- a/crates/ml/src/trainers/dqn/config.rs +++ b/crates/ml/src/trainers/dqn/config.rs @@ -1381,7 +1381,7 @@ impl DQNHyperparameters { hindsight_lookahead: 10, pruning_epoch: 50, // #20: compute mask at epoch 50 pruning_fraction: 0.7, // #20: prune 70% of smallest weights - bottleneck_dim: 2, // #31: 2D information compression (gem of gems) + bottleneck_dim: 16, // #31: 16D bottleneck — 8× more market feature info (was 2, threw away 97.6%) stochastic_depth_prob: 0.2, // #21: 20% drop probability per hidden layer mixup_alpha: 0.2, // Manifold Mixup: Beta(0.2,0.2) target distribution mixing // Core family intensity scalars: 1.0 = no change to defaults (neutral)