Best Resources for Deep Learning
By: Sadrach Pierre
Tags: Data Science, Python, Artificial Intelligence, Education, Deep Learning

Best Resources for Deep Learning

Deep Learning Educational Resources

Deep learning is a machine learning method that uses neural networks for prediction tasks. Deep learning methods can be used for a variety of tasks including object detection, synthetic data generation, user recommendation, and much more. In this post, I will walk through some of the best resources for getting started with deep learning.

Let’s get started!

Online Resources

There are several online resources that are great for getting started with deep learning.

Sentdex

Sentdex is a YouTube channel, run by Harrison Kinsley, that has several tutorials on how to implement machine learning algorithms in python. While the channel contains many great tutorials on other machine learning algorithms like support vector machines, linear regression, tree-based models, and k-nearest neighbors, the tutorials on deep learning are a great place to start if you want to get your hands dirty with deep learning. The playlist Machine Learning with Python has a great 14 part series on learning to implement various neural networks such as simple multi-layer dense networks, recurrent neural networks, long short-term memory networks (LSTMs), and convolutional neural networks. The series also goes over tensorflow basics, preprocessing, training & testing, and installing the GPU version of tensorflow. The channel also has a playlist called Neural Networks from Scratch which has tutorials on how to build neural networks starting with their fundamental components. This is a great place to learn about how neural networks work under the hood.

DataCamp

DataCamp is a subscription-based platform that is great for those starting out in data science and machine learning. It has many great courses for learning how to implement neural networks. Specifically, I recommend the Introduction to Deep Learning Course. This course gives you hands-on and practical knowledge on how to use deep learning with Keras, through DataCamp’s interactive learning platform. This means in between videos, you apply what you’ve learned by writing and running real code. It goes over basic concepts such as forward propagation, activation functions, neural network layers and learned representations. It also goes into detail on neural network optimization with backpropagation, applying neural networks to regression and classification, and how to further fine-tune neural network models. After learning the basics, I recommend the course Advanced Deep Learning with Keras. This goes into detail discussing the Keras API and how to build neural networks using the functional building blocks. It also goes into some advanced concepts around categorical embedding, shared layers, and merged layers in neural networks

Andrew Ng’s Deep Learning Lectures

The resources I listed above heavily focus on implementation and practical application. For a more theoretical treatment of neural networks, I recommend Andrew Ng’s lectures on deep learning. The lectures cover many of the fundamentals including the gradient descent and the calculus behind it, vectorization, activation functions, backpropagation, model parameters and hyper-parameters and much more. I highly recommend these lectures if you’re interested in the math & theory behind neural networks.

Books

Hands on Machine Learning with Scikit-Learn & Tensorflow, by Aurelien Geron

If you learn more effectively using books, this book is a great place to start learning how to implement neural networks. This book covers many machine learning topics including much of the fundamentals of neural networks including how to build simple multi-layer dense neural networks, convolutional neural networks and recurrent neural networks.

Deep Learning, by Ian Goodfellow

This book covers much of the theory and math behind a variety of neural network architectures. The book covers the prerequisite math concepts behind neural networks, the math behind many modern neural networks, and even outlines the work being done in deep learning research.

Conclusions

In this post, we discussed several resources that are useful for getting started with deep learning. First, we discussed the Sentdex YouTube channel, which covers many practical examples of how to build neural networks in python for classification and regression tasks. This is a great place to start if the theory and math of neural networks intimidate you but you’d still like to get started building neural network models. We also went over DataCamp which provides a great interactive learning platform where you solve coding exercises in between videos. Once you’re comfortable with implementing the code for deep learning algorithms, Andrew Ng’s course is great for deepening your knowledge of the theory and math behind deep learning. If you’re better suited to learning from books, Hands on Machine Learning contains many great chapters discussing how to implement neural networks in python. If you’re interested in learning the theory from a book, Ian Goodfellow’s Deep Learning is a great resource. I hope you found this post useful/interesting. Thank you for reading!