Quantum Machine Learning
El aprendizaje automático cuántico (QML) entrena circuitos cuánticos parametrizados y kernels cuánticos con optimizadores clásicos. Descubre cómo funciona y cuál es su situación actual.
El aprendizaje automático cuántico (QML) aplica ordenadores cuánticos a tareas de aprendizaje automático, normalmente mediante el entrenamiento de circuitos cuánticos parametrizados cuyos ángulos de puerta desempeñan el papel de los pesos del modelo, o mediante el uso de un procesador cuántico para calcular similitudes en métodos de núcleo. Un registro de n cúbits se describe mediante 2^n amplitudes complejas, por lo que incluso un circuito pequeño transforma un vector enorme; sin embargo, una medición devuelve una sola cadena aleatoria de bits y cada magnitud que necesita un modelo debe estimarse a partir de muchas ejecuciones repetidas, llamadas disparos. El campo también abarca el aprendizaje clásico aplicado a datos de experimentos cuánticos; Jacob Biamonte, Seth Lloyd y sus colegas analizaron ambos enfoques en una revisión de Nature de 2017.
Circuitos cuánticos variacionales#
La mayor parte del QML en el hardware actual es híbrido. Un ordenador clásico codifica cada entrada como ángulos de rotación, un procesador cuántico ejecuta un circuito parametrizado de rotaciones y puertas de entrelazamiento, y los valores de expectación medidos alimentan una función de pérdida clásica que un algoritmo de optimización clásico minimiza, a menudo con descenso de gradiente estándar. Estos modelos también se llaman redes neuronales cuánticas, por analogía con las capas entrenables de una red neuronal clásica. El mismo ciclo ejecuta el solucionador propio cuántico variacional (VQE), presentado en 2014 para estimar las energías del estado fundamental de las moléculas, y QAOA, un algoritmo variacional para los problemas combinatorios a los que se dirige la optimización cuántica.
La retropropagación no puede acceder al interior de un procesador cuántico, por lo que los gradientes se calculan con la regla del desplazamiento de parámetros: para una puerta de rotación, la derivada exacta de un valor de expectación equivale a la mitad de la diferencia entre las ejecuciones con el ángulo desplazado +π/2 y -π/2. Una simulación de un clasificador de dos cúbits con NumPy muestra todo el 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}")Imprime theta = [-0.99 0.4 ], accuracy = 0.97: el circuito aprende desplazamientos angulares cercanos a -1,0 y 0,5, que generaron las etiquetas, y clasifica correctamente el 97 % de los puntos. La CNOT hace que el valor de expectación del segundo cúbit sea el producto de los cosenos de las dos características codificadas; sin ella, ese cúbit solo vería la segunda característica. En el hardware, cada valor de expectación sería a su vez una media de miles de disparos. PennyLane, Qiskit Machine Learning y TensorFlow Quantum proporcionan los mismos componentes básicos con simuladores y acceso a procesadores cuánticos reales.
Núcleos cuánticos y modelos híbridos#
Un núcleo cuántico asigna dos entradas a estados cuánticos mediante un circuito de codificación fijo y estima su solapamiento, que después sirve como similitud en una máquina de vectores de soporte (SVM) clásica. Vojtěch Havlíček y sus colegas de IBM lo demostraron en un procesador superconductor en un artículo de Nature de 2019. Los datos reales tienen muchas más características que cúbits disponibles, así que los sistemas primero comprimen las entradas mediante análisis de componentes principales (PCA) o una red preentrenada. Andrea Mari y sus colegas de Xanadu utilizaron esta forma de aprendizaje por transferencia en 2020: pasaron características de un ResNet-18 preentrenado a un circuito variacional de 4 cúbits para la clasificación de imágenes.
Situación de la ventaja cuántica#
La ventaja más clara se da con los datos cuánticos. En 2022, Hsin-Yuan Huang y sus colegas de Caltech y Google Quantum AI utilizaron hasta 40 cúbits superconductores y 1.300 puertas cuánticas en el procesador Sycamore de Google para demostrar que un algoritmo de aprendizaje que almacena estados cuánticos y los procesa en un ordenador cuántico puede aprender propiedades de un sistema cuántico con exponencialmente menos experimentos que cualquier algoritmo que solo mida cada copia por separado.
Las aceleraciones con datos clásicos están menos claras. Las primeras propuestas se basaban en el algoritmo HHL de 2009 para sistemas lineales, que necesita entradas dispersas y bien condicionadas, ya almacenadas en memoria cuántica; en 2018, Ewin Tang encontró un algoritmo clásico de inspiración cuántica que eliminó la aceleración exponencial atribuida a los sistemas de recomendación cuánticos. El entrenamiento se enfrenta a mesetas estériles, identificadas por Jarrod McClean y sus colegas en 2018: en muchos circuitos inicializados aleatoriamente, los gradientes disminuyen exponencialmente con el número de cúbits, una versión cuántica del problema del gradiente desvanecido, que también hace que el número necesario de disparos crezca exponencialmente. Los procesadores actuales son dispositivos cuánticos ruidosos de escala intermedia (NISQ), como los llamó John Preskill en 2018, cuyos errores de puerta limitan la profundidad de los circuitos.
La carga de datos constituye otro cuello de botella. Una única imagen RGB de 640 x 640, con el tamaño de entrada predeterminado de Ultralytics YOLO26, contiene 1.228.800 valores, y la codificación de amplitud permite representarlos con 21 cúbits; sin embargo, preparar un estado arbitrario de 21 cúbits requiere un número de puertas que crece con 2²¹, es decir, aproximadamente tantas operaciones como necesita una CPU para leer los píxeles.










