Fakulta informačních technologií VUT v Brně

Detail předmětu

Konvoluční neuronové sítě

KNN Ak. rok 2019/2020 letní semestr 5 kreditů

Řešení založená na metodách strojového učení postupně nahrazují ručně navržená řešení v mnoha oblastech vývoje software, speciálně pak v percepčních úlohách zaměřených na získávání informací o reálném světě z informačně bohatých senzorů jako jsou kamery, mikrofony a podobně. Dominantní metodou strojového učení jsou v současné době neuronové sítě, a speciálně pak jejich varianty zaměřené na strukturovaná data - konvoluční neuronové sítě. Tyto přístupy jsou jádrem mnoha úspěšných komerčních aplikací a posunují možnosti umělé inteligence.

Garant předmětu

Zástupce garanta předmětu

Jazyk výuky

česky

Zakončení

klasifikovaný zápočet

Rozsah

26 hod. přednášky, 26 hod. projekty

Bodové hodnocení

35 půlsemestrální test, 65 projekty

Zajišťuje ústav

Přednášející

Cvičící

Získané dovednosti, znalosti a kompetence z předmětu

Studenti se seznámí se základy konvolučních neuronových sítí, jejich učení (optimalizace), jejich stavebními bloky a programovými prostředími (frameworky) pro jejich implementaci. Získají základní povědomí o faktorech, které určují jejich úspěšnost v reálných aplikacích včetně vlastností datové sady, vhodnosti chybové funkce, vhodné struktury sítě, regularizace, optimalizace, přetrénování sítí a multi-task učení. Studenti se také seznámí s konkrétními příklady neuronových sítí pro široké spektrum úloh počítačového vidění (klasifikace, detekce, segmentace, identifikace), zpracování řeči, jazykového modelování, posilovaného učení a generování dat.

Dovednosti, znalosti a kompetence obecné

Studenti si vyzkouší spolupráci na týmovém projektu a seznámí se s knihovnami jazyka Python zaměřenými na matematické operace, lineární algebru a strojové učení.

Cíle předmětu

Seznámit se s konovlučními neuronovými sítěmi, jejich možnostmi, limity a s jejich praktickým využitím převážně v úlohách zpracování obrazu a počítačového vidění s částečným přesahem do zpracování řeči a jazyka. Umožnit absolventům samostatně používat konvoluční sítě v praktických aplikacích a celkově navrhovat řešení založená na konvolučních sítích včetně struktury sítí, jejich učení, tvorby datových sad a vyhodnocení kvality výsledku.

Proč je předmět vyučován

Tento předmět využijete, ať už je vaším cílem pracovat jako odborník na umělou inteligenci v předních nadnárodních společnostech jako je Google či Facebook, chcete posunovat hranice umělé inteligence ve špičkovém akademickém týmu, nebo si jen tak chcete rozšířit obzory o současnosti umělé inteligence. Neuronové sítě jsou dnes jádrem mnoha komerčních aplikací od přepisu řeči, vyhledávání obrázků podle jejich obsahu a inteligentních dohledových systémů, až po konverzační systémy a autonomní automobily. Zároveň jsou neuronové sítě i hnací silou současného pokroku ve výzkumu a vývoji umělé inteligence. V tomto předmětu získáte základní povědomí o tom, jak takové sítě fungují a jak se prakticky používají. Zároveň vám představíme konkrétní příklady praktických sítí pro úlohy zpracování obrazu, zvuku a textu.

Požadované prerekvizitní znalosti a dovednosti

Základní znalosti lineární algebry (násobení vektorů a matic), diferenciálního počtu (parciální derivace a její význam, řetězcové pravidlo), jazyka Python a intuitivní pochopení teorie pravděpodobnosti (např. podmíněná pravděpodobnost). Jakékoliv znalosti strojového učení a zpracování obrazu jsou výhodou.

Literatura studijní

  • Goodfellow, I., Bengio, Y., Courville, A.: Deep Learning. MIT Press, 2016.
  • Li, Fei-Fei, et al.: CS231n: Convolutional Neural Networks for Visual Recognition. Stanford, 2018.

Literatura referenční

  • Goodfellow, I., Bengio, Y., Courville, A.: Deep Learning. MIT Press, 2016.
  • Li, Fei-Fei, et al.: CS231n: Convolutional Neural Networks for Visual Recognition. Stanford, 2018.
  • Bishop, C. M.: Pattern Recognition, Springer Science + Business Media, LLC, 2006, ISBN 0-387-31073-8.

Osnova přednášek

  1. Uvod, lineární modely, chybová funkce, alg. učení (optimalizace), vyhodnocení.
  2. Plně propojené sítě, chybové funkce pro klasifikaci a regresi. 
  3. Konvoluční sítě, lokalita a invariance výpočtů.
  4. Generalizace, regularizace, rozšiřování datových sad, multi-task sítě a předtrénování.
  5. Problémy při učení. Batch normalizace. Existující architektury klasifikačních sítí pro obraz.
  6. Detekce objektů: MTCNN face detektor, R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD.
  7. Sémantická segmentace a segmentace instancí. Odhad vzdáleností, normál povrchu, osvětlení a pohybu.
  8. Sítě pro učení podobností a embedding. Rozpoznávání osob podle obličeje a hlasu. 
  9. Rekurentní neuronové sítě a zpracování sekvencí (textu a řeči). Connectionist Temporal Classification (CTC). Sítě s pozorností.
  10. Jazykové modely. Základní modely pro generování popisů obrázků, odpovědi na otázky, překlad jazyka a podobně.
  11. Generativní modely. Autoregresivní faktorizace. Generative Adversarial Networks.
  12. Posilované učení s neuronovými sítěmi. Deep Q-network (DQN) a policy gradients.
  13. Přehled nových a neortodoxních aplikací konvolučních sítí a jejich základní myšlenky.

Osnova ostatní - projekty, práce

Týmový projekt (2-3 studenti).
Libovolná témata navržená studenty a odsouhlasená vyučujícím.
Postup řešení projektu:
  • Formulace úlohy a utvoření týmu.
  • Průzkum existujících řešení a použitelných nástrojů.
  • Základní řešení a návrh vyhodnocování.
  • Sběr dat.
  • Experimenty, testování a postupné vylepšení řešení.
  • Závěrečná zpráva a prezentace projektu.

Průběžná kontrola studia

  • Hodnocený projekt s obhajobou - 65 bodů.
  • Dva testy během semestru - 35 bodů.

Podmínky zápočtu

Získání alespoň 50 bodů z hodnocených částí předmětu.

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Čtpřednáškavýuky E112 18:0019:50 1MIT 2MIT xx

Zařazení předmětu ve studijních plánech

Nahoru