Skip to content

Latest commit

 

History

290 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Natural Language Processing with Deep Learning 2025/2026

This repository contains slide decks, programming exercises, and links to recorded lectures videos for the course "Natural Language Processing with Deep Learning" (Ruhr University Bochum, winter term 2025/2026).

This course is lectured by Prof. Dr. Ivan Habernal.

The slides are available as PDF as well as LaTeX source code (we've used Beamer because typesetting mathematics in PowerPoint or similar tools is painful). See the instructions below if you want to compile the slides yourselves.

Logo

The content is licensed under Creative Commons CC BY-SA 4.0 which means that you can re-use, adapt, modify, or publish it further, provided you keep the license and give proper credits.

Note: The following content is continuously updated as the winter term progresses.

To see the previous full 2024/25 course content, checkout the latest 2025 commit.

YouTube Playlist

Subscribe the YouTube playlist to get updates on new lectures: https://www.youtube.com/playlist?list=PL6WLGVNe6ZcCbnLqv_KjFXmk4ROEtlcKX

Lectures and exercises

Lecture 01: NLP tasks and evaluation

2025-10-16

Exercise 01: Evaluation

Lecture 02: Gradient

2025-10-23

Exercise 02: Tensors and derivatives

Lecture 03: Backpropagation and binary text classification

2025-10-30

Exercise 03: Backprop from scratch

Lecture 04: Text classification and feed-forward networks

2025-11-06

Lecture 05: Language models and word embeddings

2025-11-13

Lecture 06: Word embeddings and RNNs

2025-11-20

Lecture 07: BERT as encoder transformer

2025-12-04

Lecture 08: BERT part two

2025-12-11

Lecture 09: Decoder-only models and GPT

2025-12-17

Lecture 10: Evolution of transformer models

2026-01-08

Lecture 11: Retrieval augmented generation

2026-01-15

Lecture 12: Inference-time scaling and reasoning

2026-01-22

FAQ

  • What are some essential pre-requisites?
    • Math: Derivatives and partial derivatives. We cover them in Lecture 2. If you need more, I would recommend these sources:
      • Jeremy Kun: A Programmer's Introduction to Mathematics. Absolutely amazing book. Pay-what-you-want for the PDF book. https://pimbook.org/
      • Deisenroth, A. Aldo Faisal, and Cheng Soon Ong: Mathematics for Machine Learning. Excellent resource, freely available. Might be a bit dense. https://mml-book.github.io/
  • Where do I find the code for plotting the functions?
    • Most of the plots are generated in Python/Jupyter (in Colab). The links are included as comments in the respective LaTeX sources for the slides.

Compiling slides to PDF

If you run a linux distribution (e.g., Ubuntu 24.04 and newer), all packages are provided as part of texlive. Install the following packages

$ sudo apt-get install texlive-latex-recommended texlive-pictures texlive-latex-extra \
texlive-fonts-extra texlive-bibtex-extra texlive-humanities texlive-science \
texlive-luatex biber rubber wget -y
  • Install RUB fonts
    • I've prepared a shell script which downloads the TTF files and installs them
$ chmod +x install-rub-fonts.sh
$ ./install-rub-fonts.sh

Run the script compile-pdf.sh in each lecture's folder to produce both handouts as well as unfolding PDFs used in the lecture.

Compiling slides using Docker

If you don't run a linux system or don't want to mess up your latex packages, I've tested compiling the slides in a Docker.

Install Docker ( https://docs.docker.com/engine/install/ ), e.g. apt-get install docker.io and add the user do the docker group on Linux

Create a folder to which you clone this repository (for example, $ mkdir -p /tmp/slides)

Run Docker with Ubuntu 24.04 interactively; mount your slides directory under /mnt in this Docker container

$ docker run -it --rm --mount type=bind,source=/tmp/slides,target=/mnt \
ubuntu:24.04 /bin/bash

Once the container is running, update, install packages and fonts as above

# apt-get update && apt-get dist-upgrade -y && apt-get install texlive-latex-recommended \
texlive-pictures texlive-latex-extra texlive-fonts-extra texlive-bibtex-extra \
texlive-humanities texlive-science texlive-luatex biber rubber wget -y

Install RUB fonts as above

Compile the output PDF with lualatex and biber (using rubber for orchestrating re-compilation easily)

$ rubber --module lualatex 20XX-XX-XX-who-where.tex

About

Natural Langauge Processing with Deep Learning - Lectures and exercises

Resources

Stars

65 stars

Watchers

7 watching

Forks

Used by

Contributors

Languages