How to learn Deep Learning in 2020

Are you looking for a place to learn Deep Learning? Whether you are a beginner or an experienced Machine Learning Engineer, I am sure you will find the below collection useful.

In this post, we gathered together all of our resources and organized them in a step by step guide to help you learn all the popular Deep Learning architectures and algorithms as efficiently and as fast as possible.

You will also find articles focused on specific applications such as Computer Vision and Natural Language Processing (NLP) but also posts about how Reinforcement Learning works.

So, without further ado, let’s get started…

Deep Learning Architectures

In this post, you will build a Feedforward Neural Network from scratch using C++. You will implement the backpropagation algorithm, define the network’s structure and train it in GPU using OpenCL

In the second part, you will extend the library by including Convolutional neural networks. You will define the convolutional and pooling layers and program the OpenCL kernels to run the backpropagation in parallel.

What are skip connections, why they solve the vanishing gradient problem and how they are applied to popular Convolutional Neural Network architectures such as ResNet, DenseNet and UNet.

Learn how recurrent neural networks works, what are LSTMs and what problem do they solve and finally use one to predict the bitcoin price using Python and Keras

The inner working of Autoencoders, what is a Variational Autoencoder (VAE) and how they can be used to generate original new images using PyTorch

How Generative models differ from other machine learning architectures, how Generative Adversarial Networks (GAN) learn from data and why they are able to generate new data points?

Neural Networks can also be applied in graph data besides images and text. Graph Neural Networks have the ability to take a Graph as an input and encode its information into a single numeric vector.

Neural Arithmetic Logic Units solve a problem that most machine learning architectures can’t tackle. They are able to count. With NALU we can perform arithmetic operations such additions and multiplications and approximate simple arithmetic functions.

Computer Vision and Deep Learning

In semantic segmentation, the goal is to classify each pixel of the image in a specific category based. That way we can extract contextual information of every object in the image. To achieve this, skip connections are used in neural networks, forming a new architecture called UNets.

Understand how UNets work, why the perform well in semantic segmentation and program one using Keras.

Localization is the task of identifying the location of an object in an image, while Object Detection is the classification and detection of all objects in it. To do this, the most popular method is an R-CNN alongside with its improvements Fast R-CNN and Faster R-CNN.

SIngle shot detectors like YOLO provide a fast way to detect and localize objects in an image. In this post, you will learn the secrets behind YOLO and why it became the industry standard in low-power devices such as smartphones.

Applications

Learn the basics steps behind the development of a car’s autopilots and use a game simulator and python to make your own car drive all by itself.

This is an overview of the most important research papers on 2D and 3D Human Pose Estimation. You will find intuitive explanations on algorithms like OpenPose, DensePose and VIBE.

In this document, we tackle the 3D medical image segmentation with deep learning models using PyTorch. The basic MRI foundations are presented for tensor representation, as well as the basic components to apply a deep learning method that handles the task-specific problems(class imbalance, liited data). Moreover, we present some features of the open source medical image segmentation library. Finally, we discuss our preliminary experimental results and provide sources to find medical imaging data.

Reinforcement Learning

The purpose of this article is to give you an idea of the fundamentals principles behind reinforcement learning, how we define our agent, the environment and the learning process. It also includes an overview of the different types of RL algorithms and the basic logic behind them.

Here we dive into Q Learning, we analyze what exactly the Q value is and how we can approximate it and also how neural networks and deep learning revolutionize this technique. You will also find code examples on how to build your own Deep Q Learning agent in Python.

As a continuance of the previous post, here we introduce topics like Moving and Fixed Q targets, concepts like Maximation Bias and Experience Replay and we describe how Double Deep Q Networks and Dueling Deep Q Networks improve over the original idea

What are policy-based methods, why they are different from value-based methods and what’s the idea behind Monte Carlo policy gradients (aka REINFORCE). As always python code is available in the end.

In this article, you will learn about actor critics and many variations of them such as Advantage Actor-Critics (A2C) and Asynchronous Advantage Actor-Critics (A3C)

Returning to policy methods, we present two of the most recent algorithms in the field: Trust region policy optimization (TRPO) and Proximal policy optimization (PPO)

Conclusion

That’s all. But for now. We are constantly producing new content so expect the list to be updated frequently.

If you managed to read all of them, let me say that you are awesome.

Also, if you think that something is missing, don’t hesitate to contact us and suggest a topic. We want to keep the article as complete as possible.

And don’t forget to subscribe to our newsletter to be notified when a new article is out.

Stay tuned and keep learning Deep Learning.