GMU:Neuronale Netze - eine Einführung für Künstler/Präsentation/Neuronale Netze in Pure Data: Difference between revisions
Line 31: | Line 31: | ||
==Trainieren des Netzes== | ==Trainieren des Netzes== | ||
[[Image:Pd-ann-train.png|right|frame|Neuronales Netz mit "train" Nachricht]] | [[Image:Pd-ann-train.png|right|frame|Neuronales Netz mit "train" Nachricht]] | ||
Um das Neuronale Netz zu trainieren muss man ihm die Nachricht "train" schicken. | Um das Neuronale Netz zu trainieren muss man ihm die Nachricht "train" schicken. Das Netz wird damit in den Training-Modus versetzt, erkennbar an folgender Konsolenausgabe: | ||
nn:training | |||
<br clear="all" /> | |||
==Benutzen des Netzes== | ==Benutzen des Netzes== |
Revision as of 10:14, 30 June 2010
Neuronale Netze in Pure Data
Neuronale Netze können in Pure Data mit Hilfe der ANN-Library realisiert werden. Die Library enthält drei Objekte:
- ann_mlp: Ein Mehrlagiges Perceptronen Netzwerk
- ann_td: Ein Time Delay Netzwerk
- ann_som: Ein Implementation der Selbstorganisierenden Karten
Hier wird das Erstellen eines Neuronalen Netzes mit Hilfe des ann_mlp Objektes erklärt.
Generelles
Die Steuerung des ann_mlp Objektes geschieht durch Nachrichten. Das neuronale Netz hat als Eingabe eine Liste von float Werten. Alles was nicht aus float Werten besteht, muss erst in float Werte umgewandelt werden. Die Ausgabe des Neuronalen Netzes besteht ebenso nur aus float Werten.
Am besten ist es, Eingaben um 0 zu zentrieren, d.h. -1 bis 1 (zur Not kann man auch bei 0 beginnen) und nicht 12 bis 99.
Neuronale Netze müssen trainiert werden um zu funktionieren. Bevor man das Neuronale Netz benutzen kann, muss also erst einige Zeit darin investiert werden es zu trainieren. Tranierte Netze können gespeichert und geladen werden.
Erstellen des Netzes
Um ein mlp-Netz zu erstellen braucht man zuerst ein ann_mlp Objekt. Um das Netz aber auch wirklich zu erstellen, muss man dem ann_mlp Objekt eine Nachricht mit dem Wort "create" und mehreren Parametern übergeben. Folgende Parameter sind Möglich:
create <Anzahl Eingabeneuronen> <Anzahl Ausgabeneuronen> <Anzahl der Schichten> <Anzahl versteckte Neuronen> <Verbindungsrate> <Lernrate>
Die Anzahl der Eingabeneuronen und die Anzahl der Ausgabeneuronen müssen immer angegeben werden, die anderen Parameter sind optional.
Als Ausgabe in der Konsole sollte man jetzt folgende Ausgabe bekommen:
created ann with: num_input = 2 num_output = 1 num_layers = 3 connection_rate = 1.000000 learning_rate = 0.700000
Trainieren des Netzes
Um das Neuronale Netz zu trainieren muss man ihm die Nachricht "train" schicken. Das Netz wird damit in den Training-Modus versetzt, erkennbar an folgender Konsolenausgabe:
nn:training