What is Federated Learning?
Federated learning is a machine learning technique that trains algorithms across multiple decentralized edge devices or servers holding local data samples, without exchanging them. This approach addresses data privacy, security, and access rights concerns.
How It Works
-
Central Model Distribution
- Server sends model to clients
- Same initial weights
-
Local Training
- Each client trains on local data
- Data never leaves device
-
Update Aggregation
- Clients send model updates
- Server aggregates updates
-
Model Update
- Combined model distributed
- Process repeats
Types of Federated Learning
Horizontal (Sample-Based)
- Same features, different samples
- Mobile devices with similar data types
Vertical (Feature-Based)
- Same samples, different features
- Organizations with different data about same entities
Federated Transfer
- Different samples and features
- Transfer learning across domains
Privacy Techniques
Differential Privacy Add noise to updates.
Secure Aggregation Encrypt individual updates.
Homomorphic Encryption Compute on encrypted data.
Use Cases
- Mobile keyboard prediction
- Healthcare research
- Financial fraud detection
- Smart home devices
- Autonomous vehicles
Challenges
- Communication efficiency
- Non-IID data distribution
- Client selection and availability
- Aggregation attacks
- Model convergence