The book “Deep Learning,” by Ian Goodfellow, Yoshua Bengio and Aaron Courville (three eminent researchers in the field), recommends familiarity the following subjects:
- Linear Algebra
- Multivariable Calculus
- Probability
- Information Theory
- Numerical Methods
- Machine Learning
Studying these subjects at length is a bit overkill. Stanford’s famous course, C231n: Convolutional Neural Networks for Visual Recognition, assumes knowledge of a small subset of these subjects:
- Basic matrix algebra (addition, multiplication)
- Derivatives of multivariable functions
- Basic probability theory (random variables, expected value, variance)
If you’d like to study these prerequisites in-depth, there are amazing online resources.
- MIT’s Linear Algebra course
- MIT’s Single Variable Calculus course
- MIT’s Multivariable Calculus course
- MIT’s Probability course
- Stanford’s Machine Learning course material and online lectures.
Once you’re ready to study deep learning…
Some online courses:
- Stanford’s CS231n course material and online lectures
- Deep Learning Specialization. A series of courses focused on Deep Learning.
Textbooks:
- Neural Networks and Deep Learning, by Michael Nielson is a great introduction
- deeplearningbook.org, by Goodfellow et. al, is a more in-depth exploration
Online resources:
- deeplearning.net – All things deep learning