B261 - Deep Learning Essentials - DPL
The course covers deep learning methods for well-known robotic problems, such as semantic segmentation and reactive robot motion control. The overall goal is timeless universal knowledge rather than an enumeration of all known deep learning architectures. Students are assumed to have prior knowledge of mathematics (gradient, Jacobian, Hessian, gradient descent, Taylor polynomial) and machine learning (Bayesian risk minimization, linear classifier). The labs are divided into two parts: in the first part, students solve basic deep ML problems from scratch (including reimplementing autograd backpropagation); in the second part, students build on existing templates to solve complex problems including RL, transformers, and generative networks.
Learning Objectives
- Understand and implement machine learning algorithms
- Develop autograd-based backpropagation for scalar, vector, and tensor operations
- Apply convolutional neural networks and reinforcement learning to robotic tasks
- Learn about reinforcement learning and transformer-based architectures
My Labs
Lab 4: Backpropagation
+Learn the mechanics of the backpropagation algorithm and implement it from scratch for a deeper understanding.
- Objective: Understand and implement backpropagation for a simple neural network
- Materials: Lab Files | Slides
- Theory: Summary Page
- Tasks: Draw and calculate with a computation graph, for forward and backward pass
Lab 5: Convolutional Neural Networks
+Explore convolutional neural networks and their applications in robotic vision tasks like semantic segmentation.
- Objective: Understand a CNN for image-based tasks
- Materials: Lab Files
- Theory: Summary Page
- Tasks: Understand and implement convolutional layers
My Homework
HW 2: Autograd (10 pts)
+Implement a custom autograd library supporting vector and tensor operations, similar to the scalar-based autograd shown in Lab 4.
- Courseware: HW2 Autograd
- Repository: GitHub
- Task: Complete
engine.pyfor forward and backward passes. Use NumPy only (no PyTorch/TensorFlow). - Key Notes:
- Implement functions within marked sections (ellipses and comments)
- Handle broadcasting in
__add__,__mul__andmatmulusingreshape_gradient __pow__acceptsintorfloat, notTensor
- Getting Started:
- Clone the repository:
git clone https://github.com/urob-ctu/hw2-autograd.git - Install requirements:
pip install -r requirements.txt
- Clone the repository:
- Testing: You can test your implementation with:
python3 test.py. - Submission: Zip the directory and upload to BRUTE using
./submit.sh. Auto-evaluated, with possible tutor re-evaluation. - Grading: Max 10 points, -1 point per 24 hours late (up to -9 points).