Neuronales Netz

Gast #2685189
Lesenswert?

Hi,

ich muss in einem uC ein Neuronales Netz implementieren.
Nun frage ich mich, wieviel RAM-Speicher ich für eine solceh Aufgabe 
einplanen müsste...

Kann soetwas noch sinnvoll mit 4kB gelöst werden, oder braucht man unter 
16kB garnicht anfangen an solche Aufgaben zu denken?

Es wird ca. 4 Inputmesswerte geben und drei unterschiedliche 
Outputwerte.
Wie die Zwischenschicht ausfällt ist mir selber noch nicht ganz klar,
allerdings muss ich mich nun für einen uC entscheiden und möchte nicht 
unnötig teure Controller verwenden...

mfg und Danke
#2685198
Lesenswert?

Das geht mit dem billigsten Controller. Ein neuronales Netz ist auch 
nichts weißer als eine Vektormultiplikation. Ram brauchst Du bei so 
wenigen Werten kaum, eine Zwischenschicht vielleicht noch nichtmal, oder 
die besteht im kompliziertesten Fall halt aus 8 Einheiten.
Mach Dir lieber mal Gedanken, wie du das Netz trainieren willst.
Gast #2685396
Lesenswert?

Dazu habe ich auch gleich eine Folge-Frage:

Wie signalisiert man dem Netz, dass die "Entwicklung" gerade in die 
gewünschte Richtung geht?

Soweit ich es verstanden habe, werden die Wichtungen in der mittleren 
Ebene im Lernprozess verschoben. Wie aber weiß so ein Netz, dass die 
daraus resultierende Ausgabe bei Wichtung A erwünschter ist, als bei 
Wichtung B?

mfg
#2685405
Lesenswert?

Hi,

NN schrieb:
> Kann soetwas noch sinnvoll mit 4kB gelöst werden, oder braucht man unter
> 16kB garnicht anfangen an solche Aufgaben zu denken?
>
> Es wird ca. 4 Inputmesswerte geben und drei unterschiedliche
> Outputwerte.

Die Input/Output-Geschichte wird wahrscheinlich x-mal mehr Speicher 
benoetigen als das NN. Wie j.c. schon geschrieben hat, ist das im 
Idealfall eine Matrix die multipliziert wird. Man kann NN auch anders 
implementieren, aber der Speicherverbrauch ist dann entsprechend 
groesser.


NN schrieb:
> Wie signalisiert man dem Netz, dass die "Entwicklung" gerade in die
> gewünschte Richtung geht?
>
> Soweit ich es verstanden habe, werden die Wichtungen in der mittleren
> Ebene im Lernprozess verschoben. Wie aber weiß so ein Netz, dass die
> daraus resultierende Ausgabe bei Wichtung A erwünschter ist, als bei
> Wichtung B?

Stichwort: Backpropagation

Ich habe waehrend meiner Studienzeit auch relativ viel mit NN 
gearbeitet. Ich habe mir dafuer ein Tool geschrieben, das Trainingsdaten 
einliest und auf dem "schnellen PC" die Wichtungen (=Parameter) der 
einzelnen Knoten ermittelt - sprich, das Netz trainiert. Diese Parameter 
musste ich dann nur noch in den Controller uebertragen. Geht relativ 
zuegig das zu implementieren, ein Nachmittag sollte vollkommen 
ausreichend sein.

Gruesse,
TommyS
Gast #2685420
Lesenswert?

Ein NN ist das richtige fuer Leute, die sich nicht richtig mit dem 
Problem befassen wollen oder koennen, und beliebig viel Rechenleistung 
haben.

Daher sollte man die Struktur und die Gewichtung mit dem PC machen. Und 
erst nachher das NN in den Controller laden. Da man nicht inkrementell, 
sondern nur auf's Mal lernen kann, muss man die Muster repetitiv 
anlegen. Sowas kann man in der Realitaet nicht, sondern nur in der 
Testumgebung.
#2685430
Lesenswert?

Plop schrieb:
> Da man nicht inkrementell,
> sondern nur auf's Mal lernen kann,

Verstehe Dich nicht so ganz. Du trainierst einen Datensatz nach dem 
anderen und kannst ja auch jederzeit mit dem Training aufhoeren und 
"Echtdaten" verarbeiten. Dann kannst Du wieder eine "Trainingssession" 
einschieben und so weiter. Das ist fuer mich ziemlich inkrementell.

Gruesse,
TommyS
#2686599
Lesenswert?

Notfalls mach es halt mit einem anderen Artificial Intelligence Tool. 
SVM oder weiß-der-Geier-was. Am wichtigsten ist nicht die 
Klassifikationsmethode, sondern die Auswahl möglichst informativer 
Eigenschaften, die man der Klassifikation füttert. Ein neuronales Netz 
um Beethoven zu erkennen, sollte man lieber nicht mit dem 
RAW-Spannungsverlauf der Musik füttern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren