Deep Learning Nanodegree Program

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Deep Learning

SCHOOL OF ARTIFICIAL INTELLIGENCE

Syllabus

udacity.com
udacity.com
Deep Learning

BEFORE YOU START

Overview:
The Deep Learning Nanodegree program offers you a solid
introduction to the world of artificial intelligence. In this
program, you’ll master fundamentals that will enable you to
go further in the field or launch a brand new career. You will
study cutting-edge topics such as neural networks,
convolutional neural networks, recurrent neural networks,
and generative adversarial networks. Plus, you’ll build
projects in PyTorch. Join the next generation of deep learning
talent that will help define a highly beneficial AI-powered
future for our world.

Learnin O e tives
g bj c Prerequisites
A graduate of this program will e a le to: b b Students should have experience working
with and/or knowledge of the following
Create a simple neural network (NN) using PyTorch to topics:
predict patterns from real data.

Derivatives
Intermediate Python

Build convolutional neural networks (CNNs) to classify

landmark images based on patterns and objects that appear


Linear Algebra
Jupyter notebooks
in them.

Numpy, Pandas
Implement a recurrent neural network (RNN) and its variants

(LSTMs, GRUs) with PyTorch to build a customer service

chatbot.

Length of Program*: Skill level: Required Hardware/Software


4 months at 10hrs/week Intermediate
NLTK, SKLearn, BeautifulSoup, Numpy

*The length of this program is an estimation of total hours the average student may take to complete all required coursework, including
lecture and project time. If you spend about 5-10 hours per week working through the program, you should finish within the time provided.
Actual hours may vary.

udacity.com
Deep Learning

Course #1:

Introduction to Deep Learning
This course covers the fundamental theoretical and practical topics in deep learning.
You’ll begin by learning about how experts think about deep learning, when it is
appropriate to use deep learning, and how to apply the skill. You’ll then learn the
foundational algorithms underpinning modern deep learning: gradient descent and
backpropagation. Once those foundations are established, explore design constructs of
neural networks and the impact of these design decisions. Finally, the course explores
how neural network training can be optimized for accuracy and robustness using training
techniques like early stopping, dropout, regularization, and momentum. Throughout the
course, theory and fundamental implementations are woven together with PyTorch code
to reinforce both the theory and practice of deep learning.

cour s e pro j ect


Developing a Handwritten Digits Classifier with PyTorch
In this project, you will develop a handwritten digit recognition system in PyTorch.
Then, use data preprocessing skills to load data appropriately for use in models.
Develop a neural network using PyTorch and write a training loop that trains the
model with the loaded data. Lastly, apply advanced training techniques to improve
accuracy on the test set

#03 - Introduction to Neural Networks


Lessons Explain essential concepts in neural networks.

Design neural network architectures.

Distinguish between problems based on the objective of


#01 - Deep Learning the model.

Explain the difference between artificial intelligence, Implement appropriate architectures for model objectives.
machine learning, and deep learning.

Recognize the power of deep learning by reviewing popular #04 - Training Neural Networks
examples of deep learning applications.
Define a loss function and optimization method to train a
neural network.

#02 - Minimizing the Error Function with 



Gradient Descent Distinguish between overfitting and underfitting, and
identify the causes of each.

Use PyTorch to preprocess data.

Optimize the training process using early stopping,


Use maximum likelihood, cross-entropy, and probability to regularication, dropout, learning rate decay, and
measure model performance.
momentum.

Apply gradient descent to minimize error.


Distinguish between batch and stochastic gradient descent.

Implement backpropagation algorithm.


Build a neural network with PyTorch and run data through it.

Identify key components of perceptrons. Test and validate a trained network to ensure it generalizes.

u dacity.com
Deep Learning

Course #2:

Convolutional Neural Networks
This course introduces convolutional neural networks, the
most widely used type of neural networks specialized in
image processing. You will learn the main characteristics of
CNNs that make them better than standard neural
networks for image processing. Then you’ll examine the
inner workings of CNNs, including how to build CNNs from
scratch to complete image classification tasks. After, you’ll
apply these architectures to custom datasets using transfer
learning and learn to use autoencoders for anomaly
detection as well as image denoising. Finally, you will learn
how to use CNNs for object detection and semantic
segmentation.

course project
Landmark Classification and Tagging for Social Media
Photo sharing and photo storage services like to have location data for each photo that is uploaded. With the location data,
these services can build advanced features, such as automatic suggestion of relevant tags or automatic photo organization,
which help provide a compelling user experience. Although a photo’s location can often be obtained by looking at the
photo’s metadata, many photos uploaded to these services will not have location metadata available. This can happen when,
for example, the camera capturing the picture does not have GPS or if a photo’s metadata is scrubbed due to privacy
concerns.

If no location metadata for an image is available, one way to infer the location is to detect and classify a discernible landmark
in the image. Given the large number of landmarks across the world and the immense volume of images that are uploaded
to photo sharing services, using human judgment to classify these landmarks would not be feasible.

In this project, you will build models to automatically predict the location of the image based on any landmarks depicted in
the image. You will go through the machine learning design process end-to-end: performing data preprocessing, designing
and training CNNs, comparing the accuracy of different CNNs, and deploying an app based on the best CNN you trained.

u dacity.com
Deep Learning

Course #2: Convolutional Neural Networks

Lessons

List main applications of CNNs.

#01 - Introduction to CNNs Understand professional roles involved in the development of a CNN-based application.

Understand the main events in the history of CNNs.

Recap training networks in PyTorch.

Use multi-layer perceptron for image classification.

#02 - CNN Concepts


Understand limitations of MLPs when applied to images.

Learn the basic concepts of CNNs that make them great at tasks involving images.

Learn how to use the basic layers used in CNNs.

Put all layers together to build a CNN from scratch.

#03 - CNNs in Depth Classify images using a CNN built from scratch.

Improve the performances of your CNN.

Export a model for production.

Understand key CNN architectures and their innovations.

#04 - Transfer Learning Apply multiple ways of adapting pre-trained networks using transfer learning.

Fine-tune a pre-trained network on a new dataset

Understand linear and CNN-based autoencoders.

#05 - Autoencoders Design and train a linear autoencoder for anomaly detection.

Design and train a CNN autoencoder for anomaly detection and image denoising.

Understand the architecture of an object detection model.

#06 - Object Detection and 
 Train and evaluate an object detection model.

Segmentation Understand the architecture of a semantic segmentation model.

Train and evaluate a semantic segmentation model.

u dacity.com
Deep Learning

Course #3: RNNs & Transformers


This course covers multiple RNN architectures and discusses design patterns for those
models. Additionally, you’ll focus on the latest transformer architectures.

course project
Text Translation and Sentiment Analysis using Transformers
In the project, you will use a pre-trained transformer to analyze the sentiment of
movie reviews in three different languages - English, French, and Spanish. You will
first read the movie review data and convert the French and Spanish reviews and
synopses into English, and then analyze the sentiment of each review.

Lessons

Explain how RNNs evolved from feedforward neural networks.

Recognize the benefit of RNNs by reviewing the applications of RNNs in areas


like machine translation.

#01 - Introduction to RNN


Perform backpropagation on an RNN.

Implement simple RNN models using PyTorch.

Apply the GloVe technique to implement word embeddings.

Explain the limitations of simple RNNs and how they can be


overcome by using long short-term memory networks (LSTMs).

Understand the functioning of the LSTM via the four LSTM gates:
#02 - Introduction to LSTM the learning gate, the forget gate, the remember gate, and the use
gate.

Implement LTSM for predicting temperature and sentiment


analysis.

Identify the changes in architecture that occurred during the transition from
recurrent networks to transformer networks.

#03 - Introduction 
 Understand the encoder-decoder and the self-attention mechanism as part of
to Transformer the transformer architecture.

Understand simple transformer-based models like BERT and GPT3 and their
applications.

Use pre-trained transformer models to perform simple tasks like text generation
and text translation.

u dacity.com
Deep Learning

Course #4:

Building Generative Adversarial Networks
In this course, you’ll become familiar with generative adversarial networks (GANs).
You will learn how to build and train different GANs architectures to generate new
images. Discover, build, and train architectures such as DCGAN, CycleGAN, ProGAN
and StyleGAN on diverse datasets including the MNIST dataset, Summer2Winter
Yosemite dataset, or CelebA dataset.

Course Project

Face Generation
In this project, you will build and train a custom GAN architecture on the CelebA dataset,
leveraging the different skills learned during the course. In particular, you will have to build
a custom GAN architecture, including generator and discriminator. You will also
experiment with the different loss functions discovered during the course, such as the
Binary Cross Entropy loss or the Wasserstein loss. Finally, utilize some of the methods
learned to stabilize training, such as label smoothing

Lessons

#01 - Generative Adversarial Networks #03 - Image to Image Translation


Build generator and discriminator using fully
 Implement unpaired data loader.

connected layers.
Build the CycleGAN generator using residual connection
Implement loss functions.
and an encoder-decoder structure.

Train a custom GAN on the MNIST dataset Train a CycleGAN model on the summer2winter Yosemite
dataset.
#02 - Training a Deep Convolutional GANs
Build generator and discriminator using convolutional, batch #04 - Modern GANs
normalization, and fully connected layers.
Implement Wasserstein loss and gradient penalties.

Train a DCGAN model on the CIFAR10 dataset.


Build the ProGAN generator.

Implement evaluation metrics and evaluate generated Implement StyleGAN components (adaptive instance
samples normalization).

u dacity.com
Deep Learning

Meet your instructors

Erick Galinkin
Principal AI Researcher
Erick Galinkin is a hacker and computer scientist, leading research at the intersection of security
and artificial intelligence at Rapid7. He has spoken at numerous industry and academic conferences
on topics ranging from malware development to game theory in security.

Giacomo Vianello
Principal Data Scientist
Giacomo Vianello is an end-to-end data scientist with a passion for state-of-the-art, but practical
technical solutions. An accomplished speaker with more than 20 invited public talks, he works at
Cape Analytics where he brings cutting-edge solutions to the insurance and real estate industries.

Nathan Klarer
Head of ML & COO of Datyra

Nathan is a data scientist and entrepreneur. He currently leads a Datyra, a 50-person AI


consultancy. He was the first AI team member at $CORZ. Prior to that he founded a VC backed data
startup that was acquired. Nathan was named “27 CEO’s Under 27” by Entrepreneur.com and has
been featured in Inc. and Forbes.

Thomas Hossler
Sr Machine Learning Engineer

Thomas is originally a geophysicist but his passion for computer vision led him to become a deep
learning engineer at various startups. By creating online courses, he is hoping to make education
more accessible. When he is not coding, Thomas can be found in the mountains skiing or climbing.

u dacity.com
Learn More at
www.udacity.com

udacity.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy