All Projects → microsoft → Robustdg

microsoft / Robustdg

Licence: mit
Toolkit for building machine learning models that generalize to unseen domains and are robust to privacy and other attacks.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Robustdg

Jean Zay Doc
Collaborative documentation for and from Jean Zay users. Official Jean Zay documentation is here: http://www.idris.fr/eng/jean-zay/
Stars: ✭ 45 (-19.64%)
Mutual labels:  artificial-intelligence
Php Ml
PHP-ML - Machine Learning library for PHP
Stars: ✭ 7,900 (+14007.14%)
Mutual labels:  artificial-intelligence
Brihaspati
Collection of various implementations and Codes in Machine Learning, Deep Learning and Computer Vision ✨💥
Stars: ✭ 53 (-5.36%)
Mutual labels:  artificial-intelligence
Clarifai Apple Sdk
Artificial Intelligence with a Vision
Stars: ✭ 46 (-17.86%)
Mutual labels:  artificial-intelligence
Mumbai Ai Meetup
Repository for all the content presented in the Mumbai AI Meetup - https://www.meetup.com/mumbai-ai-meetup
Stars: ✭ 48 (-14.29%)
Mutual labels:  artificial-intelligence
Awesome Ebooks
收录开源的经典技术书籍 PDF 文件及相关网站,持续更新中...
Stars: ✭ 51 (-8.93%)
Mutual labels:  artificial-intelligence
Xplain
🌎 Complex Topics Explained For Your Level And Background. ✏️
Stars: ✭ 44 (-21.43%)
Mutual labels:  artificial-intelligence
Bootcamp 2021
Fusing Serverless Cloud Computing, Infrastructure as Code, Graph Databases, AI, and IoT Technologies and preparing for Operation Unicorn Startups
Stars: ✭ 55 (-1.79%)
Mutual labels:  artificial-intelligence
Gd Uap
Generalized Data-free Universal Adversarial Perturbations
Stars: ✭ 50 (-10.71%)
Mutual labels:  artificial-intelligence
Trafficvision
MIVisionX toolkit is a comprehensive computer vision and machine intelligence libraries, utilities and applications bundled into a single toolkit.
Stars: ✭ 52 (-7.14%)
Mutual labels:  artificial-intelligence
Deep traffic
MIT DeepTraffic top 2% solution (75.01 mph) 🚗.
Stars: ✭ 47 (-16.07%)
Mutual labels:  artificial-intelligence
Tensorhub
TensorHub is a library built on top of TensorFlow 2.0 to provide simple, modular and repeatable abstractions to accelerate deep learning research.
Stars: ✭ 48 (-14.29%)
Mutual labels:  artificial-intelligence
Deepbrain
Deep Learning tools for brain medical images
Stars: ✭ 51 (-8.93%)
Mutual labels:  artificial-intelligence
Convolutionalautoencoder
Quick and dirty example of the application of convolutional autoencoders in Keras/Tensorflow
Stars: ✭ 45 (-19.64%)
Mutual labels:  artificial-intelligence
Notebooks
Some notebooks
Stars: ✭ 53 (-5.36%)
Mutual labels:  artificial-intelligence
Contrastive Learner
A simple to use pytorch wrapper for contrastive self-supervised learning on any neural network
Stars: ✭ 43 (-23.21%)
Mutual labels:  artificial-intelligence
Keras Retinanet For Teknofest 2019
Using RetinaNet for object detection from drone images in Teknofest istanbul 2019 Artificial Intelligence Competition
Stars: ✭ 50 (-10.71%)
Mutual labels:  artificial-intelligence
Pycm
Multi-class confusion matrix library in Python
Stars: ✭ 1,076 (+1821.43%)
Mutual labels:  artificial-intelligence
Thot
Thot toolkit for statistical machine translation
Stars: ✭ 53 (-5.36%)
Mutual labels:  artificial-intelligence
Jarvis Ai
It is an AI assistant which will automate your task like it can send emails also it can control lights using raspberry pi it can inform about weather and many more features
Stars: ✭ 52 (-7.14%)
Mutual labels:  artificial-intelligence

Toolkit for Building Robust ML models that generalize to unseen domains (RobustDG)

Divyat Mahajan <https://divyat09.github.io/>, Shruti Tople <https://www.microsoft.com/en-us/research/people/shtople/>, Amit Sharma <http://www.amitsharma.in>_

ICML 2020 Paper <https://arxiv.org/abs/1909.12732>_ | MatchDG paper <https://arxiv.org/abs/2006.07500>_ | Privacy & DG Connection paper <http://divy.at/privacy_dg.pdf>_

For machine learning models to be reliable, they need to generalize to data beyond the train distribution. In addition, ML models should be robust to privacy attacks like membership inference and domain knowledge-based attacks like adversarial attacks.

To advance research in building robust and generalizable models, we are releasing a toolkit for building and evaluating ML models, RobustDG. RobustDG contains implementations of domain generalization algorithms and includes evaluation benchmarks based on out-of-distribution accuracy and robustness to membership privacy attacks. We will be adding evaluation for adversarial attacks and more privacy attacks soon.

It is easily extendable. Add your own DG algorithms and evaluate them on different benchmarks.

Installation

To use the command-line interface of RobustDG, clone this repo and add the folder to your system's PATH (or alternatively, run the commands from the RobustDG root directory).

Load dataset

Let's first load the rotatedMNIST dataset in a suitable format for the resnet18 architecture.

.. code:: shell

cd data/
python data_gen.py resnet18

Train and evaluate ML model

The following commands would train and evalute the MatchDG method on the Rotated MNIST dataset.

.. code:: shell

python train.py --dataset rot_mnist --method_name matchdg_ctr --match_case 0.01 --match_flag 1 --epochs 100 --batch_size 256 --pos_metric cos 

python train.py --dataset rot_mnist --method_name matchdg_erm --match_case -1 --penalty_ws 0.1 --epochs 25 --ctr_match_case 0.01 --ctr_match_flag 1 --ctr_match_interrupt 5 --ctr_model_name resnet18
  
python test.py --dataset rot_mnist --method_name matchdg_erm --match_case -1 --penalty_ws 0.1 --epochs 25 --ctr_match_case 0.01 --ctr_match_flag 1 --ctr_match_interrupt 5 --ctr_model_name resnet18 --test_metric acc

python test.py --dataset rot_mnist --method_name matchdg_ctr --match_case 0.01 --match_flag 1 --pos_metric cos --test_metric match_score

Demo

A quick introduction on how to use our repository can be accessed here in the Getting Started notebook <https://github.com/microsoft/robustdg/blob/master/docs/notebooks/robustdg_getting_started.ipynb>_.

If you are interested in reproducing results from the MatchDG paper, check out the Reproducing results notebook <https://github.com/microsoft/robustdg/blob/master/docs/notebooks/reproducing_results_matchdg_paper.ipynb>_.

Roadmap

  • Support for more domain generalization algorithms like CSD and IRM. If you are an author of a DG algorithm and would like to contribute, please raise a pull request here <https://github.com/microsoft/robustdg/pulls>_ or get in touch.

  • More evaluation metrics based on adversarial attacks, privacy attacks like model inversion. If you'd like to see an evaluation metric implemented, please raise an issue here <https://github.com/microsoft/robustdg/issues>_.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct <https://opensource.microsoft.com/codeofconduct/>. For more information see the Code of Conduct FAQ <https://opensource.microsoft.com/codeofconduct/faq/> or contact [email protected] <mailto:[email protected]>_ with any additional questions or comments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].