Handpicked Resources for learning Deep Learning in 2020

Original article was published on Deep Learning on Medium

Deep Learning

If you know classical machine learning like (Logistic Regression, Random Forests, XGBoost) and you want to make a switch to Deep Learning then these resources can help you.

To understand concepts (Bottom Up Approach):

  1. deeplearning.ai: One of the best courses present online taught by Andrew Ng on coursera.org. The first 3 courses will help you understand Deep Learning.

To understand concepts by doing projects(Top Down Approach):

  1. Deep Learning Nanodegree: Offered by Udacity, it is one of the best courses to learn DL from projects perspective.

Choose a Deep Learning Library

In case you wish to learn Deep learning more quickly you have to make a choice of Deep Learning Library. Below are few options which I can recommend:

  1. Tensorflow/Keras: Open source library by Google. To learn tensorflow you can follow this open course here.
    Keras is a wrapper that is built on top of Tensorlfow and helps end user to design Deep Learning models fast. It is included in version 2.x of Tensorflow by Default.
    FAQ: Which version of tensorflow should I learn?
    Answer: You should start directly with version ≥ 2.x. If you are working in industry then you may need to read a lot of code in 1.x because a lot of popular models were coded in 1.x but they are still compatible with 2.x.
  2. Pytorch: Open source library by Facebook. To learn pytorch you can follow this open course here.

FAQ: Whether I should go for Tensorflow and Pytorch
Answer: Its a very subjective answer, it depends on you. If in 2020 I had to start learning a DL framework, I would surely start with Keras. But here is a fact, if you are working in Industry, you will have to work with both of them, you don’t have a choice here. Some models are nicely implemented in pytorch, some are nicely implemented in tensorflow.

Books

  1. Hands on ML by Aurelien Geron: This book will help you in learning basic concepts on ML and DL and will give you a good introduction on how to use Tensorflow as Deep Learning Library
  2. Deep learning with Python: This book will help you learn keras as it is written by founder of Keras Franchois Chollet.
  3. Deep Learning Book: This is called as the bible of Deep Learning written by Ian Goodfellow and Yoshua Bengio and Aaron Courville.

Choosing a sub career path with Deep Learning

Fig 1. Career Choices based on Data

Now Ideally, you have to decide whether you want to be a Computer Vision Engineer who works with Images or a Natural Language Processing/Understanding/Generation Engineer who works with Text. I have included Speech also here but there is no special job description for speech, it comes only Text (for some strange reasons I don’t understand)

Computer Vision

Courses:

  1. CS 231n : Offered by Stanford. Youtube videos are here. It is taught by Fei Fei Li (who recently got into the Twitter Board) and Andrej Karpathy (Director of AI at tesla)
  2. Course 4 of Deep learning specialization

Books:

  1. Deep learning for Computer Vision: Written by Dr. Adrian Rosebrock

Projects:

To make a good portfolio, here are top 3 projects from Kaggle:

  1. Steel Defect Detection
  2. Pneumonia Detection
  3. Humpback Whale Identification

Resources:

  1. pyimagesearch: Wonderful website by Adrian Rosebrock, he publishes every week a new article. This is recommend if you choose Tensorflow as DL library.
  2. learnopencv.com: A wonderful website by Satay Mallick. Code examples here. This is recommended if you choose Pytorch as DL library.

Natural Language Processing

  1. CS 224n: Course by Stanford. Videos are here.
  2. Course 5 of Deep learning specialization
  3. Udacity Natural language Nanodegree

Books:

  1. Natural Language Processing in Action

Projects:

  1. Tensorflow Question Answering
  2. Quora Insincere Question Classification
  3. Tensorflow Speech Recognition

Resources

  1. Hugging Face: One of the best libraries present for all tasks related to NLP. Before you start implementing any custom model, do check if they have already done it for you.
  2. Super Duper NLP repo: Contains Notebooks for the most common problems present in this space.

About Me

My name is Harveen, I am currently working with ThoughWorks as a Data Scientist. I am designing the State of the Art Automatic End to End Speech Recognition System for Indic Languages like Hindi, Marathi, Telugu, Kannada!

Please feel free to connect with me on LinkedIn!