Background
The 2020 research attempted to implement federated learning using TensorFlow Federated (TFF) 0.40.0, but:
- TFF 0.40.0 has unresolvable dependency conflicts (jaxlib==0.3.14 doesn't exist for Python 3.9+)
- The FL code (
train_federated_simulation.py) never successfully used botnet data - it still uses EMNIST digits
- Time pressure + API complexity led to incomplete adaptation
See: docs/project-analysis/RETROSPECTIVE.md lines 103-143
Goals for Modern Branch
-
Evaluate modern TFF versions:
- TFF 0.60+ (2024 releases)
- Check if API has improved since 2020
- Verify TensorFlow 2.15+ compatibility
-
Alternative frameworks:
- Flower - Modern FL framework, framework-agnostic
- Better documentation than 2020-era TFF
- Active community support
-
Implementation research:
- Can we adapt tabular data (115 features) to FL architecture?
- Simulate multiple IoT devices as FL clients
- Compare centralized vs federated training results
-
Stretch goal:
- Actually implement FL with N-BaIoT dataset
- Per-device models with federated aggregation
- Demonstrate privacy-preserving botnet detection
Success Criteria
Notes
- This is research/exploration, not a blocker
- Focus on modern main branch, not archive branches
- Original 2020 attempt was valid for the time - tools have improved
- May result in new paper/publication if successful
Background
The 2020 research attempted to implement federated learning using TensorFlow Federated (TFF) 0.40.0, but:
train_federated_simulation.py) never successfully used botnet data - it still uses EMNIST digitsSee:
docs/project-analysis/RETROSPECTIVE.mdlines 103-143Goals for Modern Branch
Evaluate modern TFF versions:
Alternative frameworks:
Implementation research:
Stretch goal:
Success Criteria
Notes