B261 - Deep Learning Essentials - DPL

Code: B0B33DPL Level: Undergraduate Semester: Winter 2026/2027 Credits: 6 ECTS

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.py for 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__ and matmul using reshape_gradient
    • __pow__ accepts int or float, not Tensor
  • Getting Started:
    1. Clone the repository: git clone https://github.com/urob-ctu/hw2-autograd.git
    2. Install requirements: pip install -r requirements.txt
  • 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).

Resources

Courseware

Access all course materials and announcements.

Visit Courseware

Main GitHub Repository

Explore code samples and lab templates.

Visit Repository

Unofficial Materials

Contribute to community-driven docs for extra credit.

View Docs

Office Hours

Schedule a consultation for questions or project help.

Contact Me