Hallo,
ich möchte mit MemBrain ein neuronales Modell aus der Hirnforschung nachbauen. Dieses Modell verwendet "dynamische Synapsen". Das sind Links, deren Gewicht veränderbar ist. Hat das Ausgangsneuron gefeuert, wird die Gewichtung auf 0 gesetzt. Solange das Ausgangsneuron nicht über den betrachteten Link feuert, erhöht sich die Gewichtung langsam wieder auf den Ursprungswert. Solange dieser Ursprungswert nicht wieder erreicht ist, gibt der betreffende Link kein Signal weiter.
Lassen sich solche dynamischen Synapsen mit MemBrain modellieren?
Besten Dank im Voraus,
Christoph
Dynamische Synapsen
Re: Dynamische Synapsen
Hallo Christoph,
Über einen 'Workaround' lässt sich etwas erreichen, was zumindest in die Richtung geht:
Ein Neuron kann mittels der Eigenschaft 'Output Recovery Time' dazu gebracht werden, am Ausgang das Feuern für eine einstellbare Anzahl Rechenschritte zu unterlassen (d.h., 0 auszugeben), nachdem das Neuron einmal gefeuert (d.h., einen Wert ungleich Null ausgegeben) hat.
Man könnte also jeden zu modellierenden Link (= Synapse) durch eine Abfolge Link-Neuron-Link ersetzen, wobei der eingehende oder der ausgehende Link einen festen Wert von 1 erhält, der jeweils andere das gewünschte Gewicht. Wenn man dann die 'Output Recovery Time' des Neurons entsprechend setzt, erhält man im Gesamtverhalten zumindest eine 'Synapse', die nach einmaliger Übertragung das Gewicht 0 annimmt. Das Gewicht steigt dann aber nicht kontinuierlich wieder an, sondern springt nach Erreichen der eingestellten Anzahl 'Pauseschritte' ( = Recovery-Time - 1) schlagartig wieder auf das eingestellte Gewicht, um nach dem nächsten Feuern wieder auf 0 zurückzugehen.
Ich werde einmal darüber nachdenken, ob die Implementierung der variablen Links eine wünschenswerte Erweiterung von MemBrain sein könntn... das kommt für Dich natürlich wahrscheinlich dann zu spät nehme ich an...
Viele Grüße
Direkt nicht, nein.Synapsis wrote:Lassen sich solche dynamischen Synapsen mit MemBrain modellieren?
Über einen 'Workaround' lässt sich etwas erreichen, was zumindest in die Richtung geht:
Ein Neuron kann mittels der Eigenschaft 'Output Recovery Time' dazu gebracht werden, am Ausgang das Feuern für eine einstellbare Anzahl Rechenschritte zu unterlassen (d.h., 0 auszugeben), nachdem das Neuron einmal gefeuert (d.h., einen Wert ungleich Null ausgegeben) hat.
Man könnte also jeden zu modellierenden Link (= Synapse) durch eine Abfolge Link-Neuron-Link ersetzen, wobei der eingehende oder der ausgehende Link einen festen Wert von 1 erhält, der jeweils andere das gewünschte Gewicht. Wenn man dann die 'Output Recovery Time' des Neurons entsprechend setzt, erhält man im Gesamtverhalten zumindest eine 'Synapse', die nach einmaliger Übertragung das Gewicht 0 annimmt. Das Gewicht steigt dann aber nicht kontinuierlich wieder an, sondern springt nach Erreichen der eingestellten Anzahl 'Pauseschritte' ( = Recovery-Time - 1) schlagartig wieder auf das eingestellte Gewicht, um nach dem nächsten Feuern wieder auf 0 zurückzugehen.
Ich werde einmal darüber nachdenken, ob die Implementierung der variablen Links eine wünschenswerte Erweiterung von MemBrain sein könntn... das kommt für Dich natürlich wahrscheinlich dann zu spät nehme ich an...
Viele Grüße
Thomas Jetter