Skip to main content
IBM Quantum Platform

Introduction à l' Machine Learning quantique


Aperçu général et motivation

Bienvenue dans l'apprentissage automatique quantique!

La vidéo ci-dessous donne une brève introduction qui est complétée par le texte ci-dessous.

Pour récapituler brièvement et compléter la vidéo :

  • Nous avons vu un problème être résolu pour la première fois sur un ordinateur quantique, puis des personnes ont ensuite trouvé un moyen de le faire sur un superordinateur classique. Ce cycle de l'informatique classique et de l'informatique quantique poussant l'une et l'autre à leurs limites se poursuivra probablement pendant quelques années.
  • Il existe des problèmes spécifiques pour lesquels l'informatique quantique peut présenter un avantage prouvé par rapport à l'informatique classique, compte tenu des progrès réalisés dans des domaines tels que la réduction des erreurs et le nombre de qubits disponibles. Mais l'heure est encore à l'exploration, à la recherche d'ensembles de données accessibles au niveau quantique et de cartes de caractéristiques quantiques utiles.
  • L'apprentissage automatique quantique (QML) est l'un des nombreux domaines passionnants dans lesquels l'informatique quantique peut augmenter ou compléter les flux de travail classiques existants.

L'apprentissage machine (ML) applique des algorithmes à des ensembles de données, et le QML pourrait donc inclure la mécanique quantique soit dans les données, soit dans les algorithmes, soit dans les deux. Toutes ces possibilités sont potentiellement intéressantes. Mais nous nous limiterons principalement à des discussions sur les algorithmes quantiques appliqués à des données classiques. L'une des raisons en est que les problèmes de ML avec des données classiques sont déjà très bien étudiés et largement disponibles. La résolution de problèmes à partir de données classiques suscite un grand intérêt. Une autre raison est l'absence de SMAQ. Sans la capacité de stocker de grandes quantités de données quantiques sur une échelle de temps relativement longue, les méthodes qui commencent avec des données quantiques sont encore loin d'être applicables à l'industrie. On ne sait pas non plus comment accéder efficacement à des données classiques par voie quantique. Deux types de ML présentent un intérêt particulier : l'apprentissage supervisé, dans lequel vous entraînez un algorithme à l'aide d'un ensemble de données étiquetées, et l'apprentissage non supervisé, dans lequel l'algorithme tente d'apprendre une distribution à partir d'échantillons non étiquetés. Un algorithme non supervisé peut, par exemple, apprendre à générer de nouveaux échantillons à partir de la même distribution ou à regrouper les échantillons en groupes présentant des caractéristiques similaires.

QML_CR_background_Sup_Unsup.avif

L'image de gauche montre deux catégories de données étiquetées comme dans l'apprentissage supervisé. Dans ce cas, les catégories sont linéairement séparables. L'image de droite montre des grappes de données. Dans une tâche d'apprentissage non supervisé, ces données ne seraient initialement pas étiquetées et l'algorithme étudierait la distribution, peut-être à la recherche de grappes. Afin de visualiser les exemples de clusters que l'algorithme pourrait identifier, les points de données ont désormais été étiquetés. Une différence essentielle entre les deux réside dans le fait que le processus d'apprentissage supervisé commence avec des données déjà étiquetées, tandis que le processus non supervisé commence avec des données non étiquetées, même si celles-ci sont étiquetées à la fin.

Ceux qui ont une expérience de l'apprentissage automatique savent déjà que de nombreuses méthodes de résolution impliquent de cartographier les données dans des espaces à plus haute dimension. Cette question est particulièrement bien étudiée dans le contexte des noyaux. Pour rappel, les données peuvent parfois être séparées en catégories par une ligne, un plan ou un hyperplan (nous dirons souvent simplement "hyperplan" pour des raisons de compacité), dans le même nombre de dimensions que les données. C'est ce que montre la première image ci-dessus. Dans d'autres cas, les données ne peuvent pas être séparées par un hyperplan dans ces dimensions, comme le montre la deuxième image. Mais les données peuvent encore présenter une structure qui peut être exploitée dans une mise en correspondance avec des dimensions plus élevées, ce qui laisse les données séparables dans cet espace à dimensions plus élevées. Ceci est illustré par le mappage des données 2D à symétrie circulaire dans l'espace 3D dans lequel les points de données sont disposés le long d'une surface paraboloïde.

QML_CR_background_2D-3D.avif

Un objectif commun en QML est de trouver une correspondance entre l'ensemble de caractéristiques de dimension inférieure et un espace de dimension supérieure, qui sépare efficacement nos points de données afin que nous puissions utiliser la correspondance pour classer de nouveaux points de données. Mais ce n'est pas une tâche facile, et toute discussion sur l'utilité potentielle de l'informatique quantique dans l'apprentissage automatique doit être accompagnée des mises en garde appropriées. En particulier, nous devons tenir compte des nuances dans la sélection des ensembles de données et des défis à relever pour atteindre l'échelle de l'utilité. Nous devons également cesser d'essayer de surpasser les algorithmes de ML classiques sur des données qui sont déjà traitées efficacement et correctement par les algorithmes classiques et recentrer la discussion sur l'étude de nouvelles cartes de caractéristiques qui pourraient s'avérer utiles.


Gérer les attentes

De nombreux ensembles de données utilisés dans les applications QML décrites dans la littérature sont "conçus en fonction des caractéristiques", ce qui signifie qu'un ensemble de données est sélectionné ou généré spécifiquement pour montrer un cas d'utilisation étroit dans lequel l'informatique quantique est utile. Si cela ressemble à de la triche, c'est que nous avons mal compris la tâche à accomplir. Il n'est pas vrai que certaines cartes de caractéristiques quantiques nous permettent de résoudre toutes les tâches de classification ou un grand nombre d'entre elles de manière plus efficace ou plus évolutive que les algorithmes classiques d'apprentissage automatique. Au contraire, certaines cartes de caractéristiques quantiques (pas toutes) se comportent différemment des cartes de caractéristiques classiques. Il s'agit alors d'explorer les circuits quantiques dans le contexte de structures de données complexes. Voici quelques questions spécifiques à aborder :

  1. Quels sont les circuits quantiques les plus susceptibles de se comporter de manière novatrice par rapport aux circuits classiques?
  2. Existe-t-il des problèmes concrets qui impliquent des données dont les propriétés peuvent être mieux explorées à l'aide de ces nouveaux circuits quantiques?
  3. Ces circuits quantiques sont-ils compatibles avec les ordinateurs quantiques à court terme?

Explication insuffisante

On trouve souvent une explication simplifiée de la puissance de l'informatique quantique. Voici comment cela se passe :

Tout comme les ordinateurs classiques utilisent des bits d'information, les ordinateurs quantiques utilisent des qubits. Étant donné un nombre de bits, disons 4, un ordinateur classique peut prendre n'importe lequel des 24=162^4 = 16 états possibles, alors qu'un ordinateur quantique peut exister dans une superposition des 16 états simultanément, et des opérations peuvent être effectuées sur l'ensemble de cette superposition. Dans certains cas, cela nous permet naturellement de concevoir des algorithmes d'apprentissage potentiellement intéressants basés sur des correspondances avec des espaces de dimension supérieure.

Cette affirmation est vraie, mais elle est insuffisante et quelque peu trompeuse, comme nous allons l'expliquer. Les différences entre les coefficients complexes et réels sont également soulignées, comme dans l'exemple suivant :

Un système classique probabiliste dans lequel un système peut être décrit comme ayant certaines probabilités d'être dans différents états, peut être décrit comme suit.

s=a0000+b0001+c0010+...a,b,cR|s\rangle = a|0000\rangle+b|0001\rangle+c|0010\rangle+... a, b, c \in \reals

Dans un tel système, les coefficients aa, bb, cc, etc. ne peuvent avoir de sens que s'ils sont des nombres réels positifs. Les états des ordinateurs quantiques sont décrits par des amplitudes de probabilité qui peuvent être des nombres complexes.

ψ=A0000+B0001+C0010+...A,B,CC|\psi \rangle = A|0000\rangle+B|0001\rangle+C|0010\rangle+... A, B, C \in \mathbb{C}

Les affirmations ci-dessus ont été formulées avec beaucoup de soin, de sorte qu'elles sont vraies (de nombreuses affirmations superficiellement similaires sont incorrectes). Mais ces affirmations correctes n'expliquent pas la puissance de l'informatique quantique dans l'apprentissage automatique. D'une part, toute application de l'informatique quantique à l'apprentissage automatique impliquera des mesures et nous ne pouvons pas mesurer un qubit dans plusieurs états à la fois. Nous pouvons préparer un qubit dans une superposition comme ψ=12(0+1)|\psi\rangle = \frac{1}{\sqrt{2}}\left(|0\rangle+|1\rangle\right), mais une mesure donnera soit 0|0\rangle, soit 1|1\rangle. Donc, au minimum, cette histoire d'augmentation de la dimensionnalité est incomplète. En outre, dans le contexte des noyaux, l'augmentation des dimensions de l'informatique quantique ne peut pas être une condition suffisante pour obtenir une puissance de calcul supérieure aux solutions classiques, puisque les noyaux gaussiens sont de dimension infinie. Il y a des subtilités, car les cartes de caractéristiques gaussiennes ne sont utilisées qu'en conjonction avec l'"astuce du noyau" qui évite la nécessité de calculer un vecteur cartographié à dimension infinie. Mais la question reste entière :

La haute dimensionnalité des états quantiques intriqués n'est pas un parallélisme exponentiel et n'est pas une condition suffisante pour accroître la puissance de l'apprentissage automatique.

Dans les leçons qui suivent, nous présentons des flux de travail permettant d'incorporer des circuits quantiques dans des tâches d'apprentissage automatique, et ce dans le but explicite de faciliter l'exploration de la puissance de l'informatique quantique. Dans ce cours, aucune carte de caractéristiques ni aucun algorithme n'est présenté comme un moyen rapide d'obtenir de meilleurs résultats en matière d'apprentissage automatique pour des problèmes généraux, car il n'existe pas de carte de caractéristiques ni d'algorithme de ce type. Nous présentons plutôt un large éventail d'outils quantiques à utiliser dans l'exploration de l'informatique quantique utile.

Déquantification

La déquantification consiste à remplacer un algorithme quantique donné par un algorithme classique dont les performances sont similaires à celles d'un algorithme quantique pour un ensemble donné de tâches, y compris généralement la mise à l'échelle. Selon certaines définitions, l'algorithme classique ne devrait être que polynomialement plus lent que l'algorithme quantique.

Plusieurs algorithmes d'apprentissage automatique quantique (QML), dont on pensait initialement qu'ils offriraient des accélérations significatives par rapport aux algorithmes classiques, ont été déquantifiés au cours des dernières années. Ce processus de déquantification a permis de mieux comprendre les avantages et les limites potentiels des approches quantiques de l'apprentissage automatique.

L'un des résultats de déquantification les plus remarquables provient des travaux d'Ewin Tang sur les systèmes de recommandation. Tang a découvert un algorithme classique capable d'effectuer des tâches de recommandation à des vitesses que l'on pensait auparavant réalisables uniquement par des ordinateurs quantiques. Cette découverte a remis en question l'hypothèse selon laquelle les algorithmes quantiques présentaient un avantage exponentiel pour ce problème. Les travaux plus récents de Shin et al. se sont concentrés sur l'identification des conditions de déquantizabilité de la classe de fonctions d'un modèle d'apprentissage par machine quantique variationnelle.

Une approche courante de la déquantification (mais ce n'est pas la seule) consiste à prendre en compte les frais généraux de chargement des données. En d'autres termes, tout algorithme quantique appliqué à des données classiques comportera une étape au cours de laquelle les données classiques seront encodées dans l'ordinateur quantique. Si un algorithme quantique suppose un point de départ où les données quantiques sont déjà disponibles, le temps nécessaire à l'encodage est effectivement caché. Dans certains contextes, il peut être raisonnable d'utiliser des données quantiques, mais de nombreuses applications intéressantes commenceront avec des données classiques. Certains cas de déquantification ont montré que lorsque ce temps d'encodage est inclus et que le chargement des données classiques peut être effectué efficacement, l'algorithme quantique n'est plus plus plus performant que son homologue classique.

Même si un algorithme ne peut pas être déquantifié, cela ne signifie pas qu'il est plus efficace ou plus évolutif que tous les algorithmes classiques. Exemple extrême et artificiel : imaginez un algorithme permettant de sélectionner les j éléments les plus grands d'un ensemble de taille k. On pourrait écrire un algorithme quantique qui utilise l'algorithme de Shor pour factoriser chacun des k éléments en facteurs premiers, puis déterminer les éléments les plus grands à l'aide des facteurs premiers. Un tel algorithme ne peut probablement pas être déquantifié, mais il est nettement moins efficace que les algorithmes classiques pour effectuer la même sélection des éléments les plus grands (mais pas la factorisation inutile).


Preuve d'existence

En 2021, les chercheurs de IBM Quantum® Yunchao Liu, Srinivasan Arunachalam et Kristan Temme ont publié un article dans Nature intitulé " A rigorous and robust quantum speed-up in supervised machine learning" (accélération quantique rigoureuse et robuste dans l'apprentissage automatique supervisé) Conformément aux avertissements ci-dessus, un problème de classification a été soigneusement choisi pour ce travail qui est (1) connu pour être classiquement difficile, et (2) adapté aux algorithmes quantiques pour montrer une accélération.

Ce document traite de la classification des données basée sur les logarithmes discrets. Pour citer le document, "Pour un grand nombre premier pp et un générateur gg de Zp=1,2,...,p1\mathbb{Z}^*_p = {1, 2, . . . , p − 1}, il est largement admis qu'aucun algorithme classique ne peut calculer logg(x)\text{log}_g(x) sur l'entrée xZpx \in \mathbb{Z}^*_p , en un temps polynomial dans n=log2(p)n = \lceil{\text{log}_2(p)}\rceil, le nombre de bits nécessaires pour représenter pp." En revanche, l' algorithme de Shor est connu pour résoudre le problème du logarithme discret en temps polynomial. Ce choix de problèmes répond donc simultanément aux critères susmentionnés : dureté classique (peu susceptible d'être déquantifié) et adéquation avec les algorithmes quantiques.

Grâce à ce choix judicieux du problème de classification, les auteurs ont pu démontrer une accélération exponentielle en utilisant des méthodes de noyau quantique (brièvement esquissées ci-dessous et discutées dans les leçons suivantes) qui sont à la fois de bout en bout et robustes. Ici, "de bout en bout" se réfère aux hypothèses de départ des données classiques; dans ce cas, les auteurs incluent le temps nécessaire à l'encodage des données. Ici, le terme "robuste" fait référence au fait que les données à classer sont séparées par une large marge à l'aide de l'algorithme quantique, de sorte que le succès de la classification est robuste aux considérations du monde réel telles que l'erreur d'échantillonnage finie.

Tout cela pour dire qu'il existe des problèmes pour lesquels les noyaux quantiques peuvent produire une accélération exponentielle. Mais dans l'état actuel de la science, ces problèmes sont sélectionnés sur la base d'observations ou de justifications théoriques indiquant qu'ils devraient pouvoir être traités par des algorithmes quantiques. Il n'est pas réaliste de s'attendre à une accélération quantique pour des tâches d'apprentissage automatique que les ordinateurs classiques accomplissent déjà très bien.

L'identification de ces cas idéaux pour l'exploration de l'utilité quantique est une responsabilité énorme pour les apprenants de ce cours. Et ce n'est pas une tâche qui peut être accomplie dans le cadre d'un cours comme celui-ci. Cette exploration est une tâche qui incombe à l'ensemble du réseau quantique IBM, composé de chercheurs comme vous. Ce cours démontrera les flux de travail et les stratégies d'encodage QML afin que vous puissiez commencer à explorer l'utilité quantique dans votre domaine d'expertise.

Nous espérons que cette introduction a permis d'éclaircir quelques points sur l'apprentissage automatique quantique :

  1. Les algorithmes quantiques peuvent offrir une accélération exponentielle par rapport aux algorithmes classiques pour des problèmes très spécifiques qui sont difficiles sur le plan classique et bien adaptés aux algorithmes quantiques.
  2. La haute dimensionnalité des états intriqués dans l'informatique quantique est importante, mais elle n'est pas suffisante pour obtenir un avantage sur les algorithmes classiques.
  3. Trouver des problèmes bien adaptés aux algorithmes quantiques est une tâche extrêmement difficile, qui incombera en grande partie aux apprenants de ce cours.

Questions d'enregistrement

Qu'est-ce qui différencie les états quantiques des états classiques?

  • Beaucoup. Notamment : coefficients complexes et superposition avec une seule copie. Il existe de nombreuses autres différences qui seront abordées dans les prochains cours, notamment l'intrication et l'interférence.

Vrai ou faux? Les états quantiques hautement intriqués nous permettent de résoudre la plupart des problèmes d'apprentissage automatique plus efficacement sur un ordinateur quantique.

  • Faux. La plupart des problèmes d'apprentissage automatique sont résolus très efficacement par des algorithmes classiques et les algorithmes quantiques ne sont pas susceptibles d'offrir une accélération substantielle. L'objectif de QML est de trouver des ensembles de données dont les caractéristiques sont bien décrites par les états quantiques et/ou de trouver des correspondances entre les caractéristiques des données qui optimisent la précision des modèles.


Objectifs pédagogiques du cours

En suivant ce cours, vous pouvez vous attendre à acquérir les aptitudes et compétences de base suivantes. Les apprenants seront capables de :

  1. Expliquer ce qu'est le QML et où se situe le lien entre l'apprentissage quantique et l'apprentissage automatique classique.

  2. Appliquer le vocabulaire quantique et les termes clés aux flux de travail de ML.

  3. Identifier les composants clés d'un flux de travail QML (différents types).

  4. Identifier les différents types de QML et les distinguer.

  5. Mettre en œuvre des méthodes de noyau quantique et des classificateurs quantiques variationnels à l'aide des primitives d' IBM Quantum, en suivant les modèles Qiskit.

  6. Identifier les domaines dans lesquels QML est le plus prometteur et ceux dans lesquels il ne l'est pas.

  7. Adapter un problème d'exemple à leur propre ensemble de données.

  8. Soyez conscient des problèmes liés au QML, tels que le temps d'apprentissage, le bruit et l'erreur de composition dans les lectures à états multiples.

  9. Formuler des recommandations sur les domaines dans lesquels QML pourrait être utile à leur organisation.


Structure du cours

Ce cours est composé de plusieurs leçons. Chaque leçon comporte plusieurs questions de contrôle tout au long du texte, ce qui vous permet de mettre en pratique de nouvelles compétences ou de vérifier votre compréhension au fur et à mesure que vous avancez. Ils ne sont pas obligatoires.

A la fin du cours, il y a un quiz de 20 questions. Vous devez obtenir au moins 70 % à ce quiz pour obtenir votre badge Quantum Machine Learning, via Credly. Si vous obtenez au moins 70 %, votre badge vous sera automatiquement envoyé par courrier électronique peu de temps après. Vous ne pouvez soumettre le questionnaire que deux fois. Après la première soumission, vous aurez la possibilité de faire un deuxième essai pour les questions que vous avez manquées. Après la deuxième soumission, votre note est définitive. Voir le quiz pour plus de détails.

La structure du cours est la suivante :

  • Leçon 1 : Introduction et vue d'ensemble
  • Leçon 2 : Récapitulation de l'apprentissage automatique
  • Leçon 3 : Codage des données
  • Leçon 4 : Méthodes à noyau quantique et machines à vecteurs de support
  • Leçon 5 : Classificateurs quantiques variationnels / réseaux neuronaux
  • Examen pour l'obtention d'un badge

Exécutez votre premier code QML

Il est souvent utile de voir où l'on va, avant de décomposer le projet en plusieurs parties et d'approfondir le contexte. Les cellules de code ci-dessous exécutent un exemple simple de méthode de noyau quantique. Plus précisément, un seul élément de la matrice du noyau est calculé. Les utilisateurs qui ne connaissent pas les méthodes de noyaux ou les noyaux quantiques ne doivent pas être intimidés par cela; plusieurs leçons de ce cours seront consacrées à la dissection exacte de ce qui est fait dans ces cellules.

Avec ce code, nous présentons simultanément les modèles Qiskit : un cadre pour aborder l'informatique quantique à l'échelle de l'utilité. Ce cadre se compose de quatre étapes qui sont très générales et peuvent être appliquées à la plupart des problèmes (bien que dans certains domaines de travail, certaines étapes puissent être répétées plusieurs fois).

Modèles Qiskit :

  • Etape 1 : Tracer un problème quantique à partir d'entrées classiques
  • Étape 2 : Optimisation du problème pour l'exécution quantique
  • Étape 3 : Exécution à l'aide des primitives « IBM Quantum »
  • Étape 4 : Analyse / post-traitement

Dans les cellules ci-dessous, nous n'offrons que des explications sommaires des différentes étapes, juste assez pour que vous puissiez trouver la leçon appropriée pour en savoir plus.

# Import some qiskit packages required for setting up our quantum circuits.
from qiskit.circuit import Parameter, ParameterVector, QuantumCircuit
from qiskit.circuit.library import unitary_overlap

# Import StatevectorSampler as our sampler.
from qiskit.primitives import StatevectorSampler

# Step 1: Map classical inputs to a quantum problem:

# Start by getting some appropriate data.
# The data imported below consist of 128 rows or data points.
# Each row has 14 columns that correspond to data features, and a 15th column with a label (+/-1).
!wget https://raw.githubusercontent.com/qiskit-community/prototype-quantum-kernel-training/main/data/dataset_graph7.csv

# Import some required packages, and write a function to pull some
# training data out of the csv file you got above.
import pandas as pd
import numpy as np


def get_training_data():
    """Read the training data."""
    df = pd.read_csv("dataset_graph7.csv", sep=",", header=None)
    training_data = df.values[:20, :]
    ind = np.argsort(training_data[:, -1])
    X_train = training_data[ind][:, :-1]

    return X_train


# Prepare training data
X_train = get_training_data()

# Empty kernel matrix
num_samples = np.shape(X_train)[0]

# Prepare feature map for computing overlap between two data points.
# This could be pre-built feature maps like ZZFeatureMap, or a custom quantum circuit,
# as shown here.
num_features = np.shape(X_train)[1]
num_qubits = int(num_features / 2)
entangler_map = [[0, 2], [3, 4], [2, 5], [1, 4], [2, 3], [4, 6]]
fm = QuantumCircuit(num_qubits)
training_param = Parameter("θ")
feature_params = ParameterVector("x", num_qubits * 2)
fm.ry(training_param, fm.qubits)
for cz in entangler_map:
    fm.cz(cz[0], cz[1])
for i in range(num_qubits):
    fm.rz(-2 * feature_params[2 * i + 1], i)
    fm.rx(-2 * feature_params[2 * i], i)

# Pick two data points, here 14 and 19, and assign the features to the circuits as parameters.
x1 = 14
x2 = 19
unitary1 = fm.assign_parameters(list(X_train[x1]) + [np.pi / 2])
unitary2 = fm.assign_parameters(list(X_train[x2]) + [np.pi / 2])

# Create the overlap circuit
overlap_circ = unitary_overlap(unitary1, unitary2)
overlap_circ.measure_all()
overlap_circ.draw("mpl", scale=0.6, style="iqp")

# Step 2: Optimize problem for quantum execution

# Use IBM Quantum Compute Service to get the least busy backend for running on real quantum computers.
# from qiskit_ibm_runtime import QiskitRuntimeService

# service = QiskitRuntimeService(channel="ibm_quantum")
# backend = service.least_busy(
#    operational=True, simulator=False, min_num_qubits=overlap_circ.num_qubits
# )

# Transpile the circuits optimally for the chosen backend using a pass manager.
# from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
# pm = generate_preset_pass_manager(optimization_level=3, backend=backend)
# overlap_ibm = pm.run(overlap_circ)

# Step 3: Execute using IBM Quantum primitives

# Specify the number of shots to use.
num_shots = 10_000

## Evaluate the problem using statevector-based primitives from Qiskit
sampler = StatevectorSampler()
counts = (
    sampler.run([overlap_circ], shots=num_shots).result()[0].data.meas.get_int_counts()
)

# Step 4: Analyze and post-processing

# Find the probability of 0.
counts.get(0, 0.0) / num_shots

Output:

--2025-05-09 10:04:28--  https://raw.githubusercontent.com/qiskit-community/prototype-quantum-kernel-training/main/data/dataset_graph7.csv
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.109.133, 185.199.108.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 49405 (48K) [text/plain]
Saving to: ‘dataset_graph7.csv.2’

dataset_graph7.csv. 100%[===================>]  48.25K  --.-KB/s    in 0.03s   

2025-05-09 10:04:29 (1.37 MB/s) - ‘dataset_graph7.csv.2’ saved [49405/49405]

0.8199

Bien qu'il ne soit pas nécessaire de comprendre toutes les étapes ci-dessus, nous devrions essayer de comprendre le résultat, afin de savoir pourquoi nous faisons cela. De nombreux processus d'apprentissage automatique utilisent les produits internes dans le cadre de la classification binaire (entre autres). La mécanique quantique a un lien évident avec cela, puisque les probabilités de mesurer différents états ϕi|\phi_i\rangle sont données par le produit intérieur avec un état initial ψ|\psi\rangle à travers le produit intérieur : Pi=ϕiψ2P_i = |\langle\phi_i|\psi\rangle|^2. Ce que nous avons fait ci-dessus, c'est créer un circuit quantique qui contient les caractéristiques de nos deux points de données, et les cartographie dans l'espace d'un vecteur quantique, puis estime le produit intérieur dans cet espace en effectuant des mesures. Il s'agit d'un exemple d'estimation quantique du noyau. Notez que nous n'avons mis en œuvre ce processus que pour deux des points de données (le 14 et le 19). Si nous faisions cela pour toutes les paires possibles, nous pourrions obtenir le résultat (dans ce cas le nombre 0.821...) et remplissent une matrice de résultats décrivant le chevauchement entre tous les points de l'ensemble des données d'apprentissage. Il s'agit de la "matrice du noyau".

Vérifiez votre compréhension

Dans le processus ci-dessus, nous avons calculé une entrée de la matrice du noyau pour les 14e et 19e points de données. Quelle valeur devrions-nous obtenir si nous utilisons le même point de données deux fois, ici (comme le 14e et le 14e à nouveau)? En d'autres termes, quelles devraient être les entrées diagonales de la matrice du noyau? Répondez à cette question en l'absence de bruit, mais notez que des écarts par rapport à votre réponse sont possibles en présence de bruit.

  • Les diagonales doivent être 1.0. Ce processus doit calculer le produit intérieur normalisé d'un vecteur avec lui-même, qui doit toujours être égal à un.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.