Frage

Ich möchte den Computerspeicher mit Jeff Heatons Encog Neural Network Library nachahmen. Ich weiß einfach nicht, welchen Ansatz zu verwenden.

Meine Anforderung ist, einen Speicherort und eine Sammlung von Bytes für die Werte zu haben.

location [0000]:byte-data[0101010]
location [0001]:byte-data[0101010]

Das sind die Werte, die ich an das neuronale Netzwerksystem übergeben habe.

Ich habe versucht, jedes Mal, wenn sich die Speicherdaten ändert, zu vermeiden, das neuronale Netzwerk umzuschicken. Aber vielleicht muss ich das tun.

Welche neuronalen Netzwerktechniken würden Sie verwenden, um das zu erreichen, was ich versuche zu tun?

War es hilfreich?

Lösung

Was Sie versuchen, ist kein Problem, in dem neuronale Netze wirklich so gut sind, da sie besser verallgemeinert werden und sie nicht lernen, sie nicht zu lernen. Sie können dies jedoch entweder mit probabilistischen neuronalen Netzwerken oder einer regelmäßigen Wahrnehmung erreichen. Sie waren ein wenig vage in Bezug auf Ihr Problem, also muss ich vage über meine Antwort sein. Ich gehe davon aus, dass Sie meinen, dass Sie Speicherdaten übergeben und dann an eine Speicheradresse klassifizieren. Wenn Sie das Netzwerk mithilfe einer beaufsichtigten Trainingsmethode trainieren, können Sie Speicherdaten übergeben, die ähnlich oder das gleiche wie ein vorhandenes Element sind, und das Netzwerk gibt Ihnen die Adresse. Sie könnten auch das Gleiche in umgekehrter tun, nehme ich an.

Wenn Sie ein probabilistisches neuronales Netzwerk verwenden, lernen Sie im Wesentlichen jedes einzelne Muster, das Sie an das Netzwerk übergeben. Natürlich fügen Sie jedes Mal, wenn Sie eine neue Speicheradresse speichern möchten, dem Netzwerk einen neuen Knoten hinzu, was die Dinge ein wenig ineffizient macht. Die Arbeit wurde durchgeführt, um dieses Problem zu verringern. Zum Beispiel dieses Papier (Sie müssten das Algo selbst implementieren). Möglicherweise wäre diese Art von Netzwerk am zuverlässigsten, wenn Sie den Speicher genau erinnern, während sie dennoch die Ergebnisse verallgemeinern können (mithilfe der Wahrscheinlichkeiten). Der Nachteil ist, dass es Speicherintensiv sein wird.

Traditionelle Feedforward -Backpropogationsnetzwerke (Perceptrons) sollten Ihnen auch so etwas ermöglichen. Sie müssen jedoch darauf achten, genügend versteckte Knoten zu erstellen, damit das Netzwerk alle Ihre Eingabeträger richtig abrufen kann. Dies zu tun, wird natürlich über das Anpassen führen, aber es hört sich so an, als ob Sie Ihre Eingabedaten nicht verallgemeinern möchten. Sie möchten einen besseren Rückruf für Muster.

Um das Problem des Erlernens neuer Daten zu lösen, müssen Sie Ihr Netzwerk nur im Laufe der Zeit lernen, anstatt einmal zu lernen. Sie müssen dies mehr erforschen, aber Sie möchten einen Online -Lernalgorithmus verwenden.

Verwenden Sie abschließend keine neuronalen Netze, verwenden Sie eine andere Art von Algorithmus: P.

Andere Tipps

Das Hopfield Neural Network ist eine einfache Methode zur Implementierung des assoziativen Gedächtnisses. Praktischerweise wird es sogar vom Encog -Framework unterstützt.

Nicht zu nicht technisch zu sein, aber ich bin mir ziemlich sicher, dass eine Reihe von Loops aus einer Reihe vernetzter Loops ein Gedächtnis erzeugen könnte.

Jede Schleife würde zulassen, dass Daten den Kreis kreisen, und jede darunter liegende Schleife kann den Speicher identifizieren, abrufen oder ändern.

Natürlich bin ich mir nicht sicher, wie Sie das Netzwerk dazu verleiten würden, dieses Design einzubeziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top