Zum Hauptinhalt springen

Rückblick auf relevante Machine-Learning-Methoden

In diesem Abschnitt werden wir einige wichtige Begriffe und Methoden aus dem klassischen Machine Learning durchgehen, die uns helfen, die Arbeitsabläufe im Quantum Machine Learning besser zu verstehen. Wir beginnen mit allgemeinen Grundbegriffen und tauchen dann tiefer in zwei Typen von Machine Learning ein: Kernel-Methoden (insbesondere im Kontext von Support Vector Machines) und neuronale Netze. Es gibt durchaus Verbindungen zwischen diesen Methoden, aber wir behandeln sie als getrennte Gebiete, da sich die quantenmechanischen Workflows hier und in späteren Lektionen unterscheiden. Dies ist nur ein grober Überblick, und wir lassen vieles der Nuancen weg. Für eine vollständigere Einführung in Machine Learning empfehlen wir Ressourcen wie [1-3].

Arten des Machine Learnings

Als einfache Definition: Machine Learning ist eine Sammlung von Algorithmen, die Muster und Zusammenhänge in Daten analysieren und Schlussfolgerungen daraus ziehen. Grob gesagt lassen sich Machine-Learning-Algorithmen in drei Hauptkategorien einteilen, je nach Art der verwendeten Daten und wie die Algorithmen lernen, ohne explizit programmiert zu werden:

  1. Überwachtes Lernen (Supervised Learning): Beim überwachten Lernen sind die Daten, die zum Training des Modells verwendet werden, mit Labels versehen. Das Ziel dieser Algorithmen ist es, die Beziehung zwischen Daten und den entsprechenden Labels oder Ausgaben zu erlernen und auf ungesehene Daten zu verallgemeinern. Typische Aufgaben in dieser Kategorie sind Klassifizierung und Regression.
  2. Unüberwachtes Lernen (Unsupervised Learning): Im Gegensatz zum überwachten Lernen verwendet das unüberwachte Lernen ungelabelte Daten zum Training des Machine-Learning-Modells. Das Ziel dieser Algorithmen ist es, versteckte Muster und Strukturen in Daten aufzudecken. Zu dieser Kategorie gehören etwa Clustering- und Dimensionsreduktionsalgorithmen. Auch einige generative Modelle wie generative adversarielle Netzwerke und variationelle Autoencoder können dieser Kategorie zugeordnet werden.
  3. Bestärkendes Lernen (Reinforcement Learning): Algorithmen in dieser Kategorie sind durch einen Agenten definiert, der mit einer Umgebung interagiert. Der Agent führt Aktionen aus und erhält Rückmeldung aus seiner Umgebung in Form von Belohnungen und Bestrafungen. Durch diesen Rückkopplungsmechanismus lernt der Agent schließlich, die richtigen Aktionen auszuführen, um eine bestimmte Aufgabe zu erfüllen.

Eine schematische Darstellung von überwachtem und unüberwachtem Lernen.

Das linke Bild zeigt zwei Kategorien gelabelter Daten, wie beim überwachten Lernen. In diesem Fall sind die Kategorien linear trennbar. Das rechte Bild zeigt Cluster von Daten. Bei einer unüberwachten Lernaufgabe wären diese Daten anfangs nicht gelabelt, und der Algorithmus würde die Verteilung untersuchen und möglicherweise nach Clustern suchen. Um die vom Algorithmus identifizierten Cluster beispielhaft zu visualisieren, wurden die Datenpunkte nun mit Labels versehen. Ein wesentlicher Unterschied zwischen beiden ist, dass der überwachte Lernprozess mit bereits gelabelten Daten beginnt, während der unüberwachte Prozess mit ungelabelten Daten startet – auch wenn die Daten am Ende mit Labels versehen sein können.

„Quanten" ins Machine Learning einführen

Wir können nun damit beginnen zu erkunden, wie „Quanten" in das Machine Learning eingeführt wird. In dieser übergeordneten Kategorisierung berücksichtigen wir sowohl den Typ des Modells/Algorithmus auf dem Verarbeitungsgerät als auch die Art der bereitgestellten Daten. Das obige Bild fasst diese möglichen Kombinationen zusammen.

Ein Diagramm mit Quadranten, wobei auf einer Achse Algorithmen und auf der anderen Daten abgebildet sind – jeweils entweder quantenmechanisch oder klassisch.

CC bedeutet zum Beispiel, dass wir einen klassischen Datensatz haben – etwa Bilder, Ton oder Text, der auf klassischen Computern gespeichert werden kann – und dass wir auch einen klassischen Computer verwenden, um einen Machine-Learning-Algorithmus auszuführen. Das ist genau die klassische Machine-Learning-Einstellung. QQ hingegen bedeutet, dass wir einen Quantencomputer verwenden, um Quantendaten zu verarbeiten. „Quantendaten" kann dabei verschiedene Bedeutungen haben und ist kontextabhängig. Quantendaten könnten als eine Menge von Messergebnissen eines Quantengeräts verstanden werden oder sich auf Zustände beziehen, die auf einem Quantencomputer durch einen anderen Algorithmus erzeugt wurden. In der Zukunft könnten sie sogar auf in QRAM (Quantum Random Access Memory) gespeicherte Daten verweisen, was derzeit noch nicht existiert. Wenn Forschende über Quantum Machine Learning sprechen, meinen sie üblicherweise das CQ-Regime, in dem der vorliegende Datensatz klassisch ist und das verarbeitende Gerät, auf dem der Machine-Learning-Algorithmus ausgeführt wird, ein Quantencomputer ist. In den folgenden Teilen des Kurses konzentrieren wir uns auf solche Algorithmen.

Support Vector Machines

Wir fassen nun eine Klasse von Algorithmen namens Support Vector Machines aus klassischer Machine-Learning-Sicht zusammen. Später werden wir zeigen, wie Quantencomputing in diesen Algorithmus eingebracht werden kann.

Ein Diagramm einer Support Vector Machine.

Stellen wir uns eine binäre Klassifizierungsaufgabe auf einem Datensatz mit einem zweidimensionalen Merkmalsraum vor, wie im Diagramm dargestellt. Eine Möglichkeit zur Klassifizierung dieses Datensatzes besteht darin, eine Linie oder allgemeiner eine Hyperebene zu finden, die die beiden Klassen trennt. In der Praxis gibt es unendlich viele trennende Hyperebenen, daher stellt sich die Frage: Wie definieren wir die optimale? Die Idee ist, dass eine besonders gute Entscheidungsgrenze den Margin maximieren sollte, der als Abstand zu den nächstgelegenen Punkten in jeder Klasse definiert ist. In diesem Kontext werden die Datenpunkte mit dem kleinsten Abstand zur Entscheidungsgrenze als Support-Vektoren bezeichnet.

Eine lineare Entscheidungsgrenze kann auf verschiedene Weisen beschrieben werden; in gewisser Hinsicht ist die direkteste die folgende, dargestellt in f1f_1. Dabei ist Θ\Theta die Menge der Parameter, die die Hyperebene definieren, x\vec{x} ist dein Datensatz, und bb ist eine konstante Verschiebung. Φ\Phi ist eine Abbildung aus dem Raum der Eingabedatenpunkte – häufig (aber nicht notwendigerweise) in einen höherdimensionalen Raum. Auf diese Abbildung kommen wir weiter unten zurück.

Im Modell f1f_1 ist Θ\Theta der Vektor der anpassbaren Parameter, die das Modell erlernen würde. Das nennen wir die „primale Formulierung". Durch einige mathematische Umformungen lässt sich zeigen, dass es eine zweite Möglichkeit gibt, dasselbe Problem zu formulieren. Wir nennen dies die „duale Formulierung", dargestellt durch die Gleichung f2f_2 unten. Für diese Formulierung müssen wir über die Alpha-Parameter optimieren. Der wesentliche Unterschied besteht darin, dass die primale Formulierung ein inneres Produkt zwischen dem Merkmalsvektor und den lernbaren Parametern enthält, während in der dualen Formulierung das innere Produkt zwischen Merkmalsvektoren gebildet wird. Obwohl die duale Form sowohl die Trainingsmerkmale als auch die entsprechenden Labels enthält, werden wir im nächsten Abschnitt sehen, wie sie sich als nützlicher erweist als die primale Form.

f1(x)=ΘTΦ(x)+bf_1(\vec{x}) = \Theta^T \Phi(\vec{x})+b f2(x)=i=1nαiyiΦT(xi)Φ(x)+bf_2(\vec{x}) = \sum_{i=1}^n \alpha_i y_i \Phi^T(\vec{x}_i)\Phi(\vec{x})+b

Kernel-Methoden und die Rolle des Quantencomputings

Das folgende Video motiviert, wie Quantencomputing eine Rolle bei linearen Klassifikatoren spielen kann. Im Text wird dies ausführlicher beschrieben.

Übergang in höherdimensionale Räume

In diesem und dem folgenden Unterabschnitt geht es um Abbildungen in höhere Dimensionen. Ziel ist es, den „Kernel-Trick" im Kontext von Abbildungen zwischen Räumen zu erklären und damit den Boden für quantenmechanische Kernel zu bereiten. Es geht dabei ausdrücklich nicht darum, dass höhere Dimensionen in Quantenwellenfunktionen alle unsere Probleme lösen. Wie in der Einleitung erwähnt, sind klassische Gaußsche Merkmalskarten bereits unendlichdimensional. Die Dimensionalität von Datenmerkmalen ist wichtig, aber hochdimensionale Quantenzustände allein reichen nicht aus, um klassische Methoden zu übertreffen.

Grafisch lässt sich leicht erkennen, wie wir den SVM-Ansatz auf Fälle verallgemeinern können, in denen die ursprünglichen Daten nicht linear trennbar sind – vorausgesetzt, wir haben die richtige Abbildung in höhere Dimensionen. Betrachten wir die zweidimensionalen Daten auf der linken Seite: Es gibt keine lineare Entscheidungsgrenze, die die beiden Klassen trennen kann. Wir können jedoch ein drittes Merkmal zum Merkmalsraum hinzufügen. Wenn dieses neue Merkmal – etwa – der Abstand zum Ursprung der vorherigen beiden Merkmale x1x_1 und x2x_2 ist, werden die Daten linear trennbar. Das bedeutet auch, dass wir den Support Vector Machine-Algorithmus nun erfolgreich auf diesem höherdimensionalen Merkmalsraum ausführen können.

Ein Diagramm, das einen Ring eines Datentyps zeigt, wobei ein zweiter Datentyp die Mitte des Rings ausfüllt. Eine zweite Zelle zeigt die in 3D projizierten Daten, in Form einer Schüssel. Jetzt sind die Daten linear trennbar.

Diese „Merkmalsabbildung" bezeichnen wir ebenfalls mit Φ\Phi. Die Merkmalsabbildung bildet häufig aus dem Raum der Eingabedaten in eine höhere Dimension ab, wie hier gezeigt, es gibt jedoch auch Modelle und Algorithmen, die Abbildungen in niedrigere Dimensionen nutzen. Die Abbildung in höhere Dimensionen ist einfach ein leicht visualisierbares und verständliches Beispiel.

x=(x1x2)\vec{x} = \begin{pmatrix}x_1 \\ x_2 \end{pmatrix} Φ(x)=(x1x2x12+x22)\vec{\Phi}(\vec{x}) = \begin{pmatrix}x_1 \\ x_2 \\ {x_1}^2+{x_2}^2\end{pmatrix}

Einige Merkmalsabbildungen können in sehr hochdimensionale Räume abbilden. In solchen Fällen macht die hohe Dimensionalität innere Produkte rechnerisch aufwendiger. Darauf kommen wir weiter unten zurück.

Warum ist die duale Form nützlich?

Erinnern wir uns an die primale und die duale Formulierung unseres linearen Grenzmodells:

f1(x)=ΘTΦ(x)+bf_1(\vec{x}) = \Theta^T \Phi(\vec{x})+b f2(x)=i=1nαiyiΦT(xi)Φ(x)+bf_2(\vec{x}) = \sum_{i=1}^n \alpha_i y_i \Phi^T(\vec{x}_i)\Phi(\vec{x})+b

Nun wissen wir, dass die Verwendung einer Merkmalsabbildung in einen höherdimensionalen Raum es uns ermöglichen kann, erfolgreich eine trennende Hyperebene zu finden. Wir können daher den ursprünglichen Merkmalsvektor x\vec{x} in den Gleichungen durch die merkmalsabgebildeten Vektoren ersetzen. Tun wir dies jedoch in der primalen Formulierung, stoßen wir auf das Problem, innere Produkte zwischen den Parametern und einer potenziell sehr hochdimensionalen Merkmalsabbildung berechnen zu müssen. In der dualen Formulierung hingegen werden diese durch innere Produkte zwischen merkmalsabgebildeten Vektoren verschiedener Eingaben ersetzt.

Für manche Merkmalsabbildungen ist es möglich, das innere Produkt merkmalsabgebildeter Vektoren ΦT(xi)Φ(xj)\vec{\Phi}^T(\vec{x}_i)\cdot \vec{\Phi}(\vec{x}_j) als eine einfache Funktion k(xi,xj)k(\vec{x}_i, \vec{x}_j) der ursprünglichen (niedrigerdimensionalen) Variablen xi\vec{x}_i und xj\vec{x}_j zu schreiben. Bei manchen Wahlen von Φ\Phi lässt sich ΦT(xi)Φ(xj)\vec{\Phi}^T(\vec{x}_i)\cdot \vec{\Phi}(\vec{x}_j) sogar als einfache Funktion des niedrigerdimensionalen inneren Produkts xiTxj\vec{x}_i^T\vec{x}_j ausdrücken. Das ist rechnerisch sehr vorteilhaft, weil wir auf den Raum zugreifen können, in dem Daten linear trennbar sind, ohne die Kosten von Operationen in höheren Dimensionen zu tragen. Da die merkmalsabgebildeten Vektoren in f2f_2 nur in inneren Produkten auftreten, müssen wir die Merkmalsabbildung möglicherweise nicht einmal explizit durchführen, um die inneren Produkte zu berechnen. Die Funktion k(xi,xj)k(\vec{x}_i, \vec{x}_j), die die inneren Produkte berechnet, nennen wir „Kernelfunktion", und diese Methode, die Berechnung der Merkmalsabbildung zu umgehen, nennt sich „Kernel-Trick". Die merkmalsabgebildeten Vektoren könnten sogar unendlichdimensional sein, und der Kernel wäre dennoch sehr effizient berechenbar.

Die Kernelfunktion selbst ist eine Funktion zweier Eingabedatenvektoren. Wenn man jedes Paar von Datenvektoren im Datensatz als Argumente der Kernelfunktion einsetzt, erhält man eine symmetrische, positiv semidefinite Matrix, die sogenannte Kernelmatrix:

k=(k(x1,x1)k(x1,x2)...k(x2,x1)k(x2,x2)...)k = \begin{pmatrix}k(\vec{x}_1,\vec{x}_1) & k(\vec{x}_1,\vec{x}_2) & ... \\ k(\vec{x}_2,\vec{x}_1) & k(\vec{x}_2,\vec{x}_2) & ... \\ \vdots & \vdots & \ddots\end{pmatrix}

Sobald wir die Kernelmatrix berechnet haben, können wir die optimalen Parameter (αi\alpha_i) mit Methoden wie quadratischer Programmierungssoftware oder einem Algorithmus namens „Sequential Minimal Optimization" finden. Das setzt natürlich voraus, dass ein effizient berechenbarer Kernel existiert, der einer Merkmalsabbildung entspricht, die deine Datenklassen linear trennbar macht. Ein verwandter, aber neuartiger Ansatz ist die Quantenkernel-Schätzung.

Quantenkerne

Quantencomputer bzw. Quantenzustände im Allgemeinen ermöglichen eine sehr natürliche Definition eines „Quantenkernels". Die Kodierung einer Eingabe x\vec{x} in einen Quantenzustand Φ(x)|\Phi(\vec{x})\rangle lässt sich als Merkmalsabbildung interpretieren. Dieser Prozess kann die Daten tatsächlich in einen sehr hochdimensionalen Raum abbilden, wie es bei klassischen Merkmalsabbildungen üblich ist, aber die Dimensionalität hängt von der Kodierungsmethode ab (siehe die Lektion zur Datenkodierung). Erinnern wir uns daran, dass das innere Produkt zweier Quantenzustände ψϕ\langle \psi | \phi \rangle mit der Wahrscheinlichkeit zusammenhängt, den Zustand ϕ|\phi\rangle zu messen, wenn man sich im Zustand ψ|\psi\rangle befindet. Wir können das innere Produkt der beiden abgebildeten Datenpunkte Φ(xi)\vec{\Phi}(\vec{x}_i) und Φ(xj)\vec{\Phi}(\vec{x}_j) schätzen, indem wir ausreichend viele Messungen am resultierenden Schaltkreis vornehmen.

Eine abstrakte Darstellung eines Kernels als Schaltkreis.

Wie wir später im Kurs sehen werden, können wir Messungen an einem Quantenschaltkreis wie dem oben gezeigten nutzen, um einen Kernel zu schätzen, und dann die SVM-Optimierung klassisch auf der Kernelmatrix ausführen, um die anpassbaren Parameter zu erlernen.

Variationelle Quantenklassifikatoren und neuronale Netze

Ein weiterer near-term-Algorithmus für Quantum Machine Learning trägt den Namen „variationelle Quantenschaltkreise" (VQCs). Wenn diese Schaltkreise für eine Klassifizierungsaufgabe verwendet werden, kann dieselbe Abkürzung auch für „variationelle Quantenklassifikatoren" (ebenfalls VQCs) stehen. Diese nutzen häufig Strukturen ähnlich klassischer neuronaler Netze (NNs); in solchen Fällen spricht man von Quanten-Neuronalen-Netzen (QNNs). Es ist wichtig zu verstehen, dass VQCs allgemeiner sind und nicht zwingend einer NN-Struktur folgen müssen, aber wir beginnen in Analogie zu NNs, um die Rolle von Quanten in bestehenden Machine-Learning-Workflows zu verdeutlichen. Dann diskutieren wir Verallgemeinerungen. Zunächst fassen wir klassische neuronale Netze zusammen.

Das folgende Video gibt einen kurzen Überblick über neuronale Netze und deren Überschneidungen mit variationellen Quantenschaltkreisen. Im Text wird dies weiter vertieft.

Ein neuronales Netz ist ein Rechenmodell, das sich grob von der Struktur und Funktion von Neuronen im Gehirn inspirieren lässt. Diese Neuronen, die wir als Knoten im Bild sehen, sind in Schichten organisiert und durch Gewichte miteinander verbunden.

QML_CR_background_QNN_2ndlayer.png

Die erste Schicht ist die Eingabeschicht, und die Aktivierungen an0a_n^0 der Neuronen in dieser Schicht werden direkt aus den zu analysierenden Daten x\vec{x} eingespeist (wie etwa die Schattierung einzelner Pixel in einem Bild). Die letzte Schicht ist eine Ausgabeschicht, die die Kategorisierung beschreibt (zum Beispiel, ob ein Bild zu 90 % ein Hund und zu 10 % eine Katze ist, um beim Bildbeispiel zu bleiben).

QML_CR_background_QNN_output.png

Die Neuronen in jeder Schicht verarbeiten Signale, die sie von der vorherigen Schicht empfangen, und übertragen sie durch Gewichte wiw_i (die Verbindungen im Diagramm) an die nächste. Wenn wir uns auf eines dieser Neuronen konzentrieren, haben wir den Grundbaustein eines neuronalen Netzes – das sogenannte „Perzeptron". Mathematisch nimmt ein Perzeptron einen Eingabevektor x\vec{x} entgegen und berechnet sein inneres Produkt mit einem trainierbaren Gewichtsvektor plus einem Bias. Und ganz entscheidend: Das Perzeptron wendet eine nichtlineare Aktivierungsfunktion (σ\sigma) auf diese Berechnung an. Diese nichtlinearen Aktivierungsfunktionen sind entscheidend für die große Ausdruckskraft neuronaler Netze. Eine andere Sichtweise: Ohne Nichtlinearität zwischen den Schichten ließe sich das gesamte neuronale Netz prinzipiell als eine einzige große Matrizenmultiplikation schreiben – was zu einem linearen Modell führen würde, das nicht in der Lage wäre, die komplexen Muster zu erfassen, die tiefe neuronale Netze erkennen können. Nichtlineare Aktivierungsfunktionen sind daher grundlegend für neuronale Netze.

perceptron_CP.png

Funktionen wie

f(x)=σ(wx+b)f(\vec{x}) = \sigma (\vec{w}\cdot \vec{x}+\vec{b})

werden in jedem Neuron mit den bekannten Daten x\vec{x}, der nichtlinearen Funktion σ\sigma sowie den unbekannten Gewichtsvektoren w\vec{w} und Bias-Vektoren b\vec{b} berechnet. Im Allgemeinen kann es von Null verschiedene Gewichte zwischen allen Neuronen aller Schichten geben; das Gewicht von Schicht LL zu Schicht L+1L+1 zwischen den Neuronen mm und nn bezeichnen wir mit wm,nLw^L_{m,n}. Der Bias des nn-ten Neurons der LL-ten Schicht wäre entsprechend bnLb^L_n. Diese Biases haben nichts mit den bb-Werten aus der Quantenkernel-Diskussion zu tun.

Du könntest dein neuronales Netz mit einem zufälligen Satz von Gewichten und Biases starten oder von einer bekannten, vernünftigen Ausgangskonfiguration aus. Von dort aus gilt es zu prüfen, wie gut dein neuronales Netz klassifiziert, und es zu verbessern. Wir verwenden eine Kostenfunktion, um zu beschreiben, wie stark unser neuronales Netz von der korrekten Klassifizierung abweicht. Es gibt viele Möglichkeiten, eine Kostenfunktion zu definieren. Hier beschreiben wir ein gängiges Beispiel, das den mittleren quadratischen Fehler (MSE) verwendet:

C(wm,nL,bnL)=1Ni=1Ntrainj=1Noutputs(vi,jpi,j)2C(w^L_{m,n},b^L_n) = \frac{1}{N}\sum_{i=1}^{N_\text{train}}\sum_{j=1}^{N_\text{outputs}}{(v_{i,j}-p_{i,j})^2}

Je nach Anwendung kann dies bedeuten, die Differenz zwischen dem tatsächlichen Wert vi,jv_{i,j} eines Bildes ii aus den Trainingsdaten für Ausgabe jj (zum Beispiel ein Wert von 1,0 am Ausgabeneuron für „Hund" und 0 für alle anderen Neuronen) und dem vorhergesagten Wert pi,jp_{i,j} zu nehmen. Diesen Unterschied quadrieren und über alle Kategorien summieren, sodass nicht nur erfasst wird, ob die richtige Kategorie am stärksten aktiviert wurde, sondern auch, ob falsche Aktivierungen reduziert sind. Anschließend summieren wir über alle Beispiele im Trainingsset und erhalten eine Kostengröße.

Dann variieren wir die Parameter wie die Gewichte in jeder Schicht zwischen allen Neuronen und die Biases auf allen Neuronen. Klassische Optimierungsverfahren wie der Gradientenabstieg werden eingesetzt, um ein lokales Minimum in der Kostenfunktion zu suchen.

Quantenperzeptron

Um das quantenmechanische Gegenstück zum Perzeptron aufzubauen, müssen wir unter anderem in der Lage sein, Nichtlinearität mit Quantenschaltkreisen einzuführen – das entspricht der Rolle der Aktivierungsfunktion in klassischen neuronalen Netzen. Denn ohne zusätzliche Überlegungen implementieren Quantenschaltkreise nur unitäre Operationen, die schlicht linear sind. Es gibt verschiedene Methoden, Nichtlinearität in Quantenschaltkreisen einzuführen. Eine der wichtigsten ist die Nutzung von Messungen als Quelle der Nichtlinearität. Weitere Ansätze umfassen auf der Quantenfouriertransformation basierende Methoden, Mid-Circuit Messungen bzw. dynamische Schaltkreise sowie das Ausspuren von Qubits aus dem Schaltkreis.

Quanten-Neuronales-Netz

Ein Quanten-Neuronales-Netz (QNN) funktioniert, indem zunächst die Eingabedaten mit der unitären Schicht UU aus der Abbildung kodiert werden, dann Quantenschaltkreise entsprechend den Gewichten zwischen den Schichten (WW-Blöcke unten) angewendet werden und schließlich eine Messschicht folgt. Einige wichtige Punkte dazu:

  • Das Laden der Daten und die Gewichtungen sind lineare Operationen.
  • Die Messungen sind nichtlinear.
  • Wie beim klassischen NN gibt es also sowohl lineare als auch nichtlineare Komponenten.
  • Die Gewichtsschaltkreise haben weiterhin variationelle Parameter, sodass noch eine klassische Minimierung durchzuführen ist.

Eine Darstellung eines Quanten-Neuronalen-Netzes als Schaltkreis.

Mit einem solchen Schaltkreis können wir eine Funktion berechnen fQNN(x)=0U(X)WOWU(x)0f_{QNN}(x) = \langle 0|U^{\dagger}(X)W^{\dagger}OWU(x)|0\rangle Diese Funktion ist im Allgemeinen nicht identisch mit der Funktion f(x)f(x) aus klassischen NNs. Insbesondere enthält diese Funktion potenziell viele Schichten mit vielen Gewichten und wird auf alle Daten angewendet, die durch UU in den Quantenschaltkreis geladen wurden.

Verallgemeinerungen

Wir können nun eine der Möglichkeiten betrachten, das quantenmechanische Gegenstück eines neuronalen Netzes aufzubauen. In diesem Modell ist der Informationsfluss anders als in einem klassischen vorwärtsgerichteten neuronalen Netz. Im klassischen Kontext würde die Information von links nach rechts fließen, beginnend mit der Eingabe und endend mit der Modellausgabe, und in umgekehrter Richtung beim Backpropagation-Training des Modells.

Ein Diagramm mit mehreren Gate-Schichten innerhalb eines Quanten-Neuronalen-Netzes

In diesem Quanten-Neuronalen-Netz-Aufbau hingegen wiederholt sich der unitäre Block, der die Daten kodiert, zwischen den variationellen unitären Blöcken mit den trainierbaren Parametern. Diese Strategie, die wir als „Data Reuploading" bezeichnen, ist durch interessante theoretische Ergebnisse untermauert. Ein Paper von Pérez-Salinas et al. zeigt, dass mit Hilfe von mehrfachem Data Reuploading „ein einzelnes Qubit ausreichende Rechenkapazitäten bietet, um einen universellen Quantenklassifikator zu konstruieren, wenn es durch eine klassische Unterroutine unterstützt wird." Data Reuploading ist also eine Technik, mit der wir die Ausdrucksstärke und Repräsentationsfähigkeit des Modells verbessern und das Quanten-Neuronale-Netz befähigen können, komplexe Funktionen zu approximieren.

Referenzen

[1] "Reinforcement Learning: An Introduction", Richard S. Sutton and Richard G. Barto, MIT Press, Second Edition, Cambridge, MA, 2018

[2] "Pattern Recognition and Machine Learning", Christopher M. Bishop, Springer, 2006

[3] "Foundations of Machine Learning", Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalkar, MIT Press, Second Edition, 2018.