Skip to content
This guide is for those who know some math, know some programming language and now want to dive deep into deep learning
Branch: master
Clone or download
Latest commit 4001210 Feb 6, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
Autoencoders README for Autoencoders Jan 17, 2018
Convolutional-Neural-Networks Update README for Convolutional Neural Nets Jan 15, 2018
Improving-How-Neural-Networks-Learn Add README for Improving the Way Neural Networks Learn Jan 11, 2018
Machine-Learning-Basics Add README for ML Basics Jan 9, 2018
Neural-Networks-Basics Update Jan 10, 2018
Prerequisites Add README for Prerequisites Jan 7, 2018
Probabilistic-Graphical-Models Update README for Probabilistic Graphical Models Jan 19, 2018
Recurrent-Neural-Networks README for Recurrent Neural Networks Jan 16, 2018
dl-meme.png Add Image Jan 5, 2018


Deep learning is a fast-changing field at the intersection of computer science and mathematics. It is a relatively new branch of a wider field called machine learning. The goal of machine learning is to teach computers to perform various tasks based on the given data. This guide is for those who know some math, know some programming language and now want to dive deep into deep learning.

Table of Contents

  • Prerequisites: You must know standard university-level math and programming to develop and test deep learning models.
  • Machine Learning Basics: Machine learning is the art and science of teaching computers based on data. It is a relatively established field at the intersection of computer science and mathematics, while deep learning is just a small subfield of it. The concepts and tools of machine learning are important for understanding deep learning.
  • Neural Network Basics: Neural networks are powerful machine learning algorithms. They form the basis of deep learning.
  • Improving the way neural networks learn: It's not very easy to train neural networks. Sometimes they don't learn at all (underfitting), sometimes they learn exactly what you give them and their "knowledge" does not generalize to new, unseen data (overfitting). There are many ways to handle these problems.
  • Convolutional neural networks: Convolutional networks ("CNNs") are a special kind of neural nets that use several clever tricks to learn faster and better. ConvNets essentially revolutionized computer vision and are heavily used in speech recognition and text classification as well.
  • Recurrent neural networks: Recurrent networks ("RNNs") are designed to work with sequences. Usually they are used for sentence classification (e.g. sentiment analysis) and speech recognition, but also for text generation and even image generation.
  • Autoencoders: Autoencoders are neural networks designed for unsupervised learning, i.e. when the data is not labeled. They can be used for dimension reduction, pretraining of other neural networks, for data generation etc.
  • Probabilistic graphical models: Probabilistic graphical models (“PGMs”) form a separate subfield at the intersection of statistics and machine learning.
You can’t perform that action at this time.