60daysofudacity_challenge

This repository contains the daily updates made during the 60daysofudacity challenge. This was an initiative from the Secure and Private AI Challenge Scholarship program.

Day 1 - 6 | 60

Began with the 60daysofudacity Challenge, completed Lesson 1-4

  • L-1: Introduction
  • L-2: Deep learning with Pytorch
    • Introduction to Pytorch
    • Introduction to Neural Networks
    • Training and Loading the data
    • Inference and validation
    • Transfer learning
      • Project: Train a pretrained models to classify the cat and dog images
    • MNIST and FNIST dataset
  • L-3: Introduction to Differential Privacy
    • Anonymous and canonical data
    • Project - Generate Parallel Databases
  • L-4: Evaluation of Privacy Function
    • Project - Evaluating the Privacy of a Function

Day 7 | 60

completed lesson 5.1 to 5.5

Day 8 | 60

Day 9 | 60

Day 10 | 60

  • Continued working on the Hackathon Blossom (Flower Classification), successfully trained the model and validated it.
  • working on testing the trained model with the given test set!

Day 11 | 60

  • Attended webinar of Robert Wagner
  • Revised all the course work completed up till today!
  • In the hackathon code predicted and displayed the top 5 from the list but have to change it to display the predicton for all the test set!

Day 12 | 60

Day 13 | 60

  • completed the Hackathon, had to resend the predictions for all test sets!
  • looked into lesson 5 - Introduction to Local and Global Differential privacy

Day 14 | 60

Day 15 | 60

Day 16 | 60

Day 17 | 60

Day 18 | 60

Day 19 | 60

According to the challenge rules: Break of not more than 1 day within two weeks of time is allowes! And because of my caollege final project and exams the strike was broken! Took 5 days break! So had to restart again!

Day 1 | 60

  • missed out for about a week coz of college work  and starting the challenge again... Completed Lesson - 5
    • Project - PATE Analysis
  • Completed lesson 6 - Differential Privacy for Deep learning!
    • Final project on Differential Privacy - Train a DP model using this PATE method on the MNIST dataset
  • Began working on aws deepracer challenge!

Day 2 | 60

Day 3 | 60

  • Completed lesson 8 - Securing Federated Learning
    • Project: Federated Learning with a Trusted Aggregator
    • Project: Build Methods for Encrypt, Decrypt, and Add
    • Final Project: Federated Learning with Encrypted Gradient Aggregation
  • Started lesson 9 - Encrypted Deep Learning
    • Reviewing Additive Secret Sharing
    • Encrypted Subtraction and Public/Scalar Multiplication
    • Encrypted Computation in PySyft

Day 4 | 60

  • Completed lesson 9 - Encrypted Deep Learning
    • Project: Build an Encrypted Database
    • Encrypted Deep Learning in Keras
    • Project: Private Prediction using Syft Keras - Serving (Client)
  • Completed the course!

Day 5 | 60

  • Mostly revised some topics from the course!
  • Searched for project ideas to work on, still not sure what i want to do for the project so am looking into online papers and other projects on github based on GAN or other DL techniques.

Day 6 | 60

Day 7 | 60

  • Showcase Project related anouncements were made!
  • Searched the web for better ideas for showcase project
  • looked deeper in GAN and came across google lens concepts

Day 8 | 60

  • looked into past hackathon challenges to practice on and build solid dl foundation in the coming days.
  • Working on some key concepts to polish my knowledge of dl from the course again!

Day 9 | 60

Day 10 | 60

Day 11 | 60

Day 12 | 60

Day 13 | 60

  • working on showcase project idea! Based on Tensorflow and Pytorch

Day 14 | 60

Day 15 | 60

Day 16 | 60

Day 17 | 60

  • Just found four project folders in our course material, worked on that !
  • project-bikesharing
  • project-dog-classification
  • project-face-generation
  • project-tv-script-generation

Day 18 | 60

Day 19 | 60

Day 20 | 60

Day 21 | 60

Day 22 | 60

  • Revised course on differential privacy!
  • Looked up a bit more on yolo for object detection, adding (in process of content creation for display, pls support and give a clap if you like it later when i add it) my showcase projects ( Guide and Real Time Object Detection Using Pytorch) details to the #project-showcase-challenge

Day 23 | 60

Day 24 | 60

Day 25 | 60

Day 26 | 60

Projects

This section contains the projects developed during the Challenge.

Project Name Description
Classifying MNIST Neural Network project for MNIST dataset.
Cat and dog image Classifier Learnt how to use pre-trained networks to solved challenging problems in computer vision. Specifically, you'll use networks trained on ImageNet available from torchvision.
Classifying Fashion-MNIST Build and train a neural network using FMNIST dataset.
MNIST_GAN Building a generative adversarial network (GAN) trained on the MNIST dataset.
Multi-Layer Perceptron, MNIST Train an MLP to classify images from the MNIST database hand-written digit database.
Flower power Using VGGNet to classify images of flowers.
Predicting Student Admissions with Neural Networks Neural network implementation.
CNN-CIFAR-10 database Classifier CNN to classify images from the CIFAR-10 database.
Sentiment_Classification_Projects Practicing Sentiment Classification & How To "Frame Problems" for a Neural Network
by Andrew Trask
Sentiment Analysis_RNN implement a recurrent neural network that performs sentiment analysis.
Skip-gram Word2Vec Implement the Word2Vec algorithm using the skip-gram architecture and learn about embedding words for use in natural language processing.
Character-Level LSTM Constructing a character-level LSTM with PyTorch. The network will train character by character on some text, then generate new text character by character.
CycleGAN-Image-to-Image Translation Define and train a CycleGAN to read in an image from a set 𝑋.X and transform it so that it looks as if it belongs in set 𝑌. Y Specifically, looking at a set of images of Yosemite national park taken either during the summer of winter. The seasons are our two domains!
DCGAN Training DCGAN on the Street View House Numbers (SVHN) dataset. These are color images of house numbers collected from Google street view. SVHN images are in color and much more variable than MNIST.
Differential Privacy in the context of a database query-projects learn how to know whether a database query over such a small database is differentially private or not - and more importantly - what techniques are at our disposal to ensure various levels of privacy.
Create a Differentially Private Query create a query function which sums over the database and adds just the right amount of noise such that it satisfies an epsilon constraint.
Differentially Private Final Project Train a DP model using this PATE method on the MNIST dataset
Federated Learning Techniques for training Deep Learning models on data to which you do not have access. Remote Access.
Federated Learning with a Trusted Aggregator trusted aggregator : a neutral 3rd party who has a machine that we can trust to not look at the gradient when performing the aggregation.Rather than depennding on the db owner who might be inlined to other data partners , we can choose a 3rd neutral party ...anyone in the planet to larger pool to find the trust worthy person. Send all their grad to neutarl 3rd party
Securing Federated Learning Implements final project for Lesson 8, where secure aggregation is added to Federated Learning.
Encrypted Deep Learning Implements final project for Lesson 9, where encryption is added to Federated Learning.
Encrypted Deep Learning in Keras Same using Keras
Private Prediction using Syft Keras - Serving (Client) To the above keras project, securing it with Syft Keras, and make predictions
Predicting Bike Sharing Neural network and use it to predict daily bike rental ridership.
Dog Identification-CNN Algorithm for a Dog Identification App
Face Generation Train a DCGAN on a dataset of faces.Goal is to get a generator network to generate new images of faces that look as realistic as possible!
TV Script Generation Generate Seinfeld TV scripts using RNNs.The Neural Network will generate a new ,"fake" TV script, based on patterns it recognizes in this training data.
Showcase-Project 1 - Real Time Object Detection with Python All the info can be found here: https://github.com/aksht94/UdacityOpenSource/tree/master/Shaistha/real_time_object_detection_using_pytorch
Showcase-Project 2 - Guide All the info can be found here: https://github.com/aksht94/UdacityOpenSource/tree/master/Shaistha/guide