Training deep-learning models often continues long after true
convergence, wasting GPU hours.\
Resonant Convergence Analysis (RCA) is a new open-source callback
that detects real convergence by analyzing oscillation patterns in
validation loss instead of relying on naive patience counters.
What is RCA?
RCA introduces two parameters:
Symbol Meaning Typical Range
β    Resonance amplitude (training stability)   0--1
  ω    Resonance frequency (oscillation phase)    ≈6 ± 0.5
Training stops when β ≥ 0.75 and oscillations flatten below a small
Δloss threshold.
Quick Example
from resonant_learner import ResonantCallback
rca = ResonantCallback(
    checkpoint_dir="./checkpoints",
    patience_steps=4,
    min_delta=0.003,
    ema_alpha=0.4,
    lr_reduction_factor=0.7,
    min_lr=1e-5,
    verbose=True,
)
for epoch in range(epochs):
    train_loss = train_epoch(...)
    val_loss = validate(...)
    rca(val_loss=val_loss, model=model, optimizer=optimizer, epoch=epoch)
    if rca.should_stop():
        print("RCA triggered early stopping.")
        break
Results (Production Validation)
Dataset Baseline RCA Compute Saved ΔAccuracy
MNIST                      30      18         40%         +0.12%
  Fashion-MNIST              30      16         47%         −0.67%
  CIFAR-10 (ResNet-18)       60      45         25%         +1.35%
  BERT SST-2                 10       7         30%         −0.11%
Average compute reduction: ≈36%, accuracy preserved.
Installation
git clone https://github.com/Freeky7819/resonant-learner
cd resonant-learner
pip install torch torchvision
pip install -U pip setuptools wheel
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install tqdm numpy pandas matplotlib timm transformers datasets
pip install -e .
pytest -q
python verify_installation.py
Reproduction Commands
CIFAR-10
- python examples/cifar10_rca.py --epochs 60 --batch-size 128 --seed 42
BERT SST-2
- python examples/hf_bert_glue.py --task sst2 --epochs 10 --batch-size 32 --seed 42
Learn More
📄 Scientific Validation Report on
Zenodo\
🔗 GitHub Repository\
🧠 Author: Damjan Žakelj --- Harmonic Logos 
"Stop training when your model converges, not epochs later."
 

 
    
Top comments (0)