Federated learning is a machine learning approach where multiple parties collaborate to train a model without sharing their data. The main types of federated learning include horizontal federated learning, vertical federated learning, and federated transfer learning. Each type addresses different scenarios where data and its usage characteristics vary among participants.
Horizontal federated learning is used when the participants have data that shares the same feature space but is distributed across different entities. For example, imagine several hospitals that each have patient records but no overlap in individual patients. In this scenario, each hospital trains a local model on its dataset and only shares model updates, such as gradients, without exposing sensitive data. The central server aggregates these updates to improve the global model while maintaining privacy.
Vertical federated learning, on the other hand, occurs when different parties have different features for the same set of entities. An example could be a bank and a retailer that both want to build a model based on the same customers but have different information—like transaction behavior for the bank and purchasing behavior for the retailer. Through vertical federated learning, the models can share and learn from feature contributions without revealing raw data points. Lastly, federated transfer learning helps when one party has a large amount of labeled data while others have limited or no labeled data. This method allows participants to leverage knowledge from the more substantial dataset to improve their models, enhancing performance across the board.