A deep understanding of deep learning (with Python intro)
- Descripción
- Currículum
- Reseñas
Deep learning is increasingly dominating technology and has major implications for society.
From self-driving cars to medical diagnoses, from face recognition to deep fakes, and from language translation to music generation, deep learning is spreading like wildfire throughout all areas of modern technology.
But deep learning is not only about super-fancy, cutting-edge, highly sophisticated applications. Deep learning is increasingly becoming a standard tool in machine-learning, data science, and statistics. Deep learning is used by small startups for data mining and dimension reduction, by governments for detecting tax evasion, and by scientists for detecting patterns in their research data.
Deep learning is now used in most areas of technology, business, and entertainment. And it’s becoming more important every year.
How does deep learning work?
Deep learning is built on a really simple principle: Take a super-simple algorithm (weighted sum and nonlinearity), and repeat it many many times until the result is an incredibly complex and sophisticated learned representation of the data.
Is it really that simple? mmm OK, it’s actually a tiny bit more complicated than that 😉 but that’s the core idea, and everything else — literally everything else in deep learning — is just clever ways of putting together these fundamental building blocks. That doesn’t mean the deep neural networks are trivial to understand: there are important architectural differences between feedforward networks, convolutional networks, and recurrent networks.
Given the diversity of deep learning model designs, parameters, and applications, you can only learn deep learning — I mean, really learn deep learning, not just have superficial knowledge from a youtube video — by having an experienced teacher guide you through the math, implementations, and reasoning. And of course, you need to have lots of hands-on examples and practice problems to work through. Deep learning is basically just applied math, and, as everyone knows, math is not a spectator sport!
What is this course all about?
Simply put: The purpose of this course is to provide a deep-dive into deep learning. You will gain flexible, fundamental, and lasting expertise on deep learning. You will have a deep understanding of the fundamental concepts in deep learning, so that you will be able to learn new topics and trends that emerge in the future.
Please note: This is not a course for someone who wants a quick overview of deep learning with a few solved examples. Instead, this course is designed for people who really want to understand how and why deep learning works; when and how to select metaparameters like optimizers, normalizations, and learning rates; how to evaluate the performance of deep neural network models; and how to modify and adapt existing models to solve new problems.
You can learn everything about deep learning in this course.
In this course, you will learn
-
Theory: Why are deep learning models built the way they are?
-
Math: What are the formulas and mechanisms of deep learning?
-
Implementation: How are deep learning models actually constructed in Python (using the PyTorch library)?
-
Intuition: Why is this or that metaparameter the right choice? How to interpret the effects of regularization? etc.
-
Python: If you’re completely new to Python, go through the 8+ hour coding tutorial appendix. If you’re already a knowledgeable coder, then you’ll still learn some new tricks and code optimizations.
-
Google-colab: Colab is an amazing online tool for running Python code, simulations, and heavy computations using Google’s cloud services. No need to install anything on your computer.
Unique aspects of this course
-
Clear and comprehensible explanations of concepts in deep learning.
-
Several distinct explanations of the same ideas, which is a proven technique for learning.
-
Visualizations using graphs, numbers, and spaces that provide intuition of artificial neural networks.
-
LOTS of exercises, projects, code-challenges, suggestions for exploring the code. You learn best by doing it yourself!
-
Active Q&A forum where you can ask questions, get feedback, and contribute to the community.
-
8+ hour Python tutorial. That means you don’t need to master Python before enrolling in this course.
So what are you waiting for??
Watch the course introductory video and free sample videos to learn more about the contents of this course and about my teaching style. If you are unsure if this course is right for you and want to learn more, feel free to contact with me questions before you sign up.
I hope to see you soon in the course!
Mike
-
11PyTorch or TensorFlow?Text lesson
-
12Introduction to this sectionVideo lesson
-
13Spectral theories in mathematicsVideo lesson
-
14Terms and datatypes in math and computersVideo lesson
-
15Converting reality to numbersVideo lesson
-
16Vector and matrix transposeVideo lesson
-
17OMG it's the dot product!Video lesson
-
18Matrix multiplicationVideo lesson
-
19SoftmaxVideo lesson
-
20LogarithmsVideo lesson
-
21Entropy and cross-entropyVideo lesson
-
22Min/max and argmin/argmaxVideo lesson
-
23Mean and varianceVideo lesson
-
24Random sampling and sampling variabilityVideo lesson
-
25Reproducible randomness via seedingVideo lesson
-
26The t-testVideo lesson
-
27Derivatives: intuition and polynomialsVideo lesson
-
28Derivatives find minimaVideo lesson
-
29Derivatives: product and chain rulesVideo lesson
-
30Overview of gradient descentVideo lesson
-
31What about local minima?Video lesson
-
32Gradient descent in 1DVideo lesson
-
33CodeChallenge: unfortunate starting valueVideo lesson
-
34Gradient descent in 2DVideo lesson
-
35CodeChallenge: 2D gradient ascentVideo lesson
-
36Parametric experiments on g.d.Video lesson
-
37CodeChallenge: fixed vs. dynamic learning rateVideo lesson
-
38Vanishing and exploding gradientsVideo lesson
-
39Tangent: Notebook revision historyVideo lesson
-
40The perceptron and ANN architectureVideo lesson
-
41A geometric view of ANNsVideo lesson
-
42ANN math part 1 (forward prop)Video lesson
-
43ANN math part 2 (errors, loss, cost)Video lesson
-
44ANN math part 3 (backprop)Video lesson
-
45ANN for regressionVideo lesson
-
46CodeChallenge: manipulate regression slopesVideo lesson
-
47ANN for classifying qwertiesVideo lesson
-
48Learning rates comparisonVideo lesson
-
49Multilayer ANNVideo lesson
-
50Linear solutions to linear problemsVideo lesson
-
51Why multilayer linear models don't existVideo lesson
-
52Multi-output ANN (iris dataset)Video lesson
-
53CodeChallenge: more qwerties!Video lesson
-
54Comparing the number of hidden unitsVideo lesson
-
55Depth vs. breadth: number of parametersVideo lesson
-
56Defining models using sequential vs. classVideo lesson
-
57Model depth vs. breadthVideo lesson
-
58CodeChallenge: convert sequential to classVideo lesson
-
59Diversity of ANN visual representationsText lesson
-
60Reflection: Are DL models understandable yet?Video lesson
-
61What is overfitting and is it as bad as they say?Video lesson
-
62Cross-validationVideo lesson
-
63GeneralizationVideo lesson
-
64Cross-validation -- manual separationVideo lesson
-
65Cross-validation -- scikitlearnVideo lesson
-
66Cross-validation -- DataLoaderVideo lesson
-
67Splitting data into train, devset, testVideo lesson
-
68Cross-validation on regressionVideo lesson
-
69Regularization: Concept and methodsVideo lesson
-
70train() and eval() modesVideo lesson
-
71Dropout regularizationVideo lesson
-
72Dropout regularization in practiceVideo lesson
-
73Dropout example 2Video lesson
-
74Weight regularization (L1/L2): mathVideo lesson
-
75L2 regularization in practiceVideo lesson
-
76L1 regularization in practiceVideo lesson
-
77Training in mini-batchesVideo lesson
-
78Batch training in actionVideo lesson
-
79The importance of equal batch sizesVideo lesson
-
80CodeChallenge: Effects of mini-batch sizeVideo lesson
