Author: chen_h
WeChat & QQ: 862251340
WeChat public account: coderpai
Original: https://www.analyticsvidhya.com/blog/2016/08/deep-learning-path/
introduce
Deep learning has become a prominent topic in the field of artificial intelligence. It is known for its outstanding performance in fields such as "computer vision" and games (AlphaGo), even surpassing human capabilities. The attention to deep learning has also been on the rise in recent years, and here is a survey result for reference.
Here's a graph of Google's search trends:
If you're interested in the topic, here's a good non-technical introduction . If you're interested in learning about recent trends, here's a good roundup .
In this post, our goal is to provide a path to learning for all deep learning people, and a path to explore for those who want to learn further. If you are ready, then let's get started!
Step 0: Prerequisites
It is recommended that you should understand some basics of machine learning before learning deep learning. This post lists complete resources for learning machine learning.
If you want a simple learning version. Then look at the following list:
- Mathematical foundations (especially calculus, probability and linear algebra)
- Python Basics
- Statistics Fundamentals
- Machine Learning Fundamentals
Suggested time: 2-6 months
Step 1: Machine Configuration
Before moving on to the next step, you should make sure that you have a hardware environment that supports your studies. It is generally recommended that you have at least the following hardware:
- A good enough GPU (4+ GB), preferably Nvidia
- A decent CPU (eg: Intel Core i3, Intel Pentium may not be suitable)
- 4 GB RAM (this depends on dataset size)
If you're not sure, then read this hardware guide .
Note: If you're a hardware gamer, you probably already have the hardware you need.
If you don't have the required specs, then you can rent a cloud platform to learn from, such as Amazon Web Service (AWS) . This is a good guide for deep learning with AWS .
Note: Do not install any deep learning libraries at this stage, we will introduce the installation process in step 3.
Step 2: First try deep learning
Now that you have an initial understanding of the field, you should take a deeper dive into deep learning.
Depending on our preferences, we can choose from the following avenues:
- Learn through blogs like Fundamentals of Deep Learning , Hacker's guide to Neural Networks .
- Learning through video, such as Deep Learning Simplified .
- Learning from books such as Neural networks and Deep Learning
In addition to the above prerequisites, you should also know some popular deep learning libraries and the languages in which they run. Here is a less complete list (you can check the wiki for a more complete list):
Some other famous libraries: Mocha , neon , H2O , MXNet , Keras , Lasagne , Nolearn . For deep learning languages, check out this article .
You can also check out Lecture 12 in Stanford's CS231n for an overview of some deep learning libraries.
Suggested time: 1-3 weeks
Step 3: Choose Your Own Domain
This is the most interesting part, deep learning has been applied in various fields and has achieved state-of-the-art research results. If you want to dig deeper, your best path as a reader is hands-on. This will give you a better understanding of what you know now.
Note: In each of the areas below, there will be a blog, a hands-on project, a required deep learning library, and a side course. The first step is to study the blog, then install the corresponding deep learning library, and then do the actual project. If you encounter any problems in this process, you can go to study supplementary courses.
Application of Deep Learning in Machine Vision
- Reference blog: DL for Computer Vision
- Actual project: Facial Keypoint Detection
- Deep Learning Library: Nolearn
- Recommended course: CS231n: Convolutional Neural Networks for Visual Recognition
Applications of Deep Learning in Natural Language Processing
- Reference blog: Deep Learning, NLP, and Representations
- Actual project: Deep Learning for Chatbots, Part 1 , Part2 .
- Deep Learning Library: Tensorflow
- Recommended course: CS224d: Deep Learning for Natural Language Processing
Applications of Deep Learning in Speech
- Reference blog: Deep Speech: Lessons from Deep Learning
- Actual project: Music Generation using Magenta (Tensorflow)
- Deep Learning Library: Magenta
- Recommended courses: Deep Learning (Spring 2016), CILVR Lab@NYU
Applications of Deep Learning in Reinforcement Learning
- Reference blog and actual project: Deep Reinforcement Learning: Pong from Pixels
- Deep Learning Libraries: There are no deep learning libraries required, but you need openAI gym to test your models.
- Recommended course: CS294: Deep Reinforcement Learning
Suggested time: 1-2 months
Step 4: Dig deep into deep learning
By now you should have learned the basic deep learning algorithms! But the journey ahead will be tougher. Now, you can use this newly acquired skill as efficiently as possible. Here are some tips you should do to hone your skills.
- Repeat the above steps to select a different field to try.
- Applications of deep learning in other fields. For example: DL for trading , DL for optimizing energy efficiency .
- Use the mental skills you've learned to do something else, such as referring to this website .
- Participate in some competitions like: kaggle .
- Join some deep learning communities like: Google Group , DL Subreddit .
- Follow some researchers like: RE.WORK DL Summit .
Suggested time: unlimited