Note: you can collapse the sidebars on the left and right (i.e this notes pane, and the contents pane) by clicking the arrow icons at the top next to each of them.
Welcome to Deep Learning for Coders! In this first lesson, we learn about what deep learning is, and how it's connected to machine learning, and regular computer programming. We get our GPU-powered deep learning server set up, and use it to train models across vision, NLP, tabular data, and collaborative filtering. We do this all in Jupyter Notebooks, using transfer learning from pretrained models for the vision and NLP training.
We discuss the important topics of test and validation sets, and how to create and use them to avoid over-fitting. We learn about some key jargon used in deep learning.
We also discuss how AI projects can fail, and techniques for avoiding failure.
Questionnaire
The questions below are the same as those in the book. For more, including detailed answers and links to the video timeline, have a look at Radek Osmulski's aiquizzes.
(If you're not sure of the answer to a question, try watching the next lesson and then coming back to this one, or read the first chapter of the book.)
Do you need these for deep learning?
- Lots of math T / F
- Lots of data T / F
- Lots of expensive computers T / F
- A PhD T / F
Name five areas where deep learning is now the best in the world.
- What was the name of the first device that was based on the principle of the artificial neuron?
- Based on the book of the same name, what are the requirements for parallel distributed processing (PDP)?
- What were the two theoretical misunderstandings that held back the field of neural networks?
- What is a GPU?
- Open a notebook and execute a cell containing:
1+1
. What happens? - Follow through each cell of the stripped version of the notebook for this chapter. Before executing each cell, guess what will happen.
- Complete the Jupyter Notebook online appendix.
- Why is it hard to use a traditional computer program to recognize images in a photo?
- What did Samuel mean by "weight assignment"?
- What term do we normally use in deep learning for what Samuel called "weights"?
- Draw a picture that summarizes Samuel's view of a machine learning model.
- Why is it hard to understand why a deep learning model makes a particular prediction?
- What is the name of the theorem that shows that a neural network can solve any mathematical problem to any level of accuracy?
- What do you need in order to train a model?
- How could a feedback loop impact the rollout of a predictive policing model?
- Do we always have to use 224×224-pixel images with the cat recognition model?
- What is the difference between classification and regression?
- What is a validation set? What is a test set? Why do we need them?
- What will fastai do if you don't provide a validation set?