Deep Learning for Robotics
Summary
Learn how to apply machine learning to robotic applications through this course developed in collaboration with the Interactive Robotics Lab at Arizona State University. Beginning with understanding simple neural networks to exploring long short-term memory (LSTM) and reinforcement learning, these modules provide the foundations for using deep learning algorithms in many robotics workloads.
This course provides you with practical knowledge of the following skills:
- Apply supervised learning for obstacle detection
- Derive backpropagation and use dropout and normalization to train your model
- Use reinforcement learning to let a robot learn from simulations
- Build many types of deep learning systems using PyTorch*
The course is structured around four weeks of lectures and exercises. Each week requires three hours to complete.
Prerequisites
Python* programming
Calculus
Linear algebra
Basic statistics
Week 1
Get a beginner’s overview of supervised learning for robotics applications. Topics include:
- Use backpropagation to train a simple neural network and identify overfitting
- Build a neural network using PyTorch for an obstacle avoidance system
Week 2
Use neural networks to control a robot’s motion. Additional topics include:
- Use neural networks for inverse kinematic motion calculation
- Improve training with techniques such as dropout and regularization
- Solve high-dimensional problems by dimension reduction with principal component analysis (PCA)
Week 3
Discover reinforcement learning where an agent learns from its environment instead of labels. Topics include:
- Define a policy and compute its gradient
- Write a reinforcement learning agent with PyTorch
- Get an overview of Reinforcement Learning Coach, a state-of-the-art reinforcement learning framework
Week 4
Explore how to incorporate temporal data into neural networks, including:
- Backpropagation through time and vanishing or exploding gradients
- Many variations of recurrent neural networks (RNN) and LSTMs and how to implement them in PyTorch