Electrical and Computer Engineering student at the University of Washington working at the intersection of machine learning research and embedded systems.
Per-Neuron Gradient Dynamics as an Overfitting Signal
Investigating whether overfitting leaves a detectable signature in per-neuron gradient behavior during training β independent of the standard train/val loss gap. Core hypothesis: neurons in overfitted models show higher gradient instability over time than neurons in regularized, generalizing models, even at comparable training loss.
- Paired experiments with identical weight initialization, comparing an unregularized model against a regularized counterpart
- Developed directional cosine similarity (gradient agreement epoch-to-epoch, averaged over a post-convergence window) as the primary metric, after raw gradient magnitude variance proved too noisy and scale-sensitive
- Complementary log-ratio magnitude volatility metric, robust to scale differences between models
- Cross-validating across five dataset types β synthetic classification, image, tabular, and real-world regression β to separate a genuine, generalizable effect from a single-setup artifact
- Follow-on direction in progress: using these per-neuron signals as a live training-time trigger for selective neuron freezing β locking in neurons with stable, generalizing gradient behavior while the rest of the network keeps training
β Repository
A spectral filtering approach that improves a trained DNN's test-set predictions without retraining β by treating the model's output curve as a signal and removing high-frequency noise via a low-pass FFT filter.
- Core insight: an overfit DNN's predictions contain both the true underlying pattern and high-frequency memorisation artefacts; these are spectrally separable, so a hard LPF cutoff in the frequency domain can strip the artefacts without touching the signal
- The DNN is used as an interpolating device β queried at a regular time grid to produce a uniformly sampled 1-D curve suitable for FFT, rather than using its predictions on the (irregularly attended) test set directly
- Cutoff frequency selected via a sweep that maximises RΒ² on a held-out window; no labels required during the sweep β only the model's own output
- Validated on four synthetic time-series with increasing complexity (pure lag-1 β staggered multi-lag β AR(1) with coefficient 10 β five-term multi-lag AR at 40% noise) before being applied to a real-world electricity demand forecasting dataset (2020β2024, hourly), where it reduced RMSE by 20 MW and improved RΒ² by 0.007 over the raw DNN
- Identified key limitation: the method requires a 1-D (time-indexed) output curve and cannot extend to higher-dimensional input spaces β sampling a DNN defined over 6+ features at a dense regular grid is computationally intractable (curse of dimensionality), and FFT has no meaningful interpretation on an irregular high-dimensional sample
β curve-optimizer
Solo embedded systems project: a 300-LED WS2812B matrix (15Γ20, serpentine wiring) reacting to live audio in real time β hardware, firmware, and signal processing built end-to-end.
arduinoFFT(evaluated againstesp-dsp) for frequency analysis from a MAX9814 mic- EMA-based beat detection with min/max normalization, tuned against false-triggering on noise-floor drift
- Three render modes: exponential-decay bass flash, HSV radial frequency map, button-driven lyric display
- Dual-core architecture β audio sampling/FFT on one core, LED rendering/UI input on the other β synchronized via a shared volatile struct rather than FreeRTOS queues, prioritizing low-latency access over queue guarantees given the read/write pattern
β Embedded-Audio-Visualization-System
CNN pipeline classifying fencing strikes from accelerometer/gyroscope data, built for on-device TinyML deployment. Includes class-imbalance-aware augmentation, z-score normalization, stratified train/val/test splitting, and a separate multi-branch ensemble DNN for activity recognition on the Arduino Nano 33 BLE Sense.
INT8 / float16 / dynamic-range quantization, magnitude-based pruning, and knowledge distillation workflows deployed via Edge Impulse to the Arduino Nano 33 BLE Sense β including a UCI HAR activity-recognition pipeline and a fan-monitoring anomaly detection project.
ML / Research β PyTorch Β· TensorFlow/Keras Β· scikit-learn Β· pandas/NumPy Embedded β ESP32 / ESP32-S3 Β· Arduino Β· TFLite Micro Β· Edge Impulse Β· RTOS concepts Systems β C/C++ Β· GDB Β· Valgrind
University of Washington β Electrical & Computer Engineering Coursework spanning TinyML/DNN quantization, embedded systems (ESP32 firmware, sensor interfacing), and systems programming in C.
- Email: bhagwani@uw.edu
- LinkedIn: linkedin.com/in/adityabhagwani
- Portfolio: adityabhagwani.com