Original article was published on Deep Learning on Medium
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):
- 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):
- 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:
- 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.
- 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.
- 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
- Deep learning with Python: This book will help you learn keras as it is written by founder of Keras Franchois Chollet.
- 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
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)
- 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)
- Course 4 of Deep learning specialization
- Deep learning for Computer Vision: Written by Dr. Adrian Rosebrock
To make a good portfolio, here are top 3 projects from Kaggle:
- pyimagesearch: Wonderful website by Adrian Rosebrock, he publishes every week a new article. This is recommend if you choose Tensorflow as DL library.
- learnopencv.com: A wonderful website by Satay Mallick. Code examples here. This is recommended if you choose Pytorch as DL library.
Natural Language Processing
- CS 224n: Course by Stanford. Videos are here.
- Course 5 of Deep learning specialization
- Udacity Natural language Nanodegree
- 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.
- Super Duper NLP repo: Contains Notebooks for the most common problems present in this space.
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!