Berechnungsunterschiede zwischen Spiking Neural Networks und früheren ANNs

Dies ist eine KI-Frage zu "neuronalen Netzen der 3. Generation" - Spiking Neural Networks (SNN).

Ich habe dieses Konzept online anhand verschiedener Artikel studiert, hauptsächlich Maass (1997) . Ich bin mir nicht ganz sicher, warum SNNs im Gegensatz zu früheren ANNs, bei denen es sich um Ratencodes handelt, als Pulscode betrachtet werden.

Ich habe einen Hintergrund in Neurowissenschaften, also verstehe ich die Begriffe und das Verhältnis, ich frage nach der tatsächlichen Umsetzung.

Liegt der praktische Unterschied darin, dass jedes Neuron, wenn es seinen aktuellen Zustand in einem SNN aktualisiert, die gesamte Geschichte jedes präsynaptischen Neurons behandelt und nicht nur den letzten Schritt? Ist es das, was ihm zeitliche Eigenschaften verleiht, die ANNs der vorherigen Generation fehlen? Was ist der entscheidende rechnerische Unterschied zwischen SNN und früheren Ansätzen?

Anmerkungen

Diese Frage wurde von SO migriert, und ein Duplikat wurde auf cstheory gestellt, das zu CS.SE migriert wurde .

Im Allgemeinen ist dies bei Stack Exchange stark verpönt; Fragen sollten nur auf einer Website vorhanden sein. Amir, bitte stellen Sie sicher, dass Sie beide Fragen auf dem neuesten Stand halten, und wenn Sie eine Antwort auf einer Seite akzeptieren, stellen Sie sicher, dass Sie die Frage auf der anderen Seite selbst beantworten und die beiden miteinander verknüpfen. Und bitte vermeiden Sie in Zukunft Crosspostings. Danke schön!
Tut mir leid, ich war mir der Richtlinie nicht bewusst. Ich dachte nur, die Frage wäre in der Grauzone zwischen den beiden Feldern. Ich werde beide pflegen und eine endgültige Antwort verlinken, wenn ich sie erreiche.

Antworten (1)

Das ratenbasierte Netzwerk ist eine spezifische Implementierung der allgemeineren Spiking-Netzwerke. Man kann ein ratenbasiertes Netzwerk als ein Spiking-Netzwerk betrachten, in dem die Eingaben von jedem Neuron über einen kurzen Zeitraum (denken Sie an "eine Sekunde") akkumuliert und verwendet werden, um den Zustand ihres Zielneurons nur einmal zu aktualisieren in jedem Zeitraum.

Wenn beispielsweise ein Eingabeneuron in einem ratenbasierten Netzwerk eine Ausgabe von '40' hat, sollten Sie sich das so vorstellen, als ob es 40 Mal in dem Zeitraum feuert und nur einmal in jedem Zeitraum sein Zielneuron "Lesen" Sie diese Eingabe.

Andererseits ist bei Spiking-Neuronen die Ausgabe auf binär begrenzt und daher muss die verwendete Zeitspanne kürzer als die maximale Rate sein. In jedem Zeitraum aktualisiert das Zielneuron seinen Zustand basierend auf seiner (binären) Eingabe.

Also zusammenfassend:
* Spiking-Netzwerke beschreiben ein allgemeineres Phänomen.
* Spiking-Netzwerke können auf Eingaben mit feiner zeitlicher Struktur reagieren und in Zeiträumen agieren, die um eine Größenordnung kleiner sind als ratenbasierte Modelle.

Man kann auch hinzufügen, dass Spiking-Netzwerke wahrscheinlich eine genauere biologische Beschreibung des Gehirns sind (aber immer noch eine sehr grobe Darstellung).

Nehmen wir ein einfaches Perzeptron, ebenfalls mit einem binären Ausgang. Nach Ihrer Beschreibung klingt es so, als könnte er auch als Pulscode interpretiert werden, es ist alles eine Frage, welche Zeitskala Sie jeder Iteration des Netzes (jeder Zeitperiode) zuordnen. IAF-Neuronen werden jedoch andere Fähigkeiten als Perzeptronen zugeschrieben, nämlich die Fähigkeit, zeitliche Muster in Daten zu finden. Unabhängig von der Interpretation sollte es also einen wesentlichen Unterschied in der Implementierung geben, um dies zu berücksichtigen. Übersehe ich etwas? Vielen Dank Uri
Betrachten wir ein Netzwerk, das Eingänge zu M Zeitperioden von N Eingängen empfängt. Dann können Sie sich das Netzwerk für jeden dieser Zeiträume als ein Perzeptron vorstellen; aber die Input-Output-Beziehung in allen M Perioden, in denen es 2^M verschiedene Outputs gibt, ist aufgrund der nicht trivialen Wechselwirkungen zwischen ihnen von Natur aus anders als M unabhängige Perceptrons zu haben.
Okay, ich glaube, das verstehe ich. Aber nehmen wir dieses Netzwerk mit genau der gleichen Struktur und tauschen die Neuronenimplementierung von IAF zu Perceptron. Haben Sie 2 Kopien der gleichen Topologie und Laufzeit (M Zeit, N Eingaben) mit einer unterschiedlichen Implementierung für die Neuronen. Warum sollte der eine Impulscode und der andere Preiscode sein?
Das sind nur Namen, die angeben, dass jeder Zeitraum unabhängig (im Perzeptron) verarbeitet wird oder durch Änderung des Netzwerkzustands (der 'Spannung' in IAF) miteinander interagiert.