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:
- Ü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.
- 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.
- 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.

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.

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.

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 . Dabei ist die Menge der Parameter, die die Hyperebene definieren, ist dein Datensatz, und ist eine konstante Verschiebung. 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 ist 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 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.
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 und 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.

Diese „Merkmalsabbildung" bezeichnen wir ebenfalls mit . 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.
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:
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 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 als eine einfache Funktion der ursprünglichen (niedrigerdimensionalen) Variablen und zu schreiben. Bei manchen Wahlen von lässt sich sogar als einfache Funktion des niedrigerdimensionalen inneren Produkts 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 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 , 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:
Sobald wir die Kernelmatrix berechnet haben, können wir die optimalen Parameter () 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 in einen Quantenzustand 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 mit der Wahrscheinlichkeit zusammenhängt, den Zustand zu messen, wenn man sich im Zustand befindet. Wir können das innere Produkt der beiden abgebildeten Datenpunkte und schätzen, indem wir ausreichend viele Messungen am resultierenden Schaltkreis vornehmen.

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.

Die erste Schicht ist die Eingabeschicht, und die Aktivierungen der Neuronen in dieser Schicht werden direkt aus den zu analysierenden Daten 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).

Die Neuronen in jeder Schicht verarbeiten Signale, die sie von der vorherigen Schicht empfangen, und übertragen sie durch Gewichte (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 entgegen und berechnet sein inneres Produkt mit einem trainierbaren Gewichtsvektor plus einem Bias. Und ganz entscheidend: Das Perzeptron wendet eine nichtlineare Aktivierungsfunktion () 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.

Funktionen wie
werden in jedem Neuron mit den bekannten Daten , der nichtlinearen Funktion sowie den unbekannten Gewichtsvektoren und Bias-Vektoren berechnet. Im Allgemeinen kann es von Null verschiedene Gewichte zwischen allen Neuronen aller Schichten geben; das Gewicht von Schicht zu Schicht zwischen den Neuronen und bezeichnen wir mit . Der Bias des -ten Neurons der -ten Schicht wäre entsprechend . Diese Biases haben nichts mit den -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:
Je nach Anwendung kann dies bedeuten, die Differenz zwischen dem tatsächlichen Wert eines Bildes aus den Trainingsdaten für Ausgabe (zum Beispiel ein Wert von 1,0 am Ausgabeneuron für „Hund" und 0 für alle anderen Neuronen) und dem vorhergesagten Wert 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 aus der Abbildung kodiert werden, dann Quantenschaltkreise entsprechend den Gewichten zwischen den Schichten (-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.

Mit einem solchen Schaltkreis können wir eine Funktion berechnen Diese Funktion ist im Allgemeinen nicht identisch mit der Funktion aus klassischen NNs. Insbesondere enthält diese Funktion potenziell viele Schichten mit vielen Gewichten und wird auf alle Daten angewendet, die durch 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.

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.