Podmínky pro získání zápočtu:
- Povinně: Vypracování projektu a jeho osobní prezentace na cvičení (v závěrečném týdnu 19-22.5.2025 nebo dříve).
- Povinně: Ústní přezkoušení z probrané teorie.
- Volitelně (bonusové body): Aktivní účast na přednáškách a cvičeních, řešení úloh.
Aktivní účast na přednáškách a cvičeních, řešení úloh.
- Účast tedy není povinná, nicméně je doporučená a přispěje k lepší známce.
- Aktivní účast znamená, že se student soustředí na výuku, podílí na řešení příkladů, komunikuje.
- Občas budou zadány nějaké bonusové úlohy za extra body (typicky jako domácí úkol).
- Známkování účasti a bonusových bodů: 1 bod za 1 aktivní účast na hodině, maximálně lze získat 26 bodů.
- pro známku A za účast: stačí 20 z 26 bodů
- pro známku B za účast: stačí 13 z 26 bodů
- kdo bude mít účast menší než 13 (nebo kdo bude chtít), u toho bude výsledná známka počítaná čistě na základě projektu a (důkladnějšího) přezkoušení.
Vypracování projektu a jeho prezentace
V rámci kurzu budete samostatně pracovat na projektu, který můžete řešit buď individuálně, nebo v případě rozsáhlejšího projektu i ve dvojicích či trojicích. Tento projekt následně odprezentujete před svými kolegy na cvičení. Cílem projektu je aplikace některého z probíraných modelů na reálný datový problém a experimentování s různými metodami a technikami.
-
Co bude projekt obnášet?
- Výběr úlohy a datové sady: Zvolte si vhodnou úlohu a odpovídající datovou sadu. Může jít např. o klasifikaci, regresi, práci s obrazovými nebo sekvenčními daty – podle toho, co vás zajímá. Pokud si nebudete vědět rady, ráda vám úlohu doporučím.
- Předzpracování dat: Důležité je důkladně data připravit pro trénování modelů – může zahrnovat čištění, vektorizaci, augmentaci apod.
- Výběr a aplikace modelu: Použijte jeden nebo více probíraných modelů, které jsou vhodné pro vámi zvolený problém.
-
Experimentování:
- Vyzkoušejte různé přístupy (např. různé modely, různé varianty jednoho modelu, různou volbu architektury či parametrů, předučené modely). Můžete také zkusit aplikovat techniky zlepšení učení (např. regularizace, dropout, augmentace dat,...). Důležitý je proces experimentování. Jak budete experimentovat (a v jakém rozsahu) nechám na vás, ale ráda poradím.
- Porovnejte výsledky více modelů nebo různých přístupů.
- Vyhodnocení: Zhodnoťte výsledky svého experimentu – jak dobře model funguje / modely fungují? Které techniky měly největší dopad a jaký? Co Vám dalo nejvíc zabrat? Naučili jste se něco nového?
- Tip: Pokud jste již pracovali nebo právě pracujete na nějakém projektu týkajícím se neuronových sítí, například v rámci bakalářské nebo jiné práce, můžete ho po domluvě použít jako projekt pro tento předmět.
- 15.4-1.5.2025 Výběr úlohy a její schválení.
- 19-23.5.2025 Prezentace vypracovaných projektů před ostatními. Jako doplněk odevzdáte okomentovaný zdrojový kód (ideální forma je notebook), vstupní data, vizualizace výstupů a případně slidy (podklady) k prezentaci. Prezentaci je možné po domluvě uskutečnit i dříve.
- Doplnění: Pokud nestihnete projekt dokončit včas, na cvičení v týdnu 19-23.5.2025 odprezentujete aktuální stav projektu a následně (nejpozději do 15.9.2025) odevzdáte zevrubnější zprávu o řešení, finální obhajoba projektu pak proběhne během individuální konzultace (ideálně současně s přezkoušením). Stejně tak, pokud projekt a jeho prezentace budou mít větší nedostatky nebo nedostatečný rozsah, mohu vás požádat o nějaké doplnění, které mi pak odevzdáte a dodatečně odprezentujete (nejpozději do 15.9.2025).
FAQ k projektům.
- Jakou zvolit strukturu závěrečné prezentace?
- Popis úlohy, kterou jste se rozhodli řešit.
- Popis dat (charakter dat, příznaky, počet vzorů,...) a jejich zdroj (popř. jak jste data získali).
- Jakým způsobem jste data předzpracovali.
- Popis experimentu - se kterými modely, technikami, nastaveními parametrů jste experimentovali a jak.
- Výsledky experimentu (vhodná vizualizace pomocí tabulek, obrázků a nebo grafů) + zhodnocení vlastními slovy.
- Kde se dají sehnat data?
- Kaggle: https://www.kaggle.com/datasets
- UCI Machine learning repository: https://archive.ics.uci.edu/
- KDnuggets: https://www.kdnuggets.com/datasets/index.html
- GitHub: https://github.com/topics/machine-learning-datasets
- Google dataset search: https://datasetsearch.research.google.com/
- OpenML https://www.openml.org/
- časové řady (např. kurzy měn, akcií),...
- Které modely zvolit?
Můžete si vybrat libovolné s probíraných modelů. Doporučuji zejména tyto:- Vrstevnatá neuronová síť s algoritmem zpětného šíření (popř. jiným).
- Jednoduchý neuron (perceptron, lineární neuron). Neuronová síť s jednou vrstvou neuronů.
- Asociativní síť. Samoorganizace. Kohonenovy mapy. RBF-síť
- Konvoluční neuronová síť.
- Jak provést srovnání modelů?
- V závislosti na úloze a modelu použít např. k-násobnou křížovou validaci nebo průměrný výsledek přes alepoň 100 opakování. V tabulkách typicky srovnáváme rychlost (čas, počet cyklů), velikost chyby (MSE / chyba klasifikace - na trénovací i testovací množině), zajímá nás střední hodnota i rozptyl/směrodatná odchylka hodnot.
- Architektura u vrstevnaté neuronové sítě - zkusit různé počty neuronů, různé počty vrstvev, výsledky formou tabulky, zhodnotit výsledek vlastními slovy.
- Další parametry - zkusit různé kombinace hodnot, výsledky formou tabulky, zhodnotit výsledek vlastními slovy.
Přezkoušení z probrané teorie.
- Zadání otázky / otázek z předem známého seznamu okruhů (příklad otázky: Perceptron: popište model a jeho algoritmus učení, na jaké úlohy se hodí, jaké jsou jeho výhody a nevýhody
- Seznam okruhů (otázek) - bude aktualizováno
- Základní pojmy: Strojové učení, matematický model neuronu, neuronová síť, vrstevnatá neuronová síť, hluboké vs. mělké učení
- Perceptron, reprezentace logických funkcí (logický prahový obvod), lineární separabilita, perceptronový algoritmus učení (princip, varianty, úskalí)
- Umělý neuron, přenosová funkce a její význam, kdy se která hodí. Přenosová funkce ve skryté vrstvě. Ve výstupní vrstvě. K jakým úlohám se hodí/nehodí, jaká požaduje data.
- Lineární neuron a lineární neuronová síť, popis modelu, algoritmy učení (princip, srovnání), k jakým úlohám se hodí/nehodí, jaká požaduje data, omezení. Souvislost s lineární regresí
- Umělý neuron se spojitou přenosovou funkcí, popis modelu, varianty, učení pomocí gradientní metody k jakým úlohám se hodí/nehodí, problémy a omezení.
- Jednovrstvá neuronová síť – stručný popis modelu a jeho učení, na jaké úlohy se hodí, jaká požaduje data, omezení
- Vrstevnatá neuronová síť a algoritmus zpětného šíření (stačí stručný princip), jeho přednosti a nevýhody, typické úlohy, požadavky na data. Architektura v závislosti na typu úlohy.
- Vrstevnatá neuronová síť – hyperparametry a jejich nastavení, algority učení. Techniky pro zrychlení a zlepšení učení. Schopnost modelu zobecňovat a jak ji zlepšit.
- Operace konvoluce a její význam v konvolučních sítích (a i jinde). Konvoluční vrstva.
- Konvoluční neuronová síť – architektura, vrstvy, aplikace. Učení, přenesené učení, techniky pro zlepšení učení, moderní architektury.
- Shlukování – co to je, typické úlohy, probírané algoritmy, jejich výhody a nevýhody
- Kompetitivní model a Kohonenova mapa – popis modelů a jejich učení, na jaké úlohy se hodí/nehodí, výhody a nevýhody
- Hybridní modely (LVQ, RBF, případně counter-propagation) – stručný popis, k čemu se hodí, nevýhody
- U přezkoušení mi jde o to, zda máte o dané problematice obecné povědomí, tušíte, jak modely fungují a k čemu se hodí, jaký je princip algoritmů, nezkouším z konkrétních matematických vzorečků a technických detailů.