- Notifications
You must be signed in to change notification settings - Fork8
Project aimed for the insights into the implementation of Federated Learning.
License
paxF3E/Image-Classification-by-Federated-Learning
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Project aimed to provide introduction to and insights of the implementation of Fedarated Learning.
Standard machine learning algorithms necessitate storing training data on a single computer or in a datacenter. And, in order to improve our services, Google has constructed one of the most secure and strong cloud infrastructures. We're now presenting a new technique for models trained through user interaction with mobile devices: Federated Learning.
Federated learning is a technique for machine learning that enables models to learn from several data sets located at various locations (such as regional data centres or a central server) without sharing training data. This minimises the likelihood of personal data breaches by allowing personal data to stay in local locations.
Federated learning is a technique for training other machine learning algorithms that uses many local datasets without exchanging data. This enables businesses to build a common global model without storing training data in a centralised location.
Implementation of Federated Learning gist of which are:
- Train your model without uploading client's data on cloud
- Provides assurance of privacy in terms of interests and activity
- Model hosted on cloud only uplaods the results back to the server
- Thus, full-flegded security and assurance of none sort of fetching data/leakage.
- More Details on Federated Learning :https://federated.withgoogle.com/
Uses MNIST dataset of different writing styles considering them as data of various client's.
Train model on federated data; predicting and customizing model implementation for accurate results.
Federated learning works without storing user data in the cloud, but that is not all. There has been aSecure Agression Potocol put in place which used crytographic techniques so a server(cloud) can decryptaverage update only when 100s or 1000s of users/devices have participated - no individual data cannot be accessed befor averaging. Federated Averaging was designed so that the coordinating server only needs the average update, allowing Secure Aggregation to be used; however, the protocol is general and can be applied to other problems as well.
Applying Federated Learning requires machine learning practitioners to adopt new tools and a new way of thinking: model development, training, and evaluation with no direct access to or labeling of raw data, with communication cost as a limiting factor.
- Gboard query suggestions.
- Photo rankings based on what kinds of photos people look at, share, or delete.
- There are many ML problems which federated learning cannot solve.( Example: Find the species of flower, diffrent dog breeds).
- tensorflow_federated_nightly also bring in tf_nightly, which can causes a duplicate tensorboard install, leading to errors.
- Follow the commands below to set up your environment correctly
pip uninstall --yes tensorboard tb-nightly
removing previous versions to avoid duplicate installationspip install --quiet --upgrade tensorflow-federated-nightly
upgrading the packagepip install --quiet --upgrade nest-asyncio
installing/upgrading other dependenciespip install --quiet --upgrade tb-nightly
or tensorboard, not both
- This project has been setup in Google Colaboratory Notebook. To have better experience and to keep focus on main thing, use Google Colaboratory Notebooks for easy environment setup.
- Check outhttps://www.tensorflow.org/federated/ for more details on
tensorflow_federated
- Fork this repository (Click the Fork button in the top right of this page, click your Profile Image)
- Clone your fork down to your local machine
git clonehttps://github.com/your-username/mage-Classification-by-Federated-Learning.git
- Create a branch
git checkout -b branch-name
- Make your changes
- Commit and push
git add .git commit -m 'Commit message'git push origin branch-name
- Create a new pull request from your forked repository (Click the
New Pull Request
button located at the top of your repo) - Wait for your PR review and merge approval!
- Star this repository if you had fun!
- Implementation of self-customized models on your own.
- Extend the application of Federated Learning to various problems related to data privacy concerns.
- Have a better understanding in the sub-field of implementing data models using Federated Learning approach.
About
Project aimed for the insights into the implementation of Federated Learning.
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Contributors2
Uh oh!
There was an error while loading.Please reload this page.