Neuronová síť adaptovaná metodou backpropagation

Autor: Martin Kot

Studijní číslo: KOT119

Předmět: Neuronové sítě

Program je implementací vícevrstvé neuronové síťě adaptované metodou backpropagation. Síť může mít libovolnou topologii, tedy počet vrstev i neuronů ve vrstvách. Topologie sítě, trénovací množina a parametry sítě se zadávají v textovém souboru. Parametry lze navíc nastavit i v okně aplikace.

Format vstupniho souboru

Vstupní soubor obsahuje povinně definici topologie sítě a trénovací množiny. Volitelně lze přidat parametry sítě. V souboru se v libovolném pořadí mohou vyskytovat řádky obsahující následující konstrukce (každou na samostatném řádku):
Vrstva: N, N[, N ...] N jsou počty neuronu ve vrstvách, první číslo je vstupní vrstva.
Mi: R R je hodnota koeficientu změny vah z předchozího kroku.
Ny: R R je hodnota koeficientu učení.
Strmost: R R je hodnota strmosti sigmoidu.
Max. chyba: R Pokud je hodnota chyby pri učení menší než R, učení končí.
Min. vaha: R R je hodnota minimální možné kladné váhy při inicializaci spojení. -R je maximální možná záporná váha spojení při inicialici
Max. vaha: R R je hodnota maximální možné kladné váhy při inicializaci spojení. -R je minimální možná záporná váha spojení při inicialici
Opakovat mnozinu: N N je počet opakování trénovací množiny, po kterých se učení zastaví i při nedosažení povolené chyby. Počet opakování se počítá po každém stisku tlačítka učit znovu.
Opakovat polozku: N N je počet opakování jedné položky trénovací množiny v jednom opakování množiny.
R[, R,...] > R[, R,...] Hodnoty trénovací množiny. Před "<" jsou vstupní hodnoty oddělené čárkou a za jsou výstupní hodnoty oddělené čárkou. Položky trénovací množiny lze specifikovat až po určení počtu neuronů ve vrstvách.

Řádky začínající znakem "#" jsou brány jako poznámky.

Spuštění programu

Program se spuští příkazem: java GUI

Ovládání programu

Po spuštění programu je nutno pomocí tlačítka "Soubor" vybrat soubor s topologií sítě. Rovněž lze kdykoliv vybrat jiný soubor. Vytvoří se nová síť.

Tlačítko učit spustí učení sítě. Během učení se zobrazuje počet opakování trénovací množiny a chyba sítě. Učení lze kdykoliv přerušit stiskem tlačítka "Prerusit" a potom v něm zase pokračovat.

Tlačitko "Vypocet" zkontroluje správnost hodnot v poli "Vstupy" a provede výpočet sítě pro tyto vstupy. Výsledky jsou zapsány do pole "Vystupy". Počet vstupů i výstupů je dán topologií sítě. Jednotlivé hodnoty se u vstupů i výstupů oddělují čárkami.

Tlačítko "Reset" nastaví váhy sítě znovu na náhodné hodnoty. Je vhodné po tomto provést znovu učení, jinak budou výsledky úplně náhodné.

Tlačítko "Nastaveni" otevře nové okno s parametry sítě. Jejich významy jsou stejné jako v souboru popisovaném výše. Změny se zapamatují stiskem "OK" nebo neakceptují po "Storno" nebo zavření tohoto okna.

Ukončení programu se provádí zavřením okna