Kurze Antwort:
Genau genommen beziehen sich "Deep" und "Spiking" auf zwei verschiedene Aspekte eines neuronalen Netzwerks: "Spiking" bezieht sich auf die Aktivierung einzelner Neuronen, während sich "Deep" auf die gesamte Netzwerkarchitektur bezieht. Im Prinzip gibt es also keinen Widerspruch zu einem spitzen, tiefen neuronalen Netzwerk (tatsächlich ist das Gehirn wohl ein solches System).
In der Praxis arbeiten die derzeitigen Ansätze für DL und SNN jedoch nicht gut zusammen. Insbesondere beruht Deep Learning, wie es derzeit praktiziert wird, typischerweise auf einer differenzierbaren Aktivierungsfunktion und kann daher diskrete Spike-Züge nicht gut handhaben.
Weitere Details:
Echte Neuronen kommunizieren über diskrete Spannungsspitzen. Beim Erstellen von Hardware hat Spiking einige Vorteile hinsichtlich des Stromverbrauchs, und Sie können Spikes wie Datenpakete (Address Event Representation oder VRE) weiterleiten, um die im Gehirn vorhandene Konnektivität zu emulieren. Das Dotieren ist jedoch ein lauter Prozess. Im Allgemeinen bedeutet eine einzelne Spitze nicht viel, daher ist es in der Software üblich, die Spikedetails zu abstrahieren und eine einzelne skalare Spitzenrate zu modellieren. Dies vereinfacht viele Dinge, insbesondere wenn Ihr Ziel maschinelles Lernen und nicht biologische Modellierung ist.
Die Schlüsselidee von Deep Learning besteht darin, mehrere Schichten von Neuronen zu haben, wobei jede Schicht auf der Grundlage der vorherigen Schicht immer komplexere Merkmale lernt. In einer Vision-Einstellung lernt beispielsweise die unterste Ebene einfache Muster wie Linien und Kanten, die nächste Ebene kann Kompositionen der Linien und Kanten (Ecken und Kurven) lernen, die nächste Ebene kann einfache Formen lernen und so weiter in der Hierarchie . Die oberen Ebenen lernen dann komplexe Kategorien (Menschen, Katzen, Autos) oder sogar bestimmte Instanzen (Ihr Chef, Ihre Katze, das Batmobil). Ein Vorteil davon ist, dass die Funktionen der untersten Ebene generisch genug sind, um auf viele Situationen angewendet zu werden, während die oberen Ebenen sehr spezifisch werden können.
Die kanonische Methode zum Trainieren von Spike-Netzwerken ist eine Form der Spike Timing Dependent Plasticity (STDP) , die Verbindungen basierend auf korrelierten Aktivitäten lokal verstärkt. Die kanonische Methode zum Trainieren eines tiefen neuronalen Netzwerks ist eine Form der Gradientenabstiegs -Rückausbreitung, bei der alle Gewichte basierend auf dem globalen Verhalten des Netzwerks angepasst werden. Gradientenabstieg hat Probleme mit nicht differenzierbaren Aktivierungsfunktionen (wie diskreten stochastischen Spitzen).
Wenn Sie sich nicht für das Lernen interessieren, sollte es einfacher sein, die Ansätze zu kombinieren. Man könnte vermutlich ein vorab trainiertes tiefes Netzwerk nehmen und nur den Feed-Forward-Teil (kein weiteres Lernen) als spikierendes neuronales Netz implementieren (vielleicht um es auf einen Chip zu setzen). Der resultierende Chip würde nicht aus neuen Daten lernen, sondern sollte die Funktion implementieren, für die das ursprüngliche Netzwerk trainiert wurde.