Two-sided conditioned DFA / report.md
Failed on benchmark
Эксперимент: Two-sided conditioned DFA (#445)
{ "worked": true, "confidence": 8, "verdict": "Built a two-sided conditioned DFA MVP with EMA activity/error covariances, damped linear solves, mechanism checks, and matched raw/activity-only/error-only/two-sided DFA training runs. The required mechanism manifested: outer-product factorization error was 1.22e-15, the anisotropy sweep exactly matched predicted transformed-covariance ratios, scalar two-sided gain matched 1/((cE+lambdaE)(cA+lambdaA)) to numerical precision, and an independent 200k-sample covariance check had maximum error 0.0068. In training, two-sided DFA improved over raw DFA (83.6% vs 78.5%), but activity-only was better (86.9%) and conditioning incurred substantial overhead, so this is mechanism-confirmed rather than a demonstrated overall optimization win.", "metrics": { "baseline": "Raw DFA: accuracy 0.7853 +/- 0.0342, loss 0.6339, 0/3 divergences, 0.49 s mean.", "idea": "Two-sided DFA: accuracy 0.8356 +/- 0.0173, loss 0.4318, 0/3 divergences, 49.72 s mean; activity-only reached 0.8687 accuracy and 0.3272 loss, while error-only reached 0.5356 accuracy and 0.9626 loss." }, "how_to_run": "/home/maxwelhelp/main/bin/python3 experiment.py", "files": [ "experiment.py", "results.json", "run_output.txt" ], "limitations": "Only a small synthetic anisotropic 3-class MLP was tested, not MNIST, Fashion-MNIST, or CNNs. Learning-rate sweeps, K-step preconditioner refreshes, Cholesky implementations, FLOP-normalized comparisons, and broader damping/beta studies were not tested; wall-clock measurements were CPU-only and reflect repeated dense linear solves." }