# Neuronaler Schaltkreis

Neuronale Schaltkreise oder quantum-neuronale Netzwerke (QNN) sind rechnergestützte künstliche neuronale Netzmodelle, die auf den Prinzipien der Quantenmechanik basieren. Die ersten Ideen zur neuronalen Quantenberechnung wurden 1995 voneinander unabhängig von Subhash Kak und Ron Chrisley veröffentlicht, die sich mit der Theorie des Quantenbewusstseins beschäftigten, die besagt, dass Quanteneffekte eine Rolle in der Kognition spielen. Typische Forschung zu neuronalen Quantennetzen besteht jedoch darin, klassische Modelle künstlicher neuronaler Netze (die bei Künstlichen Intelligenzen häufig für die wichtige Aufgabe der Mustererkennung eingesetzt werden) mit den Vorteilen der Quanteninformation zu kombinieren, um effizientere Algorithmen zu entwickeln. Eine wichtige Motivation für diese Untersuchungen ist die Schwierigkeit, klassische neuronale Netze zu trainieren, insbesondere in Big-Data-Anwendungen. Die Hoffnung besteht darin, dass Merkmale von Quantenprozessen wie Quantenparallelität oder die Effekte von Interferenz und Verschränkung als Ressourcen genutzt werden können. Da sich die technologische Umsetzung eines Quantencomputers noch in einem frühen Stadium befindet, handelt es sich bei solchen quantum-neuronalen Netzwerkmodellen meist um theoretische Vorschläge, die auf ihre vollständige Umsetzung in physikalischen Experimenten warten.
Die meisten neuronalen Quantennetze werden als feedforward-Netze entwickelt. Ähnlich wie ihre klassischen Gegenstücke nimmt diese Struktur Eingaben von einer Qubit-Schicht auf und leitet diese Eingaben an eine andere Qubit-Schicht weiter. Diese Qubit-Schicht wertet diese Informationen aus und gibt die Ausgabe an die nächste Schicht weiter. Schließlich führt der Weg zur letzten Schicht der Qubits. Die Schichten müssen nicht die gleiche Breite haben, das heißt, sie müssen nicht die gleiche Anzahl an Qubits haben wie die Schicht davor oder danach. Mit dieser Struktur wird ähnlich wie bei klassischen künstlichen neuronalen Netzen trainiert, welcher Weg eingeschlagen werden soll. Quantum-neuronale Netze beziehen sich auf drei verschiedene Kategorien: Quantencomputer mit klassischen Daten, klassischer Computer mit Quantendaten und Quantencomputer mit Quantendaten.

## Beispiele

Die Forschung zu quantum-neuronalen Netzwerken steht noch in einem frühen Stadium, und es wurde eine Vielzahl von Vorschlägen und Ideen unterschiedlichen Umfangs und unterschiedlicher mathematischer Genauigkeit vorgelegt. Die meisten von ihnen basieren auf die Theorie, klassische binäre oder McCulloch-Pitts-Neuronen durch ein Qubit (das als Quron bezeichnet werden kann) zu ersetzen, was zu neuronalen Einheiten führt, die sich in einer Überlagerung der Zustände „Feuern“ und „Ruhen“ befinden können.

### Quantenperzeptrone

In vielen Theorien wird versucht, ein Quantenäquivalent für die Perzeptroneinheit zu finden, aus der neuronale Netze aufgebaut sind. Ein Problem besteht darin, dass nichtlineare Aktivierungsfunktionen nicht unmittelbar der mathematischen Struktur der Quantentheorie entsprechen, da eine Quantenentwicklung durch lineare Operationen beschrieben wird und zu probabilistischen Beobachtungen führt. Theorien, die Perzeptronaktivierungsfunktion mit einem quantenmechanischen Formalismus nachzuahmen, reichen von speziellen Messungen bis zur Postulierung nichtlinearer Quantenoperatoren (ein umstrittener mathematischer Rahmen). Eine direkte Implementierung der Aktivierungsfunktion unter Verwendung des schaltungsbasierten Modells der Quantenberechnung wurde kürzlich von Maria Schuld, Ilya Sinayskiy und Francesco Petruccione basierend auf dem Quantenphasenschätzungsalgorithmus vorgeschlagen.

### Quantennetzwerke

In größerem Maßstab haben Forscher versucht, neuronale Netze auf die Quantenumgebung zu übertragen. Eine Möglichkeit, ein Quantum-Neuron zu konstruieren, besteht darin, zunächst klassische Neuronen zu verallgemeinern und sie dann weiter zu verallgemeinern, um einheitliche Gatter zu erzeugen. Interaktionen zwischen Neuronen können quantenmäßig mit einheitlichen Gattern oder klassisch durch Messung der Netzwerkzustände gesteuert werden. Diese hochrangige theoretische Technik kann breit angewendet werden, indem verschiedene Arten von Netzwerken und unterschiedliche Implementierungen von Quantum-Neuronen verwendet werden, wie etwa photonisch implementierte Neuronen und Quantenreservoirprozessoren (Quantenversion des Reservoir-Computing). Die meisten Lernalgorithmen folgen dem klassischen Modell des Trainings eines künstlichen neuronalen Netzwerks, um die Eingabe-Ausgabe-Funktion eines bestimmten Trainingssatzes zu lernen. Dabei werden klassische Rückkopplungsschleifen verwendet, um die Parameter des Quantensystems zu aktualisieren, bis sie einer optimalen Konfiguration entsprechen. Lernen als Parameteroptimierungsproblem wurde auch durch adiabatische Modelle des Quantencomputings angegangen.
Quantum-neuronale Netze können auf das algorithmische Design angewendet werden: Bei gegebenen Qubits mit einstellbaren gegenseitigen Wechselwirkungen kann man versuchen, diese Wechselwirkungen nach den klassischen Regeln der Backpropagation aus einem Trainingssatz gewünschter Eingabe-Ausgabe-Beziehungen zu lernen, die als Verhalten des gewünschten Ausgabealgorithmus angesehen werden. Das Quantennetzwerk „lernt“ also einen Algorithmus.

### Quantenassoziativspeicher

Der erste Quantenassoziativspeicher-Algorithmus wurde 1999 von Dan Ventura und Tony Martinez eingeführt. Die Autoren versuchen nicht, die Struktur künstlicher neuronaler Netzwerkmodelle in die Quantentheorie zu übersetzen, sondern schlagen einen Algorithmus für einen schaltungsbasierten Quantencomputer vor, um einen Assoziativspeicher zu simulieren. Die Speicherzustände (in neuronalen Hopfield-Netzen in den Gewichtungen der neuronalen Verbindungen gespeichert) werden in eine Überlagerung geschrieben, und ein Grover-ähnlicher Quantensuchalgorithmus ruft den Speicherzustand ab, der einer bestimmten Eingabe am nächsten kommt. Daher handelt es sich hierbei nicht um einen vollständig inhaltsadressierbaren Speicher, da nur unvollständige Muster abgerufen werden können.
Der erste wirklich inhaltsadressierbare Quantenspeicher, der Muster auch aus fehlerhaften Eingaben abrufen kann, wurde von Carlo A. Trugenberger vorgeschlagen. Beide Speicher können eine exponentielle (in n Qubits ausgedrückte) Anzahl von Mustern speichern, können jedoch aufgrund des No-Cloning-Theorems und ihrer Zerstörung bei der Messung nur einmal verwendet werden.
Trugenberger hat jedoch gezeigt, dass sein proababilistisches Modell des Quantenassoziativspeichers effizient implementiert und mehrfach für jede Polynomanzahl gespeicherter Muster wiederverwendet werden kann, einen großen Vorteil gegenüber klassischen Assoziativspeichern mit sich bringt.

### Quanteninspirierte klassische neuronale Netze

Ein „quanteninspiriertes“ Modell, das Theorien aus der Quantenmechanik nutzt, um ein auf Unschärfelogik basierendes neuronales Netzwerk zu implementieren, hat großes Interesse in der Fachwelt geweckt.

## Lernen

Quantum-neuronale Netze können theoretisch ähnlich trainiert werden wie klassische bzw. künstliche neuronale Netze. Ein wesentlicher Unterschied liegt in der Kommunikation zwischen den Schichten eines neuronalen Netzes. Bei klassischen neuronalen Netzen kopiert das aktuelle Perzeptron am Ende einer bestimmten Operation seine Ausgabe auf die nächste Schicht von Perzeptronen im Netzwerk. In einem neuronalen Quantennetzwerk, in dem jedes Perzeptron ein Qubit ist, würde dies jedoch gegen das No-Cloning-Theorem verstoßen. Eine vorgeschlagene allgemeine Lösung hierfür besteht darin, die klassische Fan-Out-Methode durch eine beliebige Einheit zu ersetzen, die die Ausgabe eines Qubits auf die nächste Qubitschicht verteilt, aber nicht kopiert. Mit diesem Fan-Out-Unitary ($U_{f}$) mit einem Dummy-Zustands-Qubit in einem bekannten Zustand (Ex. $|0\rangle$ im Basiszustand des Qubits), auch Ancilla-Bit genannt, können die Informationen von einem Qubit auf die nächste Schicht von Qubits übertragen werden. Dieser Prozess entspricht der Quantenoperationsanforderung der Reversibilität
Mithilfe dieses Quantum-feedforward-Netzwerks können tiefe neuronale Netzwerke effizient ausgeführt und trainiert werden. Ein tiefes neuronales Netzwerk ist im Wesentlichen ein Netzwerk mit vielen verborgenen Schichten, wie im obigen Beispielmodell eines neuronalen Netzwerks zu sehen ist. Da das diskutierte quantum-neuronale Netzwerk einheitliche Fan-out-Operatoren verwendet und jeder Operator nur auf seine jeweilige Eingabe einwirkt, werden jeweils nur zwei Schichten verwendet. Kein Unitary-Operator wirkt zu einem bestimmten Zeitpunkt auf das gesamte Netzwerk ein, was bedeutet, dass die Anzahl der für einen bestimmten Schritt erforderlichen Qubits von der Anzahl der Eingaben in einer bestimmten Schicht abhängt. Da Quantencomputer für ihre Fähigkeit bekannt sind, mehrere Iterationen in kurzer Zeit auszuführen, hängt die Effizienz eines quantum-neuronalen Netzwerks ausschließlich von der Anzahl der Qubits in einer bestimmten Schicht ab und nicht von der Tiefe des Netzwerks.

### Kostenfunktionen

Um die Wirksamkeit eines neuronalen Netzwerks zu bestimmen, wird eine Kostenfunktion verwendet, die im Wesentlichen die Nähe der Ausgabe des Netzwerks zur erwarteten oder gewünschten Ausgabe misst. In einem klassischen neuronalen Netzwerk bestimmen die Gewichtungen ($w$) und Verzerrungen ($b$) bei jedem Schritt das Ergebnis der Kostenfunktion $C(w,b)$. Beim Training eines klassischen neuronalen Netzwerks werden die Gewichtungen und Verzerrungen nach jeder Iteration angepasst und mit Gleichung 1 unten angegeben, wobei $y(x)$ die gewünschte Ausgabe ist und $a^{\text{out}}(x)$ die aktuelle Ausgabe ist. Die Kostenfunktion ist optimiert, wenn $C(w,b)=0$. Für ein quantum-neuronales Netzwerk wird die Kostenfunktion durch Messen der Genauigkeit des Ergebniszustands bestimmt ($\rho ^{\text{out}}$) und mit dem gewünschten Ergebniszustand ($\phi ^{\text{out}}$) verglichen, siehe Gleichung 2 unten. In diesem Fall werden die Einheitsoperatoren nach jeder Iteration angepasst und die Kostenfunktion wird bis $C=1$ optimiert.
Gleichung 1: $C(w,b)={1 \over N}\sum _{x}{||y(x)-a^{\text{out}}(x)|| \over 2}$
Gleichung 2: $C={1 \over N}\sum _{x}^{N}{\langle \phi ^{\text{out}}|\rho ^{\text{out}}|\phi ^{\text{out}}\rangle }$