Sherpa.ai Federated Learning and Differential Privacy Framework: Protect user privacy without renouncing the power of Artificial Intelligence
This technology could be disruptive in cases where it is compulsory to ensure data privacy, as in the following examples:
- When data contains sensitive information, such as email accounts, personalized recommendations, and health information, applications should employ data privacy mechanisms to learn from a population of users whilst the sensitive data remains on each user’s device.
- When data is located in data silos, an automotive parts manufacturer, for example, may be reluctant to disclose their data, but would benefit from models that learn from other manufacturers' data, in order to improve production and supply chain management.
- Due to data-privacy legislation, banks and telecom companies, for example, cannot share individual records, but would benefit from models that learn from data across several entities.
Sherpa.ai is focused on democratizing Federated Learning by providing methodologies, pipelines, and evaluation techniques specifically designed for Federated Learning. The Sherpa.ai Federated Learning SDK enables developers to simulate Federated Learning scenarios with models, algorithms, and data provided by the framework, as well as their own data.
import numpy as np
import tensorflow as tf
import shfl
from shfl.federated_government import FederatedGovernment
# Load data to use in simulation
database = shfl.data_base.Emnist()
train_data, train_labels, test_data, test_label = database.load_data()
# Deploy data over data nodes
iid_dist = shfl.data_distribution.IidDataDistribution(database)
federated_data, test_data, test_labels = iid_dist.get_federated_data(num_nodes=20,
percent=10)
# Create function that builds a model
def model_builder():
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.Dropout(0.1))
model.add(tf.keras.layers.Dense(10, activation='softmax'))
model.compile(optimizer="rmsprop",
loss="categorical_crossentropy",
metrics=["accuracy"])
return shfl.model.DeepLearningModel(model)
# Choose aggregattor
aggregator = shfl.federated_aggregator.FedAvgAggregator()
fed_government = FederatedGovernment(model_builder, federated_data, aggregator)
# Run a few rounds of federated learning
fed_government.run_rounds(3, test_data, test_label)
Use Cases
Improve Diagnostics and Care Using Secure and Private Patient Data
Sensitive data from the healthcare industry is subject to strict data protection regulations. In order to learn from healthcare information and share patient data securely, Federated Learning can be employed so that medical institutions can ensure data privacy, while providing patients with the most advanced processes, diagnostic tools, and care possible.
Keep Funds Secure Without Sharing Customer Data
Banks and financial institutions can use Federated Learning to identify money laundering transactions by using private transaction data to build more capable models. All banks using the same system benefit from each other’s transaction data, without exposing their own raw data or customers' data to competitors.
Deploy Industry 4.0 without Disclosing Sensitive Data
Companies providing operations and maintenance services to customers across the globe can benefit from Federated Learning and Differential Privacy by learning from all equipment data available, without disclosing any sensitive customer data. Through anonymous collaboration, plants, machines, and factories of all sizes can be run more efficiently and intelligently, while private data remains protected.
Advance Research Using a Private Framework
Universities and research institutions can use Federated Learning to anonymously combine their efforts, advance their research, and amplify their findings, while ensuring their data remains private, thanks to a Federated Framework.
Train Automatic Surveillance Models while Ensuring Anonymity
Automatic surveillance systems can be trained using Machine Learning models from multiple facilities and their respective security equipment and information, without accessing surveillance images or information. The use of this technology ensures anonymity and privacy, while providing a way to increase safety and security measures using Artificial Intelligence techniques.
Facilitate Edge Computing and Train Models at the Data Source
The accelerated development of devices with increasing computational capabilities, such as mobile and IoT devices, has created the opportunity to learn complex models and decentralize data, using Edge Computing. Federated Learning helps to improve Machine Learning models on distributed devices by sharing global information among nodes, while ensuring data remains private on each device.
It is the most powerful framework on the market that respects user privacy, based on cutting edge Federated Learning technology.
FRANCISCO HERRERA, PH.D.
Professor of Computer Science and AI at the University of Granada; Senior Associate Researcher in Deep Learning and Machine Learning at Sherpa.ai
- Ph.D. in Mathematics
- Highly Cited Researcher (Thomson Reuters) in the areas of Engineering and Computer Sciences
- Spanish National Award in Computer Science
- More than 331 Journal papers published, which account for 85,240 citations in Google Scholar.
Competitive Benchmarking
Federated Learning and Differential Privacy Features | ||||||
---|---|---|---|---|---|---|
Federated Learning Framework | ||||||
Use Federated Models with different datasets | ||||||
Support other libraries | ||||||
Sampling Enviroment: IID or Non-IID data distribution | ||||||
Federated Aggregation Mechanisms | ||||||
Federated Attack Simulation | ||||||
Differential Privacy | ||||||
Mechanisms: Exponential, Laplacian, Gaussian | ||||||
Sensitivity Sampler | ||||||
Subsampling methods to increase privacy | ||||||
Adaptive Differential Privacy | ||||||
Desired Properties | ||||||
Documentation & Tutorials | ||||||
High-level API | ||||||
Ability to extend the framework with new properties |
- Complete
- Partial
- Not available
- Not specified