DFouT = coverage
DFouT already places poles over a broad Fourier grid. The remaining problem is selecting which modes matter for each sample.
Active research project
Topo_S4 now frames persistent homology as a frequency selector rather than an extra-capacity module. DFouT supplies broad frequency coverage; 2D log-mel cubical PH localizes persistent time-frequency topology; and a zero-parameter Sobolev C-gate selectively modulates the existing DFouT residues.
Earlier Topo_S4 branches focused on 1D FFT PH, group-delay reliability, and learnable PH adapters. The current direction uses 2D log-mel cubical PH because speech evidence is naturally time-frequency structured. Betti curves showed that cubical PH contains class signal, but Betti summaries discard location. GUDHI persistence pair cofaces recover where birth/death events occur, allowing PH to select frequency bands for DFouT pole modulation.
DFouT already places poles over a broad Fourier grid. The remaining problem is selecting which modes matter for each sample.
Log-mel cubical PH detects persistent 2D time-frequency components and holes rather than raw spectral peaks alone.
Birth/death cofaces identify the time-frequency locations of persistent events, which can be projected to frequency.
The log-mel spectrogram is normalized and treated as a 2D cubical filtration.
The filtration defines the PH problem. Betti curves are only global summaries of the resulting PH.
GUDHI birth/death cofaces locate persistent events on the time-frequency grid.
Time marginalization gives s_PH(f), a PH-salient frequency curve.
The frequency saliency curve is converted into pseudo-peaks expected by the direct-PH C path.
P96 means the top 96 frequency pseudo-peaks, not 96 raw GUDHI pairs.
Mel-bin coordinates are mapped to physical frequency before DFouT pole alignment.
This replaces normalized mel-bin coordinates and improves pole-frequency interpretation.
Each PH support interval softly overlaps DFouT poles through a Lorentzian window.
The gate modulates existing poles rather than creating new basis functions.
A contrastive high-band score and mild Sobolev factor produce a multiplicative C gate.
The PH module has zero learnable parameters.
These are current 20% effective-data results under the official DFouT learning rate lr=0.001. They are not the final full-dataset SC35 claim. Full 100% dataset results will be added separately.
PH-guided beta=0.5, 20% data.
PH-guided beta=0.5, 20% data.
Over 20% DFouT-init baseline.
Over 20% DFouT-init baseline.
| Method | Setting | Best epoch | Train acc | Dev acc | Test acc | Time |
|---|---|---|---|---|---|---|
| DFouT-init baseline | lr=0.001 | 30 | 98.71% | 90.70% | 88.78% | 53.6m |
| PH-guided C/Sobolev | P96, support=3.0, beta=0.5, lr=0.001 | 39 | 99.36% | 91.03% | 89.21% | 107.4m |
| PH-guided C/Sobolev | P96, support=3.0, beta=1.0, lr=0.001 | 34 | 99.24% | 90.78% | 89.10% | 93.6m |
Current interpretation: beta=0.5 gives the best dev and test result. beta=1.0 remains above baseline on test accuracy, but the smaller dev gain suggests that the Sobolev factor should stay mild.
The claim is not that PH-guided Sobolev maximizes Fisher separation. Instead, PH-guided Sobolev improves downstream accuracy while suppressing much of the within-class variance and noise amplification caused by uniform Sobolev weighting.
| Representation | Within | Between | Fisher |
|---|---|---|---|
| Raw | 15.519 | 0.728 | 0.04688 |
| Uniform Sobolev | 20.017 (+28.98%) | 0.977 (+34.30%) | 0.04881 (+4.12%) |
| PH-guided Sobolev | 17.554 (+13.11%) | 0.819 (+12.52%) | 0.04663 (-0.52%) |
Uniform Sobolev improves Fisher slightly, but by aggressively increasing both between-class separation and within-class variance.
| Representation | MSE | Mean abs |
|---|---|---|
| Raw | 172,076 | 2.468 |
| Uniform Sobolev | 235,691 (+36.97%) | 2.870 (+16.28%) |
| PH-guided Sobolev | 193,368 (+12.37%) | 2.619 (+6.11%) |
PH-guided Sobolev is less aggressive and keeps noise amplification much lower than uniform Sobolev.
| P | Mass | HF mass | Cosine | Eff. poles |
|---|---|---|---|---|
| 32 | 0.3436 | 0.3074 | 0.6351 | 12.98 |
| 64 | 0.6127 | 0.5887 | 0.8337 | 20.14 |
| 96 | 0.8373 | 0.8282 | 0.9627 | 25.50 |
| 128 | 1.0000 | 1.0000 | 1.0000 | 28.95 |
P96 keeps most PH/HF mass without becoming the fully dense P128 setting.
| support_bins | Coverage | Interpretation |
|---|---|---|
| 2.0 | 0.645 | too narrow |
| 3.0 | 0.843 | main setting |
| 4.0 | 0.951 | getting broad |
| 5.0+ | ≈1.000 | nearly dense boost |
support=3.0 gives enough pole coverage while preserving PH-specific selectivity.
The exact script name may differ by branch, but the scientific configuration should match this target.
For 20% effective-data runs, scheduler_total_steps should be corrected from 200000 to approximately 40000.
Add full-dataset SC35 results, then run the core ablations: baseline, real PH, global shuffle, within-class shuffle, no Sobolev, residual center, and no-center.
Repeat the best 20% and full-data settings across multiple seeds and use class-conditional shuffles to separate instance-level PH from class-level topology.