If you've completed the Deep Learning Specialization on Coursera, you may be wondering what's next. How can you continue expanding your skills and dive deeper into the field? While I felt like I knew the basics of deep learning from the Coursera Specialization, I definitely encountered knowledge gaps as I tried to build my own projects, like my Yoga Pose classifier. I started looking for advanced deep learning courses to fill in the missing pieces.
If you're wondering about your readiness to take the Deep Learning Specialization on Coursera, see my blog post here for math and programming prerequisites.
Advanced Deep Learning Courses and Resources
The cool thing about the Deep Learning Specialization is that we didn't need much to get started. Code was run on in-browser Jupyter notebooks, the data sets were provided and cleaned up, and some models were pre-trained, so we didn't need a lot of compute resources to run an epoch or two on a small data set. However, that limits the projects we can do. These advanced deep learning courses will allow you to run much more complex models.
Fast.ai
The title of the (completely free!) Fast.ai MOOC is "Practical Deep Learning". The project based learning approach takes you from data collection to a finished project - an image classifier, sentiment analysis, a predictor, and a recommendation system. Also, you'll learn how to use advanced techniques that were touched on in the Deep Learning Specialization, and build more intuition on when and how to use them effectively. However, it does focus on use of the fastai library and PyTorch.
What really takes this course to the next level is the focus on utilizing cloud hardware. I don't have an NVIDIA GPU, so part of the battle with my own deep learning projects was setting up the projects to run on different cloud services. I've been using Paperspace ($10 free credit) and Google Cloud Compute Engine for more complex projects.
Deep Learning Textbooks
Anyone that wants to understand deep learning further should consider Deep Learning (Adaptive Computation and Machine Learning series) by Goodfellow, Bengio, and Courville. I used this as a reference as I was taking the other courses, both to fill in the gaps in my knowledge and to dive deeper on the why. It's definitely not a book for beginners, but it will provide a more theoretical background. It's also provided for free online here.
Another great textbook is Machine Learning Yearning. It's free as well! Some of the text will be familiar to those who have taken Andrew Ng's courses, but it's a handy reference.
Tensorflow
Following up the Machine Learning course and Deep Learning Specialization, deeplearning.ai released a new Specialization on Tensorflow taught by Laurence Moroney of Google Brain. Only two courses are out now, but they will continue to be released over the next few months. Though we used Tensorflow towards the end of the Deep Learning Specialization, this focuses entirely on the Tensorflow framework.
Course 1: Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Course 2: Convolutional Neural Networks in TensorFlow
Tensorflow is currently more popular, but it has a steeper learning curve than PyTorch. As you're learning, it's good to work with multiple frameworks. You'll build intuition and be able to decide which framework fits your needs.
Online Master of Science Degree in Machine Learning from Imperial College London
By taking this degree, you'll understand of machine learning models and build a portfolio by applying these skills to real-world problems. And it's entirely online!
The really cool thing about these Coursera degrees is that admission to these Masters programs is performance based. All you have to do is pass introductory Specializations with a high enough grade to get admitted to the program. If you are an international student or have been out of university for a while, you don't need translated transcripts or GREs. For those that have degrees in a non-technical field but have learned the prerequisites on your own, it's not a blocker. This is changing the game in education. The price point can't be beat, either.
You can request more information about the degree here!
Self-Driving Cars
Self-driving cars have been a hot topic for years! Uber, Google, Tesla, General Motors (acquired Cruise Automation), drive.ai, Zoox, and many more companies are working on some aspect of autonomous cars and self-driving technology.
Self-driving cars contains multiple layers. The vision system, which uses convolutional neural networks, is only one part of the stack. Sensors and other hardware data feed into the system to allow for motion planning.
The Self Driving Cars Specialization on Coursera can take your deep learning skills to the next level and covers control, visual perception, and motion planning. Of course, there's a hands on project where you'll actually be able to program an autonomous vehicle in a simulator.
AI for everyone
The AI for Everyone course from deeplearning.ai is a non-technical look at AI. I especially love this course because it covers not only the broad society impacts of AI, like bias in algorithms, but also the business aspects of running an AI team.
AI for Everyone by deeplearning.ai
There are a lot of advanced deep learning courses. I like online courses because they are already chunked into easy segments. To follow through on online courses, create a study plan and set aside time every day to learn. You can watch videos on your commute if you take public transportation, and set aside a larger chunk of time on the weekend for the projects. Engage with online communities and connect with people who are also studying deep learning. Also, share your projects! I've found so much inspiration by browsing Github. You never know if your code will spark a conversation!
What are your favorite resources for learning more about deep learning? What are you currently learning?