Skip to content

A Repo tracking my daily progress for the #60DaysOfUdacity challenge for the Secure and Private AI Scholarship by Udacity.

License

Notifications You must be signed in to change notification settings

mankadronit/60DaysofUdacity-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

alt text This repository tracks my day-to-day progress for the #60DaysOfUdacity challenge for the Secure and Private AI scholarship by Udacity and Facebook.

All the code posted here will be slightly modified so that it doesn't violate Udacity's Honor Code of Conduct.


Completed Projects List

No Project Title Completed On
1 Implementing Differential Privacy on the MNIST Dataset and performing PATE Analysis on the Model Before the Challenge
2 Published an article on Medium for the above project. Before the Challenge
3 Hackathon Blossom (Flower Classification) Day 17
4 Hackathon Auto_Matic (Car Classification) Day 25
5 Hackathon Sentimento (Sentiment Classification) Day 32
6 Hackathon Sentimento-V2 Day 42
7 Project Showcase Challenge - Automated Essay Grading Day 57

Timeline 👇

Day 1 - Thursday, 27th June

  • Took the #60DaysOfUdacity challenge pledge 🔥
  • Completed Lesson 9, Video 3: Encrypted Subtraction and Public Multiplication

Day 2 - Friday, 28th June

  • Completed Lesson 9, Video 4: Encrypted Computation in PySyft.
  • Finished a project performing Federated Learning on MNIST using PySyft's FederatedDataLoader.
  • Learned matplotlib - bar charts, line charts and scatter plots

Day 3 - Saturday, 29th June


Day 4 - Sunday, 30th June

  • Completed Lesson 9, Video 6 - Encypted Deep Learning with Pytorch.
  • Learned Probability - Dependence and Independence, Conditional Probability

Day 5 - Monday, 1st July

  • Completed Lesson 9, Video 7 - Encrypted Deep Learning with Keras

  • Completed Lesson 9, Video 8 and 9 - Keystone Project Description and course conclusion.

  • Learned Probability - Bayes Theorem, Random Variables, Continuous Distributions

  • Finally Completed the Course 🦓 🔥


Day 6 - Tuesday, 2nd July


Day 7 - Wednesday, 3rd July


Day 8 - Thursday, 4th July

  • Read more about Statistical Hypothesis and Inference
  • Read up on Gradient Descent - Stochastic Gradient Descent

Day 9 - Friday, 5th July

  • Explored https://data.gov.in for public datasets.
  • Read about PyTorch data cleaning and data transformation pipelines.
  • Learned more about Gradient Descent.

Day 10 - Saturday, 6th July

  • Learning Backpropogation.

Day 11 - Monday, 8th July

  • Missed a Day but now I'm back on track
  • Completed Backpropogation. Practiced a lot by differentiating equations by hand.
  • Started learning how to scrape the web using BeautifulSoup.

Day 12 - Tuesday, 9th July

  • Started exploring the CO2 emmissions from Fossil Fuels dataset. Will understand the data for a few days then try forecasting, may even use encrypted deep learning to make things interesting.
  • Started learning Dimensionality Reduction.

Day 13 - Wednesday, 10th July

  • Played with the CO2 emissions from Fossil Fuels dataset and gained a few insights.

  • Gained the intuition about the dataset by plotting various graphs.

    Countries


Day 14 - Thursday, 11th July


Day 15 - Friday, 12th July


Day 16 - Saturday, 13th July


Day 17 - Sunday, 14th July

  • Completed the #sg_hackathon-orgnizrs weekly hackathon: Hackathon Blossom (Flower Classification).
  • Fine tuned the model and cleaned up the code so that it can be submitted for evaluation.
  • Learned quite a lot about hyperparameter optimization and transfer learning while doing this hackathon.
  • I would like to encourage all the paticipants: @Helena Barmer @Abhishek Lalwani @sourav kumar @Jess @Shahana @Vikas Sharma @Shanmugapriya @Ruchika Khemka @Naas Mohamed @Deepak @Shubhangi Jena @par @Droid @KT @Francesca @Jaffar @Aniket Thomas @Vebby @Archit @Halwai Aftab Hasan @Shivam Raisharma @Hitoishi Das @cibaca @Shashank Jain @Nirupama Singh @Perez Ogayo @shivu @Anita Goldpergel @Ivy

Day 18 - Monday, 15th July


Day 19 - Tuesday, 16th July

  • Started Chapter 3: Classification of the Hands on ML book.
  • Learned about precision and recall and the ROC curve.

Day 20 - Wednesday, 17th July

  • Kept on reading Ch 3 Classification of the Hands-On-ML book.
  • Learned about Error Analysis in classification.
  • Read about Multilabel and Multioutput classification.

Day 21 - Thursday, 18th July

  • Read about Sentiment Analysis in Coded Mixed Language (specifically Hindi-English) from this paper.
  • Brushed up on text processing and NLP basics for an interview.

Day 22 - Friday, 19th July

  • Learned more about the mathematical notations in machine learning.
  • Read up on Random Variables and Unbiased Estimators.
  • Researched about sentence similarity prediction.

Day 23 - Saturday, 20th July

  • Started the #sg_hackathon-orgnizrs weekly Hackathon - Auto_Matic!
  • Explored the dataset and created a data processing pipeline.
  • Will now create different models and try to increase the accuracy.

Day 24 - Sunday, 21st July

  • Testing different models on the dataset for the hackathon.
  • Trying to improve the validation and testing accuracy.
  • Will try more image augmentation techniques.

Day 25 - Monday, 22nd July


Day 26 - Tuesday, 23 July

  • Continued reading the 100 Page ML book, learned more about Decision Trees and SVMs.

Day 27 - Wednesday, 24th July

  • Worked on the hackathon Auto_matic dataset and tried to learn from my mistakes.
  • Completed the Decision Trees chapter and implemented Linear Regression, SVM and a Decision Tree in Python from scratch.

Day 28 - Thursday, 25th July

  • Tried to implement a SVM with different kernels from scratch but ran into some problems, will continue tomorrow.
  • Started learning K Nearest Neighbors.
  • Started learning the different implementations of sentiment analysis for the next #sg_hackathon-orgnizrs Hackathon.

Day 29 - Friday, 26th July

  • Read two papers on Sentiment Analysis on Code Mixed languages (for an interview I have). Paper
  • Explored and processed a text dataset containing Hindi-English mixed tweets.
  • Developed an embedding matrix for the data using Glove Embeddings. Plot

Day 30 - Saturday, 27th July

  • Worked on Sentiment Analysis in Code Mixed language.
  • Developed a Sub-Word RNN.
  • Also started Hackathon Sentimento! All the best to all the participants.

Day 31 - Sunday, 28th July

  • Worked on the Sentiment Classification Hackathon Sentimento.
  • Tried on different pre-processing techniques and different models on the dataset.

Day 32 - Monday, 29th July

  • Completed Hackathon Sentimento!
  • Learned a lot about TFIDF and text preprocessing.
  • Scored 0.89 on the leaderboard.

Day 33 - Tuesday, 30th July

  • Read more about K Nearest Neighbours from the 100 Page ML book.
  • Also stareted reading about featuring engineering.

Day 34 - Wednesday, 31st July


Day 35 - Thursday, 1st August


Day 36 - Friday, 2nd August


Day 37 - Saturday, 3rd August

  • Started the #sg_hackathon-orgnizrs weekly hackathon - Hackathon Sentimento-2.
  • Created a kaggle kernel and started working on the dataset.

Day 38 - Sunday, 4th August

  • Learned more about RNNs, LSTMs and GRUs for Sentiment Classification.
  • Also learned more about Google's BERT by watching this video https://www.youtube.com/watch?v=BaPM47hO8p8
  • Learned the basics of torchtext and started making a torch dataset for the hackathon data.

Day 39 - Monday, 5th August

  • Learned about Attention layers.
  • Fine-Tuned a BERT model on Colab (P.S: Even on Colab each epoch takes hours).
  • Worked on my kernel for Hackathon Sentimento.

Day 40 - Tuesday, 6th August

  • Worked some more on Hackathon Sentimento-V2.
  • Implemented a GRU with Adaptive pooling into my kernel.
  • Also implemented the BERT model on dataset, but it didn't perform well.
  • Read about encoders and transformers in Neural Networks.

Day 41 - Wednesday, 7th August

  • Learned about Sklearn pipelines.
  • Started reading about XGBoost.
  • Worked some more on the Hackathon Sentimento kernel.

Day 42 - Thursday, 8th August


Day 43 - Friday, 9th August


Day 44 - Saturday, 10th August

  • Got 3rd place in Hackathon Sentimento-V2! Thank you to all the wonderful people at #sg_hackathon-orgnizrs. Bronze
  • Started working on Hackathon Forcast!
  • Started learning about time forecasting and Seq2Seq models.
  • Learned about the data and forecasting approach by reading this artilce - https://towardsdatascience.com/web-traffic-forecasting-f6152ca240cb

Day 45 - Sunday, 11th August


Day 46 - Monday, 12th August

  • Read more about time series forecasting and different transformations required on the data.
  • Transformed the data from a non-stationary series to a stationary series.
  • Tried to recreate a Keras Seq2Seq model in Pytorch.
  • Viewed more solutions on Kaggle and made notes on the different approaches used by the winners.

Day 47 - Tuesday, 13th August

  • Performed some data analysis on the Hackathon Forcast data and gained key insights from it.
  • Fine-tuned my LSTM model.
  • Increased the accuracy by taking Median of Medians.

Day 48 - Wednesday, 14th August


Day 49 - Thursday, 15th August


Day 50 - Friday, 16th August


Day 51 - Saturday, 17th August


Day 52 - Sunday, 18th August

  • Started working on my project for the Project Showcase challenge.
  • Created PySyft's private dataloaders for the data.
  • Read more about encrypted deep learning and brushed up on the basics of fixed predicion encoding.

Day 53 - Monday, 19th August


Day 54 - Tuesday, 20th August

ACC


Day 55 - Wednesday, 21st August

  • Resumed reading the 100 Page ML book.
  • Read about Regularization and Model Performance Evaluation in detail.
  • Read about Sentiment Analysis on Conversational Texts - https://www.aclweb.org/anthology/W15-1829

Day 56 - Thursday, 22nd August


Day 57 - Friday, 23rd August

  • Learned Kernel Regression and Gradient Boosting from the 100 Page ML book.
  • Read this amazing paper - https://eprint.iacr.org/2018/1056.pdf
  • Still finetuning the BERT model and trying different preprocessing techniques on my Code-Mixed language dataset.

Day 58 - Saturday, 24th August


Day 59 - Sunday, 25th August

  • Completed Week 1 of Andrew Ng's Machine Learning course. Started Week 2.
  • Learning Regularized Linear Regression
  • Still learning more about PySyft by reading through it's codebase.
  • Worked on syft.messaging package and tried solving issue #2512 raised by Andrew Trask.

Day 60 - Monday, 26th August

The Final Day!

  • Completed Week 2 of Andrew Ng's Machine Learning course. Started Week 3.
  • Learning Hypothesis Representation and Advanced Optimization techniques.
  • Worked on PySyft source code. Removed the sklearn dependency from the source code.

About

A Repo tracking my daily progress for the #60DaysOfUdacity challenge for the Secure and Private AI Scholarship by Udacity.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published