Last update: RNDr. Jiří Mírovský, Ph.D. (16.03.2024)
The objective of this course is to provide a comprehensive introduction to deep neural networks, which have consistently
demonstrated superior performance across diverse domains. The course focuses both on theory spanning from the
basics to the latest advances, as well as on practical implementations in Python and PyTorch (students implement and
train deep neural networks performing a wide range of image processing, text processing, and image generation tasks).
The course is part of the inter-university programme prg.ai Minor (https://prg.ai/minor).
Last update: RNDr. Jiří Mírovský, Ph.D. (16.03.2024)
Cílem tohoto kurzu je poskytnout komplexní úvod do hlubokých neuronových sítí, které konzistentně dosahují
špičkového výkonu v různorodých oblastech. Zaměřuje se jak na teorii od základů k nejnovějším technikám, tak i na
reálnou implementace hlubokých neuronových sítí v Pythonu a knihovně PyTorch (studenti naimplementují a natrénují
hluboké neuronové sítě pro širokou škálu úloh zpracování obrazu, porozumění textu a generování obrazu).
Předmět je součástí meziuniverzitního programu prg.ai Minor (https://prg.ai/minor).
Aim of the course -
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
The goal of the course is to introduce deep neural networks, from the basics to the latest advances. The course will focus both on theory as well as on practical aspects.
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Cílem přednášky je seznámení s hlubokými neuronovými sítěmi, od základů k nejnovějším technikám. Přednáška se zaměří jak na teorii, tak na skutečné použití hlubokých neuronových sítí.
Course completion requirements -
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Students pass the practicals by submitting sufficient number of assignments. The assignments are announced regularly the whole semester and are due in several weeks. Considering the rules for completing the practicals, it is not possible to retry passing it. Passing the practicals is not a requirement for going to the exam.
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Zápočet je udělován za vypracování dostatečného množství úloh. Úlohy jsou zadávány pravidelně celý semestr a na vypracování každé z nich je několik týdnů. Vzhledem ke způsobu obdržení zápočtu není možné jeho získání opakovat. Získání zápočtu není podmínkou k připuštění ke zkoušce.
Literature -
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Yoshua Bengio, Ian Goodfellow, Aaron Courville: Deep learning, MIT Press, In preparation.
Jürgen Schmidhuber: Deep learning in neural networks: An overview, Neural networks 61 (2015): 85-117.
Sepp Hochreiter, and Jürgen Schmidhuber: Long short-term memory, Neural computation 9.8 (1997): 1735-1780.
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Yoshua Bengio, Ian Goodfellow, Aaron Courville: Deep learning, MIT Press, In preparation.
Jürgen Schmidhuber: Deep learning in neural networks: An overview, Neural networks 61 (2015): 85-117.
Sepp Hochreiter, and Jürgen Schmidhuber: Long short-term memory, Neural computation 9.8 (1997): 1735-1780.
Requirements to the exam -
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
The exam is written and consists of questions randomly chosen from a publicly known list. The requirements of the exam correspond to the course syllabus, in the level of detail which was presented on the lectures.
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Zkouška je písemná a skládá se z náhodně volených otázek z předem známého seznamu. Požadavky zkoušky odpovídají sylabu předmětu v rozsahu, který byl prezentován na přednášce.
Syllabus -
Last update: RNDr. Milan Straka, Ph.D. (07.02.2024)
Feedforward deep neural networks
Basic architectures and activation functions
Optimization algorithms for training deep models
Regularization of deep models
Classic regularization using parameter norm penalty
Dropout
Label smoothing
Batch normalization
Multi-task learning
Convolutional neural networks
Convolutional and pooling layers
Architectures suitable for very deep convolutional networks
State-of-the-art models for image recognition, object localization and image segmentation
Pre-training and finetuning of deep neural networks
Architektury vhodné pro velmi hluboké konvoluční sítě
Nejlepší známé modely pro rozpoznávání obrazu, detekci objektů a segmentaci obrazu
Předtrénování a finetuning hlubokých neuronovách sítí
Rekurentní neuronové sítě
Základní rekurentní sítě a problémy jejich trénování
Long short-term memory
Gated recurrent units
Obousměrné a hluboké rekurentní sítě
Enkodér-dekodér architektury typu věta na větu
Praktická metodika
Výběr vhodné architektury
Volba hyperparametrů
Zpracování přirozeného jazyka
Distribuovaná reprezentace slov
Reprezentace slov jako sekvence znaků
Transformer architektura
Nejlepší známé algoritmy pro morfologické značkování, rozpoznávání pojmenovaných entit, strojového překladu
Hluboké generativní modely
Variační autoenkodéry
Generativní protivnické (adversarial) sítě
Difúzní modely
Generování řeči
Strukturovaná predikce
CTC loss a její aplikace v nejlepších známých algoritmech rozpoznání řeči
sequence-to-sequence architektura
Úvod do hlubokého zpětnovazebního učení
Entry requirements -
Last update: RNDr. Milan Straka, Ph.D. (08.11.2023)
Basic programming skills in Python are required. No previous knowledge of artificial neural networks is needed, but basic understanding of machine learning is advantageous.
Last update: RNDr. Jiří Mírovský, Ph.D. (11.05.2023)
Je vyžadována základní znalost programování v jazyce Python. Předchozí znalosti neuronových sítí nejsou potřeba, ale je vhodné mít základní zkušenosti se strojovým učením.