Weights Generated by a Filter, Not Randomly Sampled

← Back to the full catalog

Objective. Replace a layer’s randomly-initialized weight rows with rows generated by an IIR filter’s impulse response (varying the pole band), to see whether structured, filter-generated weights help or hurt, and whether pairing them with FAct produces any synergy.

   
GPU(s) local (CUDA_VISIBLE_DEVICES=0, host not separately logged)
Dataset(s) FashionMNIST, CIFAR-10
Model Small MLP with IIR-generated weight rows (bands: b2, b8, b32, Nyquist)

Weights Generated by a Filter, Not Randomly Sampled — result chart

Result summary

  • Wins on FashionMNIST; ties or loses on CIFAR-10 — and with 5–7x more seed-to-seed variance than the dense baseline.
  • An LR-search pilot (seed 0) found the best learning rate differs by arm: dense best at 1e-3, most IIR-banded variants best around 3e-3.
  • Rank is set by the pole band, not the pole count — a wider band (iir_bnyq) consistently outperforms a narrower one (iir_b2) at matched parameter count.
  • Frequencies don’t train (damping does) — and pairing IIR-generated weights with FAct shows no synergy: the FAct-augmented variants (+fact suffix) don’t outperform their plain IIR counterparts by more than IIR or FAct do alone.
  • Confirmed elsewhere in this project: FAct aliases in any unnormalized MLP with roughly a dozen periods of preactivation range — normalize first, or the periodic activation sees frequencies it was never fit to.

Insights

  • Structured weight generation is a real, if noisy, lever on its own (band matters, count doesn’t) — but it doesn’t combine additively with a structured activation. Two different kinds of “structure” in a network don’t automatically stack.

← Back to the full catalog