The Quantum Graph Recurrent Neural Network
@pennylane: https://pennylane.ai/qml/demos/tutorial_qgrnn.html
Last updated
@pennylane: https://pennylane.ai/qml/demos/tutorial_qgrnn.html
Last updated
Video: https://www.youtube.com/watch?v=YBHzT5V1SzU
Übersetzung:
@paper https://arxiv.org/pdf/1909.12264.pdf
Autor: Jack Ceroni. Veröffentlicht: 27. Juli 2020. Zuletzt aktualisiert am: 25 März 2021.
Diese Demonstration untersucht Quantengraphen rekurrente neuronale Netze (QGRNN), die das Quantenanalogon eines klassischen Graphen rekurrenten neuronalen Netzes und eine Unterklasse des allgemeineren Quantengraphen neuronalen Netzansatzes sind. Sowohl das QGNN als auch das QGRNN wurden in diesem Papier (2019) vorgestellt.
Die Idee:
Ein Graph ist definiert als eine Menge von Knoten und eine Menge von Kanten ( edges ), die Verbindungen zwischen den Knoten ( nodes ) darstellen. Informationen können in Graphen kodiert werden, indem den Knoten und Kanten Zahlen zugewiesen werden, die wir Gewichte nennen. In der Regel ist es praktisch, sich einen Graphen visuell vorzustellen:
In den letzten Jahren hat das Konzept eines neuronalen Graphen-Netzwerks (GNN) in der Gemeinschaft des maschinellen Lernens viel Aufmerksamkeit erregt. Ein GNN versucht, eine Repräsentation (eine Abbildung von Daten in einen niedrigdimensionalen Vektorraum) eines gegebenen Graphen mit Merkmalsvektoren zu erlernen, die den Knoten und Kanten zugeordnet sind. Jeder der Vektoren in der erlernten Darstellung bewahrt nicht nur die Merkmale, sondern auch die Gesamttopologie des Graphen, d. h. welche Knoten durch Kanten verbunden sind. Das neuronale Netz des Quantengraphen versucht etwas Ähnliches, allerdings für quantenmechanische Merkmale, z. B. für eine Sammlung von Quantenzuständen.
Betrachten wir die Klasse der Qubit-Hamiltonianer, die quadratisch sind, was bedeutet, dass der Hamilton Operator entweder Wechselwirkungen zwischen zwei Qubits oder die Energie der einzelnen Qubits darstellen. Diese Klasse von Hamiltonians wird auf natürliche Weise durch Graphen beschrieben, wobei die Terme zweiter Ordnung zwischen den Qubits den gewichteten Kanten zwischen den Knoten und die Terme erster Ordnung den Knotengewichten entsprechen.
Ein bekanntes Beispiel für einen quadratischen Hamiltonian ist das Ising-Modell mit transversalem Feld, das wie folgt definiert ist
In diesem Hamiltonian kann die Menge E, die bestimmt, welche Paare von Qubits ZZ-Wechselwirkungen haben, durch die Menge der Kanten eines Graphen dargestellt werden. Mit den Qubits als Knoten wird dieser Graph als Interaktionsgraph bezeichnet. Die θ(1)-Parameter entsprechen den Kantengewichten und die θ(2)
Parameter entsprechen den Gewichten der Knoten.
Dieses Ergebnis impliziert, dass wir über Quantenschaltungen mit graphentheoretischen Eigenschaften nachdenken können. Erinnern Sie sich, dass der Zeitentwicklungsoperator in Bezug auf einen Hamiltonian H definiert ist als:
So haben wir eine saubere Möglichkeit, quadratische Hamiltonianer in Einheitsvektoren (Quantenschaltungen) [ siehe auch Unitry Transfomration ] [@paper "Learningn Unitaries by Gradient Descent ] umzuwandeln, die dieselbe Entsprechung zu einem Graphen haben. Im Fall des Ising-Hamiltonschen haben wir Folgendes:
Im Allgemeinen ist es sehr schwierig, diese Art von Unitarität auf einem Quantencomputer zu implementieren. Wir können sie jedoch mit Hilfe der Trotter-Suzuki-Zerlegung annähern:
eine kleine Zahl ist.
Diese Schaltung ist ein spezieller Fall des rekurrenten neuronalen Quantengraphen-Netzwerks, das im Allgemeinen als Variationsansatz der folgenden Form definiert ist:
für einen parametrisierten quadratischen Hamiltonian, H(μ)
Verwendung des QGRNN
Da der QGRNN-Ansatz der ungefähren zeitlichen Entwicklung eines quadratischen Hamiltonian entspricht, können wir ihn verwenden, um die Dynamik eines Quantensystems zu erlernen.
Fahren wir mit dem Beispiel des Ising-Modells fort und stellen wir uns vor, wir hätten ein System, das wie folgt gesteuert wird
for an unknown set of target parameters, and an unknown interaction graph . Let’s also suppose we have access to copies of some low-energy, non-ground state of the target Hamiltonian,Darüber hinaus haben wir Zugang zu einer Sammlung zeitlich entwickelter Zustände, definiert als:
Wir nennen die Zustände mit niedriger Energie und die Sammlung der zeitlich entwickelten Zustände Quantendaten. Von hier aus wählen wir nach dem Zufallsprinzip eine Anzahl zeitlich entwickelter Zustände aus unserer Sammlung aus. Für jeden Zustand, den wir auswählen und der sich zu einem bestimmten Zeitpunkt tk entwickelt hat, vergleichen wir ihn mit
Dazu wird eine der Kopien von |ψ0⟩ in einen Quantenschaltkreis mit dem QGRNN-Ansatz eingespeist, mit einem geschätzten Satz von Parametern μ und einem geschätzten Interaktionsgraphen G′.
Wir verwenden dann einen klassischen Optimierer, um die durchschnittliche "Ähnlichkeit" zwischen den zeitlich entwickelten Zuständen und den mit dem QGRNN vorbereiteten Zuständen zu maximieren.
Da die QGRNN-Zustände jedem zeitlich entwickelten Zustand für jede abgetastete Zeit immer ähnlicher werden, folgt daraus, dass μ → α und wir sind in der Lage, die unbekannten Parameter des Hamiltonian zu lernen.
Eine visuelle Darstellung einer Ausführung des QGRNN für einen Teil der Quantendaten.
Wir versuchen nun, das QGRNN zu verwenden, um die Parameter zu lernen, die einem beliebigen Hamiltonian des Ising-Modells mit transversalem Feld entsprechen.
Wir legen auch einige feste Werte fest, die während der gesamten Simulation verwendet werden.
In dieser Simulation stehen uns keine Quantendaten zur Verfügung, die wir in das QGRNN einspeisen könnten, also müssen wir sie selbst erzeugen. Dazu müssen wir den Zielwechselwirkungsgraphen und den Ziel-Hamiltonian kennen.
Lassen Sie uns den folgenden zyklischen Graphen als Ziel-Interaktionsgraphen des Ising-Hamiltonianers verwenden:
Dann können wir die "unbekannten" Zielparameter initialisieren, die den Ziel-Hamiltonian beschreiben,.Aus der Einleitung wissen wir, dass wir unsere parametrisierte Ising-Hamiltonsche so definiert haben, dass sie die Form hat:
wobei E die Menge der Kanten im Interaktionsgraphen ist und Xi und Zi die Pauli-X und Pauli-Z auf dem i-ten Qubit.
In diesem Tutorium wählen wir die Zielparameter durch Stichproben aus einer gleichmäßigen Wahrscheinlichkeitsverteilung im Bereich von -2 bis 2, mit einer Genauigkeit von zwei Dezimalstellen.
Theoretisch können diese Parameter jeden beliebigen Wert annehmen, vorausgesetzt, sie sind so klein, dass das QGRNN sie in einer vertretbaren Anzahl von Optimierungsschritten erreichen kann. In matrix_params steht die erste Liste für die ZZ-Wechselwirkungsparameter und die zweite Liste für die Einzel-Qubit-Z
Parameter.
Schließlich verwenden wir diese Informationen, um die Matrixform der Ising-Modell-Hamiltonschen in der Berechnungsbasis zu erzeugen:
Die Sammlung von Quantendaten, die für den Betrieb des QGRNN benötigt wird, besteht aus zwei Komponenten: (i) Kopien eines Niedrigenergiezustands und (ii) eine Sammlung von zeitlich entwickelten Zuständen, die jeweils einfach der zu verschiedenen Zeiten entwickelte Niedrigenergiezustand sind. Im Folgenden ist ein Niedrigenergiezustand des Ziel-Hamiltonian dargestellt:
Dieser Zustand kann durch eine entkoppelte Version des Variational Quantum Eigensolver Algorithmus (VQE) erreicht werden. Im Wesentlichen wählen wir einen VQE-Ansatz, so dass der Schaltkreis den exakten Grundzustand nicht erlernen kann, aber er kommt ihm ziemlich nahe. Eine andere Möglichkeit, zum gleichen Ergebnis zu kommen, besteht darin, VQE mit einem vernünftigen Ansatz durchzuführen, den Algorithmus aber zu beenden, bevor er zum Grundzustand konvergiert. Wenn wir den exakten Grundzustand |ψ0⟩
verwenden, wäre die Zeitabhängigkeit trivial und die Daten würden nicht genügend Informationen über die Hamilton-Parameter liefern.
Wir können überprüfen, ob es sich um einen energiearmen Zustand handelt, indem wir numerisch den niedrigsten Eigenwert des Hamiltonians ermitteln und ihn mit der Energieerwartung dieses energiearmen Zustands vergleichen:
Wir haben in der Tat einen Nicht-Grundzustand mit niedriger Energie gefunden, da die erwartete Energie etwas größer ist als die Energie des echten Grundzustands. Dies ist jedoch nur die Hälfte der Informationen, die wir benötigen. Wir benötigen auch eine Sammlung zeitlich entwickelter Zustände mit niedriger Energie. Die zeitliche Entwicklung des energiearmen Zustands ist recht einfach: Wir müssen lediglich den Ausgangszustand mit einer Zeitentwicklungseinheit multiplizieren. Diese Operation kann als benutzerdefiniertes Gatter in PennyLane definiert werden:
Wir erzeugen zwar noch keine zeitlich veränderten Quantendaten, aber wir haben jetzt alle Teile, die für ihre Vorbereitung erforderlich sind.
With the quantum data defined, we are able to construct the QGRNN and learn the target Hamiltonian. Each of the exponentiated Hamiltonians in the QGRNN ansatz,
sind die Terme ZZ, Z und X aus dem Ising-Hamiltonian. Dies ergibt:
Wie bereits im ersten Abschnitt erwähnt, hat das QGRNN zwei Register. In einem Register wird ein Teil der Quantendaten |ψ(t)⟩vorbereitet wird und in der anderen haben wir |². Um diesen Wert zu berechnen, wird ein SWAP-Test zwischen den Registern durchgeführt:
Nach der Durchführung dieser Prozedur ist der von einer Messung der Schaltung zurückgegebene Wert ⟨Z⟩, bezogen auf das Kontroll-Qubit. Die Wahrscheinlichkeit, den Zustand |0⟩ in diesem Kontroll-Qubit zu messen, hängt sowohl von der Treue zwischen den Registern als auch von ⟨Z⟩ ab. Mit ein wenig Algebra finden wir also heraus, dass ⟨Z⟩
gleich der Wiedergabetreue ist.
Bevor wir das vollständige QGRNN und die Kostenfunktion erstellen, legen wir einige weitere feste Werte fest. Dazu gehört ein "geschätzter" Interaktionsgraph, den wir auf einen vollständigen Graphen festlegen. Diese Wahl ist durch die Tatsache motiviert, dass jeder Zielinteraktionsgraph ein Untergraph dieser anfänglichen Vermutung sein wird. Ein Teil der Idee hinter dem QGRNN ist, dass wir den Interaktionsgraphen nicht kennen und er gelernt werden muss. In diesem Fall wird der Graph automatisch gelernt, wenn die Zielparameter optimiert werden. Die μ Parameter, die Kanten entsprechen, die im Zielgraphen nicht vorhanden sind, werden einfach gegen 0 gesetzt.
Auf diese Weise implementieren wir die QGRNN-Schaltung für einen bestimmten Zeitwert:
Wir haben die vollständige QGRNN-Schaltung, aber wir müssen noch eine Kostenfunktion definieren. Wir wissen, dass
where we use
pieces of quantum data.
Bevor wir die Kostenfunktion erstellen, müssen wir noch einige feste Variablen definieren:
Anschließend definieren wir die Kostenfunktion der negativen Wiedergabetreue:
Als Nächstes bereiten wir uns auf die Optimierung vor.
Jetzt muss nur noch die Optimierungsschleife ausgeführt werden.
Mit den gelernten Parametern konstruieren wir eine visuelle Darstellung des Hamiltonian, dem sie entsprechen, und vergleichen sie mit dem Ziel-Hamiltonian und dem anfänglich vermuteten Hamiltonian:
Diese Bilder sehen sehr ähnlich aus, was darauf hindeutet, dass das QGRNN den Ziel-Hamiltonian gut gelernt hat.
Wir können uns auch die genauen Werte des Ziels und der gelernten Parameter ansehen. Der Zielinteraktionsgraph hat 4 Kanten, während der vollständige Graph 6 Kanten hat. Wenn das QGRNN also zur optimalen Lösung konvergiert, sollten die Gewichte, die den Kanten (1,3) und (2,0) im vollständigen Graphen entsprechen, auf 0 sinken, da dies anzeigt, dass sie keinen Effekt haben und im gelernten Hamiltonian nicht existieren.
Dann drucken wir alle Gewichte aus:
Die Gewichte der Kanten (1,3) und (2,0) sind sehr nahe an 0
was bedeutet, dass wir den Zyklusgraphen aus dem vollständigen Graphen gelernt haben. Darüber hinaus liegen die übrigen gelernten Gewichte ziemlich nahe an denen des Ziel-Hamiltonianers. Das QGRNN funktioniert also ordnungsgemäß und hat den Ising-Hamiltonschen mit einem hohen Grad an Genauigkeit gelernt!
Thanks a lot to Verdon, G., McCourt, T., Luzhnica, E., Singh, V., Leichenauer, S., & Hidary, J. (2019). Quantum Graph Neural Networks. arXiv preprint arXiv:1909.12264.
and Jack Ceroni & pennylane team for this awesome article
mit
mit ist der j-te Term des Ising-Hamiltonschen und Δ