Skip to content
View adityabhagwani's full-sized avatar

Block or report adityabhagwani

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
adityabhagwani/README.md

Hi, I'm Adi πŸ‘‹

Electrical and Computer Engineering student at the University of Washington working at the intersection of machine learning research and embedded systems.


πŸ”¬ Currently Researching

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


πŸ› οΈ Featured Projects

Curve Optimizer β€” FFT-Based Post-Processing for Overfit DNNs

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

Audio-Reactive LED Matrix (ESP32-S3)

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 against esp-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

Sword Strike Classifier β€” TinyML on IMU Data

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.

β†’ sword-strike-classifier

TFLite Quantization & Compression Pipelines

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.

β†’ tinyml-quantization


🧰 Tech Stack

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


πŸ“š Background

University of Washington β€” Electrical & Computer Engineering Coursework spanning TinyML/DNN quantization, embedded systems (ESP32 firmware, sensor interfacing), and systems programming in C.


πŸ“« Reach Me

  • Email: bhagwani@uw.edu
  • LinkedIn: linkedin.com/in/adityabhagwani
  • Portfolio: adityabhagwani.com

Popular repositories Loading

  1. Curve-Optimizer Curve-Optimizer Public

    Optimizes overfit DNNs without retraining: treats model output as a signal, removes memorization noise via FFT low-pass filtering. Validated on synthetic time-series (lag, multi-lag, AR) and real e…

    Jupyter Notebook

  2. TF_Lite-Quantization-and-TinyML-Optimization TF_Lite-Quantization-and-TinyML-Optimization Public

    Jupyter Notebook

  3. adityabhagwani adityabhagwani Public

    ECE student at the University of Washington exploring machine learning, optimization, and embedded intelligence. My work focuses on neural network behavior, TinyML deployment, signal processing, an…

  4. Gradient-Variance-Experiments Gradient-Variance-Experiments Public

    Does memorization leave a measurable fingerprint in a neural network's per-neuron gradient dynamics? A multi-dataset experimental sweep comparing gradient direction consistency and magnitude volati…

    Jupyter Notebook

  5. Embedded-Audio-Visualization-System Embedded-Audio-Visualization-System Public

    Real-time audio-reactive LED system on a dual-core ESP32-S3. FFT based beat detection and frequency-band analysis drive a 300-LED serpentine grid through three modes: beat-synced strobe, radial fre…

    C++