Quantum Machine Learning
Il machine learning quantistico (QML) addestra circuiti quantistici parametrizzati e kernel quantistici con ottimizzatori classici. Scopri come funziona e a che punto è.
L'apprendimento automatico quantistico (QML) applica i computer quantistici alle attività di apprendimento automatico, spesso addestrando circuiti quantistici parametrizzati i cui angoli dei gate svolgono il ruolo di pesi del modello, oppure usando un processore quantistico per calcolare similarità nei metodi kernel. Un registro di n qubit è descritto da 2^n ampiezze complesse, quindi anche un piccolo circuito trasforma un vettore molto grande; tuttavia, una misurazione restituisce solo una stringa di bit casuale e ogni quantità necessaria al modello deve essere stimata con molte esecuzioni ripetute, dette shot. Il campo comprende anche l'apprendimento classico applicato ai dati provenienti da esperimenti quantistici; Jacob Biamonte, Seth Lloyd e colleghi hanno esaminato entrambe le direzioni in una rassegna pubblicata su Nature nel 2017.
Circuiti quantistici variazionali#
La maggior parte del QML eseguito sull'hardware attuale è ibrida. Un computer classico codifica ogni input come angoli di rotazione, un processore quantistico esegue un circuito parametrizzato di rotazioni e gate di entanglement, e i valori attesi misurati alimentano una funzione di perdita classica che un algoritmo di ottimizzazione classico minimizza, spesso con la semplice discesa del gradiente. Questi modelli sono chiamati anche reti neurali quantistiche, in analogia con i livelli addestrabili di una rete neurale classica. Lo stesso ciclo esegue il risolutore quantistico variazionale agli autovalori (VQE), introdotto nel 2014 per stimare le energie dello stato fondamentale molecolare, e QAOA, un algoritmo variazionale per i problemi combinatori a cui si rivolge l'ottimizzazione quantistica.
La retropropagazione non può accedere all'interno di un processore quantistico, quindi i gradienti si ottengono con la regola dello spostamento dei parametri: per un gate di rotazione, la derivata esatta di un valore atteso equivale alla metà della differenza tra le esecuzioni con l'angolo spostato di +π/2 e -π/2. La simulazione con NumPy di un classificatore a due qubit mostra l'intero ciclo:
import numpy as np
rng = np.random.default_rng(0)
x = rng.uniform(-np.pi, np.pi, size=(100, 2)) # 100 points with 2 features each
y = np.sign(np.cos(x[:, 0] - 1.0) * np.cos(x[:, 1] + 0.5)) # XOR-like labels
def circuit(features, theta):
"""Simulate RY encoding, trainable RY rotations, and a CNOT on 2 qubits, then return <Z> of qubit 2."""
half = (features + theta) / 2 # RY(theta) after RY(x) is one rotation by x + theta
state = np.kron([np.cos(half[0]), np.sin(half[0])], [np.cos(half[1]), np.sin(half[1])])
state = state[[0, 1, 3, 2]] # CNOT flips qubit 2 when qubit 1 is |1>
return state @ np.diag([1, -1, 1, -1]) @ state
theta = np.zeros(2)
for _ in range(100):
errors = np.array([circuit(xi, theta) for xi in x]) - y
for i in range(2): # parameter-shift rule: an exact gradient from two extra circuit runs
shift = np.eye(2)[i] * np.pi / 2
slopes = np.array([(circuit(xi, theta + shift) - circuit(xi, theta - shift)) / 2 for xi in x])
theta[i] -= 0.5 * np.mean(errors * slopes)
accuracy = np.mean([np.sign(circuit(xi, theta)) == yi for xi, yi in zip(x, y)])
print(f"theta = {theta.round(2)}, accuracy = {accuracy:.2f}")Stampa theta = [-0.99 0.4 ], accuracy = 0.97: il circuito apprende scostamenti degli angoli vicini a -1.0 e 0.5, che hanno generato le etichette, e classifica correttamente il 97% dei punti. Il CNOT fa sì che il valore atteso del secondo qubit sia il prodotto dei due coseni codificati; senza di esso, quel qubit vedrebbe solo la seconda caratteristica. Sull'hardware, ogni valore atteso sarebbe a sua volta una media su migliaia di shot. PennyLane, Qiskit Machine Learning e TensorFlow Quantum forniscono gli stessi componenti fondamentali con simulatori e accesso a processori quantistici reali.
Kernel quantistici e modelli ibridi#
Un kernel quantistico mappa due input in stati quantistici tramite un circuito di codifica fisso e stima la loro sovrapposizione, che diventa la similarità in una macchina a vettori di supporto (SVM) classica. Vojtěch Havlíček e colleghi di IBM lo hanno dimostrato su un processore superconduttore in uno studio pubblicato su Nature nel 2019. I dati reali hanno molte più caratteristiche dei qubit disponibili, quindi le pipeline comprimono prima gli input con l'analisi delle componenti principali (PCA) o con una rete preaddestrata. Nel 2020, Andrea Mari e colleghi di Xanadu hanno usato questa forma di transfer learning, trasferendo le caratteristiche di una ResNet-18 preaddestrata a un circuito variazionale a 4 qubit per la classificazione delle immagini.
A che punto siamo con il vantaggio quantistico#
Il vantaggio più evidente riguarda i dati quantistici. Nel 2022, Hsin-Yuan Huang e colleghi di Caltech e Google Quantum AI hanno usato fino a 40 qubit superconduttori e 1.300 gate quantistici sul processore Sycamore di Google per dimostrare che un apprendente che memorizza stati quantistici e li elabora su un computer quantistico può imparare proprietà di un sistema quantistico con un numero di esperimenti esponenzialmente inferiore rispetto a qualsiasi apprendente che misura separatamente ogni copia.
I vantaggi in termini di velocità sui dati classici sono meno assodati. Le prime proposte si basavano sull'algoritmo HHL del 2009 per i sistemi lineari, che richiede input sparsi e ben condizionati, già memorizzati in una memoria quantistica; nel 2018, Ewin Tang ha trovato un algoritmo classico ispirato alla meccanica quantistica che ha eliminato il vantaggio esponenziale dichiarato per i sistemi di raccomandazione quantistici. L'addestramento deve affrontare i plateau sterili, individuati da Jarrod McClean e colleghi nel 2018: in molti circuiti inizializzati casualmente, i gradienti diminuiscono esponenzialmente all'aumentare dei qubit, un equivalente quantistico del problema del gradiente evanescente che fa crescere esponenzialmente anche il numero di shot richiesti. I processori odierni sono dispositivi quantistici rumorosi di scala intermedia (NISQ), come li ha definiti John Preskill nel 2018; gli errori dei gate ne limitano la profondità dei circuiti.
Il caricamento dei dati è un ulteriore collo di bottiglia. Una singola immagine RGB da 640 x 640 alla dimensione di input predefinita di Ultralytics YOLO26 contiene 1.228.800 valori e la codifica di ampiezza li inserisce in 21 qubit, ma preparare uno stato arbitrario di 21 qubit richiede un numero di porte che cresce con 2²¹, ovvero circa tante operazioni quante ne servono a una CPU per leggere i pixel.










