Advanced

Approx. 3 months

Assumes 6hrs/wk (work at your own pace)

Built by
Join thousands of students

Start Free Course

Start Free Course
Free
You get
Instructor videos
Learn by doing exercises and view project instructions

Course Summary

Machine learning is one of the fastest-growing and most exciting fields out there, and deep learning represents its true bleeding edge. In this course, you’ll develop a clear understanding of the motivation for deep learning, and design intelligent systems that learn from complex and/or large-scale datasets.

We’ll show you how to train and optimize basic neural networks, convolutional neural networks, and long short term memory networks. Complete learning systems in TensorFlow will be introduced via projects and assignments. You will learn to solve new classes of problems that were once thought prohibitively challenging, and come to better appreciate the complex nature of human intelligence as you solve these same problems effortlessly using deep learning methods.

We have developed this course with Vincent Vanhoucke, Principal Scientist at Google, and technical lead in the Google Brain team.

Note: This is an intermediate to advanced level course offered as part of the Machine Learning Engineer Nanodegree program. It assumes you have taken a first course in machine learning, and that you are at least familiar with supervised learning methods.

Why Take This Course?

Deep learning methods are becoming exponentially more important due to their demonstrated success at tackling complex learning problems. At the same time, increasing access to high-performance computing resources and state-of-the-art open-source libraries are making it more and more feasible for enterprises, small firms, and individuals to use these methods.

Mastering deep learning accordingly positions you at the very forefront of one of the most promising, innovative, and influential emergent technologies, and opens up tremendous new career opportunities. For Data Analysts, Data Scientists, Machine Learning Engineers, and students in a Machine Learning/Artificial Intelligence curriculum, this represents a rarefied opportunity to enhance your Machine Learning portfolio with an advanced, yet broadly applicable, collection of vital techniques.

Prerequisites and Requirements

This is an intermediate to advanced level course. Prior to taking this course, and in addition to the prerequisites and requirements outlined for the Machine Learning Engineer Nanodegree program, you should possess the following experience and skills:

  • Minimum 2 years of programming experience (preferably in Python)
  • Git and GitHub experience (assignment code is in a GitHub repo)
  • Basic machine learning knowledge (especially supervised learning)
  • Basic statistics knowledge (mean, variance, standard deviation, etc.)
  • Linear algebra (vectors, matrices, etc.)
  • Calculus (differentiation, integration, partial derivatives, etc.)

See the Technology Requirements for using Udacity.

Syllabus

Lesson 1: From Machine Learning to Deep Learning

  • Understand the historical context and motivation for Deep Learning.
  • Set up a basic supervised classification task and train a black box classifier on it.
  • Train a logistic classifier “by hand”Optimize a logistic classifier using gradient descent, SGD, Momentum and AdaGrad.

Lesson 2: Deep Neural Networks

  • Train a simple deep network.
  • Effectively regularize a simple deep network.
  • Train a competitive deep network via model exploration and hyperparameter tuning.

Lesson 3: Convolutional Neural Networks

  • Train a simple convolutional neural net.
  • Explore the design space for convolutional nets.

Lesson 4: Deep Models for Text and Sequences

  • Train a text embedding model.
  • Train a LSTM model.

Instructors & Partners

instructor photo

Vincent Vanhoucke

Instructor

Vincent Vanhoucke is a Principal Research Scientist at Google, working with the Google Brain team on deep learning research and infrastructure. He completed his Ph.D. at Stanford University on speech recognition, and now focusses his research on image and video understanding as well as mobile and robotic perception.

instructor photo

Arpan Chakraborty

Course Developer

Arpan likes to find computing solutions to everyday problems. He is interested in human-computer interaction, robotics and cognitive science. He obtained his PhD from North Carolina State University, focusing on biologically-inspired computer vision. At Udacity, he spends a good chunk of time designing interactive exercises for his courses, besides working on pet projects to improve or automate workflow.

track icon

View more courses in Data Science