Neuronové sítě

Předmět se zaobírá problematikou neuronových sítí. Především se zaměřuje na několik základních typů a jejich implemntaci.

Skripta

Skripta najdete na stránkách pana prof. Ing. Ivo Vondráka, CSc. zde.

Zadání 1. domácího úkolu

Implementace nespojitého perceptronu a Hebbova učení v libovolném objektovém jazyce. Ukázka jak HebbPerceptron-1.0.1.zip.

  • Termín odevzdání pro studenty deního studia je na osobně na cvičení 7.3.2022, studenti kombinovaného studia mají termín odevzdání stejný jako u druhého domácího úkolu.
    Projekt je nutno předvést na cvičení. Součástí odevzdaného projektu jsou zdrojové kódy
  • Funkce programu:
    Program ze vstupního souboru načte potřebné údaje a naučí perceptron danou trénovací množinu. Pak načte testovací vstupy a zobrazí je spolu s odpovědí perceptronu na vstupní data.
    • Program bude schopen zvládat perceptron s neomezeným počtem vstupů.
    • V případě že bude počet vstupů perceptronu roven 2 bude program schopen vykreslit trénovací a testovací množinu do grafického rozhraní (2D plochy) a zároveň umožní znázornit hodnoty vah perceptronu jako přímku v této ploše.
    • Program bude schopen krokovat učení perceptronu (v případě 2 vstupů se bude po každém kroku aktualizovat  obrázek znázorňující).
  • Vstupní soubor je XML soubor viz ukázka a další du1-inputFiles. Soubor lze načíást pomocí JAXB (HebbPerceptronStudents)

Tento domácí úkol je hodnocen maximálně 10 body.

Zadání 2. domácího úkolu

Implementace vícevrstvé neuronové sítě a metody učení backpropagation v libovolném objektovém jazyce. Její otestování na vlastním příkladu a na řízení auta.

  • Termín odevzdání pro studenty deního studia je osobně na cvičení v zápočtovém týtdnu 11.4.2022, studenti kombinovaného studia mají termín 15.4.2022.
    Projekt je nutno předvést na cvičení. Součástí odevzdaného projektu jsou zdrojové kódy
  • Funkce programu:
    • Vstupní soubor je XML soubor viz lekar.xml. Pro načtení v Jazyce JAVA lze využít JAXB a třídy z xmlData.zip
    • Implementace metody učení backpropagation.
    • Umožňuje se připojit k servru pro řízení auta. Například pomocí připravených klientů (klient_basic2-src - java, BasicDriverNET_src - .NET). Naučená neuronová siť bude využita k řízení auta.
  • Pro vytvoření trénovací množiny pro řízení auta lze využít editor (stažení)
  • Součástí odevzdání je také vytvoření vlastního příkladu využití sítě (definice sítě a trénovací množiny - ne řízení auta).

Tento domácí úkol je hodnocen maximálně 30 body.

Příklad naučení množiny 2D_1

Zvětšit

Zobrazení 2D plochy pro množinu examplke2D_1.xml z example2D.zip

Příklad naučení množiny 2D_2

Zvětšit

Zobrazení 2D plochy pro množinu examplke2D_2.xml z example2D.zip

Příklad naučení množiny 2D_3

Zvětšit

Zobrazení 2D plochy pro množinu examplke2D_3.xml z example2D.zip