We may earn an affiliate commission when you visit our partners.
Course image
Fawaz Sammani

This course is a comprehensive guide to Deep Learning and Neural Networks. The theories are explained in depth and in a friendly manner. After that, we'll have the hands-on session, where we will be learning how to code Neural Networks in PyTorch, a very advanced and powerful deep learning framework.

The course includes the following Sections:

Section 1 - How Neural Networks and Backpropagation Works

Read more

This course is a comprehensive guide to Deep Learning and Neural Networks. The theories are explained in depth and in a friendly manner. After that, we'll have the hands-on session, where we will be learning how to code Neural Networks in PyTorch, a very advanced and powerful deep learning framework.

The course includes the following Sections:

Section 1 - How Neural Networks and Backpropagation Works

In this section, you will deeply understand the theories of how neural networks  and the backpropagation algorithm works, in a friendly manner. We will walk through an example and do the calculations step-by-step. We will also discuss the activation functions used in Neural Networks, with their advantages and disadvantages.

Section 2 - Loss Functions

In this section, we will introduce the famous loss functions that are used in Deep Learning and Neural Networks. We will walk through when to use them and how they work.

Section 3 - Optimization

In this section, we will discuss the optimization techniques used in Neural Networks, to reach the optimal Point, including Gradient Descent, Stochastic Gradient Descent, Momentum, RMSProp, Adam, AMSGrad, Weight Decay and Decoupling Weight Decay, LR Scheduler and others.

Section 4 - Weight Initialization

In this section,we will introduce you to the concepts of weight initialization in neural networks, and we will discuss some techniques of weights initialization including Xavier initialization and He norm initialization.

Section 5 - Regularization Techniques

In this section, we will introduce you to the regularization techniques in neural networks. We will first introduce overfitting and then introduce how to prevent overfitting by using regularization techniques, inclusing L1, L2 and Dropout. We'll also talk about normalization as well as batch normalization and Layer Normalization.

Section 6- Introduction to PyTorch

In this section, we will introduce the deep learning framework we'll be using through this course, which is PyTorch. We will show you how to install it, how it works and why it's special, and then we will code some PyTorch tensors and show you some operations on tensors, as well as show you Autograd in code.

Section 7 - Practical Neural Networks in PyTorch - Application 1

In this section, you will apply what you've learned to build a Feed Forward Neural Network to classify handwritten digits. This is the first application of Feed Forward Networks we will be showing.

Section 8 - Practical Neural Networks in PyTorch - Application 2

In this section, we will build a feed forward Neural Network to classify weather a person has diabetes or not. We will train the network on a large dataset of diabetes.

Section 9 - Visualize the Learning Process

In this section, we will visualize how neural networks are learning, and how good they are at separating non-linear data.

Section 10 - Implementing a Neural Network from Scratch with Python and Numpy

In this section, we will understand and code up a neural network without using any deep learning library (from scratch using only python and numpy). This is necessary to understand how the underlying structure works.

Section 11 - Convolutional Neural Networks

In this section, we will introduce you to Convolutional Networks that are used for images. We will show you first the relationship to Feed Forward Networks, and then we will introduce you the concepts of Convolutional Networks one by one.

Section 12 - Practical Convolutional Networks in PyTorch

In this section, we will apply Convolutional Networks to classify handwritten digits. This is the first application of CNNs we will do.

Section 13- Deeper into CNN: Improving and Plotting

In this section, we will improve the CNN that we built in the previous section, as well show you how to plot the results of training and testing. Moreover, we will show you how to classify your own handwritten images through the network.

Section 14 - CNN Architectures

In this section, we will introduce the CNN architectures that are widely used in all deep learning applications. These architectures are: AlexNet, VGG net, Inception Net, Residual Networks and Densely Connected Networks. We will also discuss some object detection architectures.

Section 15- Residual Networks

In this section, we will dive deep into the details and theory of Residual Networks, and then we'll build a Residual Network in PyTorch from scratch.

Section 16 - Transfer Learning in PyTorch - Image Classification

In this section, we will apply transfer learning on a Residual Network, to classify ants and bees. We will also show you how to use your own dataset and apply image augmentation. After completing this section, you will be able to classify any images you want.

Section 17- Convolutional Networks Visualization

In this section, we will visualize what the neural networks output, and what they are really learning. We will observe the feature maps of the network of every layer.

Section 18 - YOLO Object Detection (Theory)

In this section, we will learn one of the most famous Object Detection Frameworks: YOLO. This section covers the theory of YOLO in depth.

Section 19 - Autoencoders and Variational Autoencoders

In this section, we will cover Autoencoders and Denoising Autoencoders. We will then see the problem they face and learn how to mitigate it with Variational Autoencoders.

Section 20 - Recurrent Neural Networks

In this section, we will introduce you to Recurrent Neural Networks and all their concepts. We will then discuss the Backpropagation through  time, the vanishing gradient problem, and finally about Long Short Term Memory (LSTM) that solved the problems RNN suffered from.

Section 21 - Word Embeddings

In this section, we will discuss how words are represented as features. We will then show you some Word Embedding models.  We will also show you how to implement word embedding in PyTorch.

Section 22 - Practical Recurrent Networks in PyTorch

In this section, we will apply Recurrent Neural Networks using LSTMs in PyTorch to generate text similar to the story of Alice in Wonderland. You can just replace the story with any other text you want, and the RNN will be able to generate text similar to it.

Section 23 - Sequence Modelling

In this section, we will learn about Sequence-to-Sequence Modelling. We will see how Seq2Seq models work and where they are applied. We'll also talk about Attention mechanisms and see how they work.

Section 24 - Practical Sequence Modelling in PyTorch - Build a Chatbot

In this section, we will apply what we learned about sequence modeling and build a Chatbot with Attention Mechanism.

Section 25 - Saving and Loading Models

In this section, we will show you how to save and load models in PyTorch, so you can use these models either for later testing, or for resuming training.

Section 26 - Transformers

In this section, we will cover the Transformer, which is the current state-of-art model for NLP and language modeling tasks. We will go through each component of a transformer.

Section 27 - Build a Chatbot with Transformers

In this section, we will implement all what we learned in the previous section to build a Chatbot using Transformers.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Understand how neural networks work (theory and applications)
  • Understand how convolutional networks work (theory and applications)
  • Understand how recurrent networks and lstms work (theory and applications)
  • Learn how to use pytorch in depth
  • Understand how the backpropagation algorithm works
  • Understand loss functions in neural networks
  • Understand weight initialization and regularization techniques
  • Code-up a neural network from scratch using numpy
  • Apply transfer learning to cnns
  • Cnn visualization
  • Learn the cnn architectures that are widely used nowadays
  • Understand residual networks in depth
  • Understand yolo object detection in depth
  • Visualize the learning process of neural networks
  • Learn how to save and load trained models
  • Learn sequence modeling with attention mechanisms
  • Build a chatbot with attention
  • Transformers
  • Build a chatbot with transformers
  • Bert
  • Build an image captioning model
  • Show more
  • Show less

Syllabus

How Neural Networks and Backpropagation Works
BEFORE STARTING...PLEASE READ THIS
What Can Deep Learning Do?
The Rise of Deep Learning
Read more
The Essence of Neural Networks
The Perceptron
Gradient Descent
The Forward Propagation
Before Proceeding with the Backpropagation
Backpropagation Part 1
Backpropagation Part 2
Loss Functions
Mean Squared Error (MSE)
L1 Loss (MAE)
Huber Loss
Binary Cross Entropy Loss
Cross Entropy Loss
Softmax Function
Softmax with Temperature: Controlling your distribution
KL divergence Loss
Contrastive Loss
Hinge Loss
Triplet Ranking Loss
Practical Loss Functions Note
Activation Functions
Why we need activation functions
Sigmoid Activation
Tanh Activation
ReLU and PReLU
Exponentially Linear Units (ELU)
Gated Linear Units (GLU)
Swish Activation
Mish Activation
Regularization and Normalization
Overfitting
L1 and L2 Regularization
Dropout
DropConnect
Normalization
Batch Normalization
Layer Normalization
Group Normalization
Optimization
Batch Gradient Descent
Stochastic Gradient Descent
Mini-Batch Gradient Descent
Exponentially Weighted Average Intuition
Exponentially Weighted Average Implementation
Bias Correction in Exponentially Weighted Averages
Momentum
RMSProp
Adam Optimization
SWATS - Switching from Adam to SGD
Weight Decay
Decoupling Weight Decay
AMSGrad
Hyperparameter Tuning and Learning Rate Scheduling
Introduction to Hyperparameter Tuning and Learning Rate Recap
Step Learning Rate Decay
Cyclic Learning Rate
Cosine Annealing with Warm Restarts
Batch Size vs Learning Rate
Weight Initialization
Normal Distribution
What happens when all weights are initialized to the same value?
Xavier Initialization
He Norm Initialization
Practical Weight Initialization Note
Introduction to PyTorch

GitHub: https://github.com/fawazsammani

Computation Graphs and Deep Learning Frameworks
Installing PyTorch and an Introduction
How PyTorch Works
Torch Tensors - Part 1
Torch Tensors - Part 2
Numpy Bridge, Tensor Concatenation and Adding Dimensions
Automatic Differentiation
Loss Functions in PyTorch
Weight Initialization in PyTorch
Data Augmentation
1_Introduction to Data Augmentation
2_Data Augmentation Techniques Part 1
2_Data Augmentation Techniques Part 2
2_Data Augmentation Techniques Part 3
Practical Neural Networks in PyTorch - Application 1: Diabetes
Download the Dataset
Part 1: Data Preprocessing
Part 2: Data Normalization
Part 3: Creating and Loading the Dataset
Part 4: Building the Network
Part 5: Training the Network
Visualize the Learning Process
Visualize Learning Part 1
Visualize Learning Part 2
Visualize Learning Part 3
Visualize Learning Part 4
Visualize Learning Part 5
Visualize Learning Part 6
Neural Networks Playground
Implementing a Neural Network from Scratch with Numpy

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches Neural Networks, which are core tools in Artificial Intelligence
Develops advanced Neural Network Architectures, such as CNNs and Transformers
Builds a strong foundation in Deep Learning algorithms
Teaches PyTorch, which is an industry-standard framework for Deep Learning
Examines loss functions, optimization, and regularization techniques, which are essential concepts in Deep Learning
Provides hands-on experience with real-world datasets, such as the Diabetes dataset

Save this course

Save The Complete Neural Networks Bootcamp: Theory, Applications to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Complete Neural Networks Bootcamp: Theory, Applications with these activities:
Deep learning: review neural networks fundamentals
Review neural networks concepts prior to the beginning of the course will help you succeed.
Browse courses on Neural Networks
Show steps
  • Revisit the basic concepts of neural networks, including their structure, function, and learning algorithms.
  • Brush up on the different types of neural networks, such as feedforward networks, convolutional neural networks, and recurrent neural networks.
  • Review the process of backpropagation and how it is used to optimize neural network models.
Review of mathematics for deep learning
Refreshing your mathematical skills will provide a strong foundation for deep learning concepts.
Browse courses on Deep Learning
Show steps
  • Review the basics of linear algebra, including vectors, matrices, and eigenvalues.
  • Brush up on calculus concepts such as derivatives and gradients.
  • Practice applying these mathematical concepts to neural network models.
Neural network coding exercises
Working through coding exercises will help you master the practical aspects of neural network development.
Browse courses on Neural Networks
Show steps
  • Implement a simple neural network using a library like PyTorch or TensorFlow.
  • Train and evaluate the neural network on a dataset.
  • Experiment with different neural network architectures and hyperparameters.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Study group: collaborate on neural network projects
Collaborating with peers on projects will enhance your understanding and provide diverse perspectives.
Browse courses on Neural Networks
Show steps
  • Find a study group or form one with classmates who share your interests.
  • Choose a neural network project to work on together.
  • Divide responsibilities and work together to complete the project.
  • Present your project to the group and discuss your findings.
Follow tutorials on advanced neural network techniques
Deepen your understanding of neural networks by exploring advanced techniques through guided tutorials.
Browse courses on Neural Networks
Show steps
  • Choose tutorials that align with your interests and learning goals.
  • Follow the tutorials step-by-step, implementing the techniques and concepts in your own projects.
  • Seek out additional resources and documentation to supplement your learning.
Attend a deep learning workshop or conference
Attending workshops or conferences will expose you to cutting-edge research and industry trends.
Browse courses on Deep Learning
Show steps
  • Research upcoming deep learning workshops or conferences.
  • Select an event that aligns with your interests and learning goals.
  • Attend the event, participate in discussions, and network with other attendees.
Kaggle competitions: neural network challenges
Participating in Kaggle competitions will provide you with hands-on experience and help you develop your problem-solving skills.
Browse courses on Neural Networks
Show steps
  • Identify a Kaggle competition that aligns with your interests.
  • Download the competition data and familiarize yourself with the problem statement.
  • Build and train a neural network model to solve the competition task.
  • Submit your model and track your progress on the leaderboard.

Career center

Learners who complete The Complete Neural Networks Bootcamp: Theory, Applications will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Machine Learning Engineers are responsible for designing, developing, and deploying machine learning models. This course can help build a foundation for a career in Machine Learning Engineering. The course teaches the theories and applications of Deep Learning and Neural Networks, which are essential skills for Machine Learning Engineers to have. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Deep Learning Scientist
Deep Learning Scientists are responsible for developing and applying deep learning models in order to solve complex problems. This course can help build a foundation for a career as a Deep Learning Scientist. The course teaches the theories and applications of Deep Learning and Neural Networks, which are essential skills for Deep Learning Scientists to have. The course also covers how to use and apply PyTorch, a popular deep learning framework.
AI Engineer
AI Engineers design, develop, and maintain AI systems. This course can help build a foundation for a career in AI Engineering. The course teaches the theories and applications of Deep Learning and Neural Networks, which are essential skills for AI Engineers to have. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Data Scientist
Data Scientists use artificial intelligence (AI) and machine learning (ML) to find trends and patterns in large data sets. This course can help build a foundation for a career in Data Science. The course teaches the theories and applications of Deep Learning and Neural Networks, which are essential skills for Data Scientists to have. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Risk Analyst
Risk Analysts assess and manage risks in areas such as finance, insurance, and engineering. This course can help build a foundation for a career as a Risk Analyst. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Risk Management. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Software Developer
Software Developers design, develop, and maintain software applications. This course can help build a foundation for a career as a Software Developer. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the development of software applications. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Data Analyst
Data Analysts use data to solve problems and make informed decisions. This course can help build a foundation for a career in Data Analytics. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Data Analytics. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Business Analyst
Business Analysts use data to analyze and improve business processes. This course can help build a foundation for a career as a Business Analyst. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Business Analysis. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to solve problems in fields such as business, engineering, and healthcare. This course can help build a foundation for a career as an Operations Research Analyst. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Operations Research. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Statistician
Statisticians collect, analyze, and interpret data in order to solve problems and make informed decisions. This course can help build a foundation for a career as a Statistician. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Statistics. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course can help build a foundation for a career in Software Engineering. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the development of software applications. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze and predict financial data. This course can help build a foundation for a career as a Quantitative Analyst. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Quantitative Finance. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Financial Analyst
Financial Analysts assess and value financial instruments such as stocks and bonds. This course can help build a foundation for a career as a Financial Analyst. The course teaches the theories and applications of Deep Learning and Neural Networks, which can be used to analyze financial data. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Management Consultant
Management Consultants help organizations improve their performance. This course can help build a foundation for a career as a Management Consultant. The course teaches the theories and applications of Deep Learning and Neural Networks, which can be applied to various challenges in the field of Management Consulting. The course also covers how to use and apply PyTorch, a popular deep learning framework.
Computational Scientist
Computational Scientists use computers to solve complex problems. This course can help build a foundation for a career in Computational Science. The course teaches the theories and applications of Deep Learning and Neural Networks, which are becoming increasingly important in the field of Computational Science. The course also covers how to use and apply PyTorch, a popular deep learning framework.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Complete Neural Networks Bootcamp: Theory, Applications.
Provides a comprehensive overview of deep learning, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about deep learning, whether they are new to the field or have some experience.
Provides a comprehensive overview of statistical learning, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about statistical learning, whether they are new to the field or have some experience.
Provides a comprehensive overview of machine learning from a probabilistic perspective, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about machine learning, whether they are new to the field or have some experience.
Provides a practical introduction to deep learning with Python, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about deep learning, whether they are new to the field or have some experience.
Provides a practical introduction to machine learning with Python, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about machine learning, whether they are new to the field or have some experience.
Provides a practical introduction to machine learning, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about machine learning, whether they are new to the field or have some experience.
Provides a comprehensive overview of speech and language processing, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about speech and language processing, whether they are new to the field or have some experience.
Provides a comprehensive overview of deep learning for natural language processing, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about deep learning for natural language processing, whether they are new to the field or have some experience.
Provides a practical introduction to machine learning with Python, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about machine learning, whether they are new to the field or have some experience.
Provides a practical introduction to data mining, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about data mining, whether they are new to the field or have some experience.
Provides a comprehensive overview of computer vision, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about computer vision, whether they are new to the field or have some experience.
Provides a gentle introduction to statistical learning, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about statistical learning, whether they are new to the field or have some experience.
Provides a practical introduction to machine learning for hackers, covering the fundamental concepts, algorithms, and applications. It valuable resource for anyone who wants to learn more about machine learning, whether they are new to the field or have some experience.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Complete Neural Networks Bootcamp: Theory, Applications.
Fashion Image Classification using CNNs in Pytorch
Most relevant
Deep Learning with PyTorch: Build a Neural Network
Most relevant
Deep Learning with Python and PyTorch
Most relevant
Deep Neural Networks with PyTorch
Most relevant
Building Deep Learning Models Using PyTorch
Most relevant
Deep Learning with PyTorch : Convolutional Neural Network
Most relevant
PyTorch for Deep Learning with Python Bootcamp
Most relevant
Natural Language Processing with PyTorch
Most relevant
Image Classification with PyTorch
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser