Hallo Zusammen, im Moment beschäftige ich mich mit Fragen zu neuronalen Netzen. Um mal etwas praktisches auszuprobieren, habe ich mir ein Experiment überlegt: - Ein Neuron ist an 4 binäre Leitungen angeschlossen. Auf den Leitungen werden die Zahlen 0-15 codiert. - Es wird ein gleichverteilter Zufallsdatenstrom erzeugt. Eine bestimmte Zahl wird von Zeit zu Zeit eingefügt. - Das Neuron soll lernen, auf diese Zahl zu reagieren. - Es soll ein "unkontrolliertes Lernen" erfolgen, d.h. ohne Feed Back Loop Kennt sich von euch jemand aus, wie man die Gewichte automatisch ermittelt? Habt Ihr eine Idee?
Da gibts unterschiedliche Algorithmen, aber ich glaube das was Du machen willst kannst Du anders deutlich einfacher lösen, bzw die Lösung ist u.U. unmöglich.
>Möchtest Du sie in Echtzeit oder per Simulation bestimmen und dann >nutzen? Es geht mir eher um das Prinzip des unüberwachten Lernens http://de.wikipedia.org/wiki/Un%C3%BCberwachtes_Lernen Ich möchte verstehen, wie man die Synapsengewichte automatisch regeln kann. Es muss etwas mit der Hebbschen Regel zu tun haben: http://de.wikipedia.org/wiki/Hebbsche_Lernregel
chris schrieb: > Ein Neuron ist an 4 binäre Leitungen angeschlossen. Auf den Leitungen > werden die Zahlen 0-15 codiert. Wieso willst du hier mit diskreten Werten arbeiten? Das macht die Sache nur viel komplizierter. > Es wird ein gleichverteilter Zufallsdatenstrom erzeugt. Eine bestimmte > Zahl wird von Zeit zu Zeit eingefügt. Wie soll dein Neuronales Netz diese Zahl von den Zufallsdaten unterscheiden? > Es geht mir eher um das Prinzip des unüberwachten Lernens Versuch es vielleicht erst mal mit überwachtem Lernen.
>Wie soll dein Neuronales Netz diese Zahl von den Zufallsdaten >unterscheiden? Oben habe ich mal eine Simualtion angehängt, mit der ich das Verfahren teste. Die zu lernende Zahl ist 4. Man kann die Wahrscheinlichkeit mit der die Zahl vorkommt ist auf 20 Prozent eingestellt. Mit meiner Implementierung der Hebbschen Lernregel ( möglicherweise habe etwas falsch gemacht ... ) lernt das Neuron nach ca. 200 Durchläufen das Pattern. Das Pattern scheint invertiert zu sein. Das Gewicht für das Bit 3 ist auf -1 gegangen die anderen auf +1. Das Verfahren funktioniert mit den anderen Zahlen genauso. Allerdings finde ich 200 Durchläufe bei einer Wahrscheinlichkeit von 20 Prozent für das pattern etwas langsam.
Ich glaube daß es nicht funkltionieren wird weil ich zu doof bin zu verstehen wovon du redest! Ob langsam ist oder nicht ist es eine Interessante Frage. Wenn wir was "lernen" wie viele Impulse wird die Speicherneurongruppe brauchen bis es gespeicher wird ? Vielleicht noch mehr Pulse wenn wir sagen daß so gibt es 1 Puls pro ms und wird brauchen manchmals ein paar Sekunden bis wir was erkennen... aber ein 1 zu 1 korrelation kann man bestimmit nicht machen...
Hallo Chris, also das Lernen mit der Hebbschen Lernregel ist natürlich von der Lernrate abhängig, wobei meine Erfolge damit eher bescheiden waren. Grundsätzlich müßte das Netz aber alle Kombination in 200 Schritten gelernt haben und nicht nur die "4". Schneller geht es mit dem Levenberg Algorithmus, ist allerdings auch rechenaufwendiger: http://www.eng.auburn.edu/~wilambm/pap/2011/K10149_C012.pdf Gruß Marvol
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.