Major changes:
- Implement correct DP-SGD noise formula based on research (Optax/TF Privacy)
- Add Server-Sent Events (SSE) for real-time epoch-by-epoch training progress
- Remove parameter capping to respect user-specified privacy settings
- Update presets with research-validated parameters (~95-97% MNIST accuracy)
- Add rate limiting for training endpoint
- Consolidate gradient utilities into shared module
- Improve privacy calculator with RDP-based accounting
- Fix security headers and CORS configuration
- Add threaded mode for Flask SSE streaming support
Research-validated defaults:
- noise_multiplier=1.1, clipping_norm=1.0, learning_rate=0.15
- Achieves ~96% accuracy on MNIST with reasonable privacy (ε≈3-5)
Co-authored-by: Cursor <cursoragent@cursor.com>
log to supabase
Jethro85
edd271d
log to supabase
Jethro85
79d5f1b
log to supabase
Jethro85
bdb2e55
Enhanced privacy attack visualizations and DP-SGD defense explanations
Shuya Feng
6264b1a
Major improvements:
- Replaced digit 7 with realistic medical patient records in membership inference
- Fixed tab overlap with responsive flex layout
- Added concrete 4x4 grid visualization for data reconstruction with varying privacy levels
- Implemented dynamic Model Inversion attack with privacy-based noise/blur
- Added privacy sliders and real-time feedback for Property Inference
- Fixed linkage attack logic (correct epsilon to success rate mapping)
- Removed redundant privacy indicator bars for cleaner UI
- Added personalized DP-SGD defense cards within each attack section
- Each defense explanation is specific to its attack type with unique analogies
- Increase epochs slider maximum from 20 to 50
- Set default epochs value to 30 in UI
- Update all preset configurations (High Privacy, Balanced, High Utility) to use 30 epochs
- Update setOptimalParameters function to use 30 epochs
- Ensures consistent training duration across all dataset/architecture combinations
Add multi-dataset and ResNet-18 architecture support
- Fix dataset selection: now properly switches between MNIST, CIFAR-10, and Fashion-MNIST
- Add ResNet-18 architecture option alongside existing MLP and CNN models
- Implement dynamic data preprocessing based on model architecture (flatten for MLPs, keep 2D/3D for CNNs)
- Add model architecture parameter to frontend and backend
- Cache trainers by dataset+architecture combination for efficiency
- Update privacy budget calculations to use correct dataset sizes
- Support for all architecture combinations across datasets
Replace the dummy data with true dataset
Shuya Feng
e3e63bf
udpate
Shuya Feng
b0b2c21
Update gradients clipping chart
Shuya Feng
8ad5d56
feat: Implement DP-SGD Explorer web application with Flask backend, interactive frontend, and easy deployment script