/DS-2.2-Deep-Learning

DS 2.2: Neural Networks & Deep Learning

Primary LanguageJupyter Notebook

DS 2.2 Deep Learning

Course Description

Explore the cutting edge of data science: deep learning. Begin by understanding the basic computational unit of artificial neural networks: the perceptron. Study their neurological inspiration, mathematical basis in linear regression, and graphical interpretation of weights and threshold to gain an intuition for their power. Build a perceptron from scratch and train it using the perceptron learning algorithm. Explore the limitations of perceptrons and how non-linear activation functions enhance their power. Combine many perceptrons to construct feed-forward neural networks and program a training algorithm using error back-propagation and gradient descent. Compare and contrast several neural network architectures for solving problems across different domains. Use cutting-edge software libraries and tools including Keras and TensorFlow to construct large-scale networks with relatively little code. Train networks on large data sets to solve hard problems like image classification, face recognition, content generation, and style transfer. Apply these deep learning techniques to an original project and data set.

Why you should know this?

Deep learning has shaped our world. Deep learning is the science of getting computers to learn and act like humans do, and improve their learning over time in autonomous fashion, by feeding them data and information in the form of observations and real-world interactions. It has various applications including natural-language processing (NLP), image classification and segmentation, voice recognition and deep reinforcement learning.

Prerequisites:

DS 2.1

Course Specifics

Course Delivery: online | 7 weeks | 14 sessions

Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Learning Outcomes

Students by the end of the course will be able to ...

  1. Describe neural networks and deep learning models
  2. Use deep learning models for prediction or classification problems
  3. Compare and contrast MLP, CNN and LSTM neural networks and identify when to use each
  4. Shape data to use appropriate deep learning models
  5. Practice tuning deep learning hyper-parameters

Schedule

Course Dates: Wednesday, October 21 – Wednesday, December 9, 2020 (8 weeks)

Class Times: Monday, Wednesday at 2:45pm–5:30pm (13 class sessions)

Class Date Topic Assignments
1 Wed, Oct 21 Intro to Deep Learning
2 Mon, Oct 26 What is a Neural Network?
3 Wed, Oct 28 What is a Neural Network? Quiz 1
- Mon, Nov 2 Vote! - Civic Responsibility Break
4 Wed, Nov 4 Introduction to Keras
5 Mon, Nov 9 Backpropagation and Gradient Descent
6 Wed, Nov 11 Backpropagation and Gradient Descent Due: Intro to Keras
7 Mon, Nov 16 Lab Day Quiz 2
8 Wed, Nov 18 Intro to CNN's
9 Mon, Nov 23 Deep Learning Model Evaluation Due: CNN Practice
- Wed, Nov 25 Holiday - Thanksgiving
10 Mon, Nov 30 Introduction to Tensorflow
11 Wed, Dec 2 Hyper parameter opt Quiz 3
12 Mon, Dec 7 Auto Encoders
13 Wed, Dec 9 Final Project Presentations Due: Final Project

Evaluation

To pass this course you must meet the following requirements:

  • Pass all required tutorials and projects (rubrics on assignment pages)
    • Intro to Keras
    • CNN practice
    • Final Data Analysis Project
  • Pass all 3 quizzes with a 70% or higher
  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences
  • If an assignment is not passing you have 1 week to make any necessary fixes and resubmit for full points
  • You can drop one project or quiz

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies