Deep Learning with Keras and TensorFlow

Misk Academy

Overview

This module introduces the essential concepts of building deep learning models with TensorFlow and Keras. Throughout this module students will gain an intuitive understanding of the architectures and engines that make up deep learning models, apply a variety of deep learning algorithms (i.e. MLPs, CNNs, RNNs, LSTMs, collaborative filtering), understand when and how to tune the various hyperparameters, and be able to interpret model results. Students will have the opportunity to apply practical applications covering a variety of tasks such as computer vision, natural language processing, product recommendation and more. By the end of this module, students should have a firm grasp of deep learning and be able to implement a systematic approach for producing high quality modeling results.

Learning Objectives

This module will step through the process of building, visualizing, testing, and comparing common deep learning models. The goal is to expose you to building various deep learning models for common problems where deep learning tends to shine. By the end of this module you should:

  • Have an intuitive understanding of the engines and architectures that drive deep learning.

  • Be ale to apply a variety of deep learning algorithms.

  • Established a mental model of deep learning.

Prework

This module makes a few assumptions of your established knowledge regarding your programming skills and exposure to basic statistical concepts. Below are my assumptions and the relevant courses that you should have already attended to make sure you are properly prepared.

Assumptions

You should be familiar with the basics of:

  • R and Python programming for data science
  • Data munging tasks
  • Classical statistics
  • The machine learning modeling process

Prior to session 1, please run the 001-requirements.Rmd notebook to ensure you have the necessary packages and data assets used throughout.

Schedule

This workshop is notebook-focused. Consequently, most of our time will be spent in R notebooks; however, I will also jump to slides to explain certain concepts in further detail. Throughout the notebooks, you will see ℹ️ icons that will hyperlink to relevant slides (or additional resources).

Session Description Notebook Source code Other
1 Introduction to deep learning and deep learning ingredients Notebook 02-main-ingredients/01-main-ingredients.* Slides
2 Approaching deep learning model development Notebook 03-recipe/01-starter-recipe.*
3 Portfolio builder: Predicting Ames, IA home sales prices Notebook 03-recipe/02-mini-project-ames.*
4 Introduction to Computer vision and CNNs Notebook 04-computer-vision-CNNs/01-mnist-revisited.* Slides
5 Image generators & augmentation Notebook 04-computer-vision-CNNs/02-cats-vs-dogs.* Slides
6 Transfer learning for CNNs Notebook 04-computer-vision-CNNs/03-transfer-learning.* Slides
7 Portfolio builder: Classifying natural images Notebook 05-project/01-Project.*
8 Introduction to word embeddings Notebook 06-word-embeddings/01-word-embeddings.* Slides
9 Pre-trained word embeddings Notebook 06-word-embeddings/02-pretrained-word-embeddings.*
10 Portfolio builder: Product reviews Notebook 06-word-embeddings/03-your-turn-amazon-word-embeddings.*
11 Collaborative filtering Notebook 07-recommender-collaborative-filtering/collaborative-filtering.* Excel
12 Introduction to RNNs & LSTMs Notebook 08-NLP-LSTMs/01-intro-to-lstms.* Slides
13 Portfolio builder: Sentiment polarity with LSTMs Notebook 08-NLP-LSTMs/02-your-turn-lstms.*
14 Portfolio builder: Detecting duplicate quora questions Notebook 09-project/Final-Project.*

Extras

Activity Notebook Source Code
Improving generalization with k-fold cross validation Notebook 99-extras/99x1-validation-procedures.*
Performing a grid search Notebook 99-extras/99x2-imdb-grid-search.*
Linear regression with stochastic gradient descent Notebook 99-extras/99x3-manual-gradient-descent.*
Diagnosing model performance with learning curves Notebook 99-extras/99x4-learning-curve-diagnostics.*
Save your models for later with serialization Notebook 99-extras/99x5-save-your-models-diagnostics.*
Visualizing what CNNs learn Notebook 99-extras/99x6-visualizing-what-cnns-learn.*