📖 Teoría

Redes Neuronales Cuánticas

De los fundamentos de la mecánica cuántica a las QNNs: qubits, superposición, entrelazamiento, circuitos parametrizados (VQC), barren plateaus, modelos híbridos clásico-cuánticos, QCNN, quantum kernels, y el estado del arte en hardware y aplicaciones de Quantum Machine Learning.

¿Qué es la computación cuántica?

La computación cuántica es un paradigma de computación que aprovecha fenómenos de la mecánica cuántica — superposición, entrelazamiento e interferencia — para procesar información de formas fundamentalmente imposibles para un ordenador clásico.

🔀
Superposición
Un qubit puede estar en estado \(|0\rangle\), \(|1\rangle\), o ambos a la vez: \(\alpha|0\rangle + \beta|1\rangle\). Como una moneda girando: ni cara ni cruz hasta que la mires.
🔗
Entrelazamiento
Dos qubits entrelazados comparten un estado: medir uno determina instantáneamente el otro, sin importar la distancia. Einstein lo llamó "acción fantasmagórica a distancia".
🌊
Interferencia
Las amplitudes de probabilidad pueden sumarse (constructiva) o cancelarse (destructiva), como ondas. Los algoritmos cuánticos amplifican respuestas correctas y cancelan las incorrectas.
💡 Intuición clave: Un ordenador clásico con \(n\) bits puede estar en uno de \(2^n\) estados. Un ordenador cuántico con \(n\) qubits puede estar en una superposición de los \(2^n\) estados simultáneamente. Esto no significa que "pruebe todas las respuestas a la vez", sino que manipula las amplitudes de probabilidad para hacer que las respuestas correctas sean más probables al medir.

¿Qué son las Redes Neuronales Cuánticas?

Una Red Neuronal Cuántica (QNN) es un modelo de aprendizaje automático que se ejecuta (total o parcialmente) en un procesador cuántico. Utiliza circuitos cuánticos parametrizados como el equivalente cuántico de las capas de una red neuronal clásica.

Datos clásicos x ∈ ℝⁿ (imágenes, tablas...) Encoding x → |ψ(x)⟩ Feature map R_Y, R_Z, ... Circuito cuántico U(θ) = ∏ᵢ Uᵢ(θᵢ) Puertas param. RY, RZ, CNOT, ... θ ← θ - η∇L(θ) Medición ⟨ψ|M|ψ⟩ → valor esperado → predicción ŷ Pipeline de una QNN: datos clásicos → codificación cuántica → circuito parametrizado → medición → resultado clásico

🔑 Componentes clave de una QNN

ComponenteRed clásicaRed cuántica (QNN)
Unidad básicaNeurona (pesos + bias + activación)Qubit (estado cuántico en \(\mathbb{C}^2\))
CapaCapa densa, conv, recurrenteCapa de puertas cuánticas parametrizadas
ParámetrosPesos \(W\), biases \(b\)Ángulos de rotación \(\theta_i\)
Transformación\(f(Wx + b)\)\(U(\theta)|x\rangle\) (unitaria)
SalidaValores continuosValores esperados de observables \(\langle O \rangle\)
EntrenamientoBackpropagation + SGDParameter-shift rule + optimizador clásico
No linealidadReLU, sigmoid, softmaxMedición colapsa el estado (intrínsecamente no lineal)

Schuld, M. & Petruccione, F. (2021). "Machine Learning with Quantum Computers". Springer.

Computación clásica vs cuántica

PropiedadComputación clásicaComputación cuántica
Unidad de informaciónBit: 0 o 1Qubit: \(\alpha|0\rangle + \beta|1\rangle\), \(|\alpha|^2 + |\beta|^2 = 1\)
OperacionesPuertas lógicas: AND, OR, NOTPuertas cuánticas unitarias: H, X, CNOT, RY
ParalelismoSecuencial (o multi-core)Superposición: \(n\) qubits → \(2^n\) amplitudes
ReversibilidadGeneralmente irreversibleSiempre reversible (excepto medición)
RuidoBits robustos, error muy bajoQubits frágiles: decoherencia, errores de puerta
Estado del arteBillones de transistores, madurez industrial~1000 qubits ruidosos (era NISQ)
VentajaGeneral-purpose, maduroProblemas específicos: factorización, simulación molecular, optimización
⚠️ La era NISQ (Noisy Intermediate-Scale Quantum): los procesadores cuánticos actuales tienen entre 50-1000+ qubits, pero son ruidosos: cada puerta cuántica introduce errores, y los qubits se decoheran (pierden su estado cuántico) en microsegundos. Las QNNs están diseñadas para funcionar en esta era, usando circuitos cortos que completen antes de que el ruido destruya la información.

Preskill, J. (2018). "Quantum Computing in the NISQ era and beyond". Quantum 2, 79.

Historia de las redes neuronales cuánticas

1982 Feynman propone simul. cuántica 1994 Shor factorización 1996 Grover búsqueda 2014 VQE Peruzzo et al. 2018 QNN / VQC Farhi, Mitarai, Schuld, Havlíček 2019 Supremacía Q Google Sycamore 2020+ Era QML PennyLane, TFQ, Qiskit ML, QCNN 2023+ Error corr. Google Willow IBM Condor
  • 1982 — Feynman: propone que solo un ordenador cuántico puede simular eficientemente sistemas cuánticos.
  • 1994 — Algoritmo de Shor: factorización en tiempo polinomial cuántico → amenaza a RSA.
  • 1996 — Algoritmo de Grover: búsqueda en base de datos no ordenada en \(O(\sqrt{N})\) vs \(O(N)\).
  • 2014 — VQE (Variational Quantum Eigensolver): primer algoritmo variacional cuántico práctico para química.
  • 2018 — Explosión de QML: Farhi & Neven proponen QNNs para clasificación; Mitarai et al. QCL; Havlíček et al. quantum feature maps; Schuld et al. quantum kernels.
  • 2019 — Supremacía cuántica: Google Sycamore (53 qubits) resuelve un problema en 200s que tardaría 10,000 años en un supercomputador clásico.
  • 2020+ — Frameworks: PennyLane (Xanadu), TensorFlow Quantum (Google), Qiskit Machine Learning (IBM).
  • 2023+ — Corrección de errores: Google demuestra que más qubits = menos errores (below threshold). IBM Condor (1121 qubits).

¿Para qué sirven las QNNs?

Las redes neuronales cuánticas no pretenden reemplazar a las redes clásicas en todas las tareas. Su potencial está en problemas donde la estructura cuántica del espacio de Hilbert ofrece ventaja expresiva o computacional.

⚗️
Simulación molecular
Calcular estados fundamentales de moléculas, energías de enlace y reacciones químicas. VQE y variantes para química cuántica.
💊
Descubrimiento de fármacos
Modelar interacciones moleculares cuánticamente para diseñar fármacos. Potencial para simular proteínas que los ordenadores clásicos no pueden.
📊
Optimización combinatoria
Problemas NP-hard: rutas, scheduling, portfolio. QAOA (Quantum Approximate Optimization Algorithm) para encontrar soluciones aproximadas.
🔐
Criptografía
Generación de números aleatorios cuánticos (QRNG), distribución cuántica de claves (QKD), y criptografía post-cuántica.
🧬
Datos cuánticos
Clasificación de estados cuánticos, tomografía cuántica, error correction. Aquí las QNNs tienen ventaja intrínseca: los datos ya son cuánticos.
💰
Finanzas
Pricing de derivados, optimización de portfolios, análisis de riesgo Monte Carlo cuántico. JPMorgan, Goldman Sachs investigan activamente.
🤖
QML con datos clásicos
Clasificación, regresión, generación con datos clásicos codificados en estados cuánticos. Ventaja no demostrada aún para datos genéricos.
🧲
Física de materia condensada
Simulación de materiales cuánticos, superconductores, fases topológicas. La aplicación más natural de la computación cuántica.

🤔 ¿Cuándo tiene sentido usar QNNs?

  • Datos intrínsecamente cuánticos: tomografía de estados, control cuántico → ventaja clara.
  • Problemas con estructura cuántica: simulación molecular, materiales → ventaja esperada.
  • Datos clásicos + alta dimensionalidad: kernel methods cuánticos en espacios de Hilbert exponenciales → ventaja posible pero no probada.
  • Datos clásicos + datasets grandes: las redes clásicas probablemente ganan. Las QNNs actuales están limitadas a ~30 qubits y datasets pequeños.

Taxonomía de enfoques de QML

Quantum Machine Learning Variacionales (VQC) VQE (química) QAOA (optim.) QNN (clasif.) Quantum Kernels QSVM Quantum kernel estimation Quantum-enhanced classical Q sampling QGAN, QBOLT VQC = Variational Quantum Circuit · QAOA = Quantum Approximate Optimization · VQE = Variational Quantum Eigensolver QSVM = Quantum Support Vector Machine · QGAN = Quantum GAN · QBOLT = Quantum Boltzmann Machine
En este módulo nos centramos en los enfoques variacionales (VQC/QNN), que son los más relevantes para deep learning y los que tienen mayor actividad investigadora en la era NISQ. Los quantum kernels son importantes teóricamente, pero los VQC ofrecen mayor flexibilidad y paralelismo con las redes neuronales clásicas.

El qubit: la unidad fundamental

Un qubit (quantum bit) es la unidad básica de información cuántica. A diferencia del bit clásico (0 o 1), un qubit puede existir en una superposición de ambos estados:

$$|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$$

Donde \(\alpha, \beta \in \mathbb{C}\) son amplitudes de probabilidad que satisfacen la normalización:

$$|\alpha|^2 + |\beta|^2 = 1$$

🔮 Interpretación física

  • \(|0\rangle\) y \(|1\rangle\) son los estados base (computational basis).
  • \(|\alpha|^2\) = probabilidad de medir \(|0\rangle\); \(|\beta|^2\) = probabilidad de medir \(|1\rangle\).
  • Al medir, el qubit colapsa a \(|0\rangle\) o \(|1\rangle\). La superposición se destruye.
  • Las amplitudes son números complejos: \(\alpha = r_\alpha e^{i\phi_\alpha}\). La fase relativa entre \(\alpha\) y \(\beta\) es crucial para la interferencia.

La esfera de Bloch

Todo estado de un qubit puede representarse como un punto en la esfera de Bloch, una esfera unitaria en 3D:

$$|\psi\rangle = \cos\frac{\theta}{2}|0\rangle + e^{i\phi}\sin\frac{\theta}{2}|1\rangle$$
|0⟩ |1⟩ x z |ψ⟩ θ |+⟩ |−⟩
Estados especiales:
• \(|0\rangle\) = polo norte (θ=0) · \(|1\rangle\) = polo sur (θ=π)
• \(|+\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)\) = ecuador (50/50 probabilidad)
• \(|-\rangle = \frac{1}{\sqrt{2}}(|0\rangle - |1\rangle)\) = ecuador opuesto (también 50/50, pero fase diferente)
• \(|+\rangle\) y \(|-\rangle\) dan la misma distribución de medida en la base Z, pero son estados completamente distintos.

Puertas cuánticas

Las puertas cuánticas son operaciones unitarias que transforman el estado de los qubits. Son el equivalente de las puertas lógicas clásicas, pero siempre reversibles (toda puerta \(U\) tiene inversa \(U^\dagger\)).

Puertas de un qubit

PuertaMatrizEfectoEn Bloch
X (NOT) \(\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\) \(|0\rangle \leftrightarrow |1\rangle\) Rotación π alrededor de X
Z \(\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}\) Cambia la fase de \(|1\rangle\) Rotación π alrededor de Z
H (Hadamard) \(\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\) \(|0\rangle \to |+\rangle\), \(|1\rangle \to |-\rangle\) Crea superposición
RY(θ) \(\begin{pmatrix} \cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\ \sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{pmatrix}\) Rotación θ alrededor de Y Parametrizada: clave en QNNs
RZ(φ) \(\begin{pmatrix} e^{-i\phi/2} & 0 \\ 0 & e^{i\phi/2} \end{pmatrix}\) Rotación φ alrededor de Z Parametrizada: codifica fase
🔑 Puertas parametrizadas: \(R_Y(\theta)\) y \(R_Z(\phi)\) son las puertas con parámetros entrenables de una QNN. Son el equivalente cuántico de los pesos de una red neuronal. Durante el entrenamiento, un optimizador clásico ajusta estos ángulos \(\theta_i\) para minimizar la función de pérdida.

Puertas de dos qubits

PuertaEfectoImportancia
CNOT (CX) Si el control es \(|1\rangle\), aplica X al target. \(|10\rangle \to |11\rangle\) Crea entrelazamiento. Fundamental en todos los circuitos cuánticos.
CZ Si ambos son \(|1\rangle\), aplica fase -1. \(|11\rangle \to -|11\rangle\) Entrelazamiento por fase. Popular en hardware superconductor.
SWAP Intercambia el estado de dos qubits. Necesaria cuando qubits no están conectados físicamente.

Ejemplo de circuito cuántico

q₀ q₁ |0⟩ |0⟩ H (θ₁) Rᴢ (θ₂) (θ₃) M M → c₀ → c₁ H = Hadamard · Rʏ/Rᴢ(θ) = rotaciones parametrizadas · ⊕ = CNOT · M = medición

Superposición en detalle

La superposición permite a un qubit estar en una combinación lineal de \(|0\rangle\) y \(|1\rangle\). Para \(n\) qubits, el estado general es:

$$|\psi\rangle = \sum_{i=0}^{2^n - 1} \alpha_i |i\rangle, \quad \sum_{i=0}^{2^n-1} |\alpha_i|^2 = 1$$

📊 Escala exponencial

QubitsEstados baseAmplitudes (complejas)Equivalencia clásica
122 números complejosTrivial
101,0241,024 complejosVector pequeño
20~1 millón~1M complejos~16 MB RAM
30~1,000 millones~1B complejos~16 GB RAM
50~1015~1015 complejos~16 PB RAM ⚠️
300~1090~1090 complejosMás que átomos en el universo

💡 Esto es la raíz de la potencia cuántica: con solo 300 qubits, el espacio de estados es más grande que el número de átomos en el universo observable. Pero ojo: no podemos leer todas esas amplitudes — al medir solo obtenemos un resultado. El arte está en manipular las amplitudes para que la respuesta correcta sea probable.

🔮 Widget: Explorador de estado de un qubit

Ajusta los ángulos \(\theta\) y \(\phi\) para ver cómo cambia el estado del qubit.

Entrelazamiento cuántico

El entrelazamiento es el fenómeno más "extraño" de la mecánica cuántica y el recurso más poderoso de la computación cuántica. Dos qubits están entrelazados cuando su estado no puede describirse como el producto de estados individuales.

Estado de Bell (máximamente entrelazado):
$$|\Phi^+\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)$$

Si mides el primer qubit y obtienes \(|0\rangle\), el segundo instantáneamente colapsa a \(|0\rangle\). Si obtienes \(|1\rangle\), el segundo es \(|1\rangle\). Siempre están correlacionados, sin importar la distancia entre ellos.

⚠️ No se puede usar para enviar información más rápido que la luz — la medición da un resultado aleatorio. Pero sí es un recurso computacional: permite correlaciones que ningún sistema clásico puede reproducir.

🔗 ¿Por qué importa el entrelazamiento en QNNs?

  • Expresividad: los circuitos con entrelazamiento pueden representar funciones que los circuitos sin él no pueden (análogo a tener capas profundas vs una sola capa).
  • Correlaciones: las puertas CNOT/CZ crean entrelazamiento entre qubits, permitiendo capturar correlaciones entre features del input.
  • Ventaja cuántica: se cree que el entrelazamiento es necesario (no suficiente) para obtener ventaja cuántica computacional.

Horodecki, R. et al. (2009). "Quantum entanglement". Rev. Mod. Phys. 81, 865.

Medición cuántica

La medición es el proceso por el cual extraemos información clásica de un estado cuántico. Es fundamentalmente probabilístico e irreversible.

1
Antes de medir: el qubit está en superposición \(|\psi\rangle = \alpha|0\rangle + \beta|1\rangle\).
2
Al medir: el estado colapsa a \(|0\rangle\) con probabilidad \(|\alpha|^2\), o a \(|1\rangle\) con probabilidad \(|\beta|^2\).
3
Después de medir: el qubit está definitivamente en el estado medido. La superposición se ha destruido irreversiblemente.
4
Valores esperados: para obtener probabilidades o valores esperados, necesitamos ejecutar el circuito muchas veces (shots) y promediar.
⚡ En QNNs, la salida es un valor esperado:
$$\hat{y} = \langle\psi(\theta)|O|\psi(\theta)\rangle$$

Donde \(O\) es un observable (típicamente una puerta Pauli Z). El valor esperado de Z para un qubit en estado \(\alpha|0\rangle + \beta|1\rangle\) es: \(\langle Z \rangle = |\alpha|^2 - |\beta|^2 \in [-1, 1]\). Esto es la "predicción" de la QNN, análogo a la salida de una red clásica.

¿Cómo se fabrican los qubits?

🧊
Superconductores
IBM, Google, Rigetti. Circuitos de aluminio enfriados a ~15 mK. Tiempos de coherencia ~100 μs. La tecnología más madura. Google Sycamore (53q), IBM Condor (1121q).
Iones atrapados
IonQ, Quantinuum. Átomos individuales suspendidos por campos electromagnéticos. Muy alta fidelidad (~99.9%). Conectividad total entre qubits.
💡
Fotónicos
Xanadu, PsiQuantum. Qubits codificados en fotones. Operan a temperatura ambiente. Difícil hacer puertas de dos qubits deterministas.
🔬
Topológicos
Microsoft. Basados en anyones no abelianos (Majorana). Protección intrínseca contra errores. Todavía en fase experimental temprana.

Notación de Dirac (bra-ket)

La notación de Dirac es el lenguaje estándar de la mecánica cuántica. Es compacta y elegante para expresar estados, operadores y productos internos.

NotaciónNombreObjeto matemáticoEjemplo
\(|\psi\rangle\)KetVector columna en \(\mathbb{C}^n\)\(|0\rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix}\)
\(\langle\psi|\)BraVector fila (conjugado transpuesto)\(\langle 0| = \begin{pmatrix} 1 & 0 \end{pmatrix}\)
\(\langle\phi|\psi\rangle\)BraketProducto interno (escalar)\(\langle 0|1\rangle = 0\) (ortogonales)
\(|\phi\rangle\langle\psi|\)Outer productOperador (matriz)\(|0\rangle\langle 0| = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}\)
\(\langle\psi|A|\psi\rangle\)Valor esperadoEscalar real (para A hermítico)\(\langle\psi|Z|\psi\rangle = |\alpha|^2 - |\beta|^2\)
Base computacional para \(n\) qubits:
$$\{|0\rangle, |1\rangle\}^{\otimes n} = \{|00\ldots0\rangle, |00\ldots1\rangle, \ldots, |11\ldots1\rangle\}$$

Para 2 qubits: \(\{|00\rangle, |01\rangle, |10\rangle, |11\rangle\}\) — 4 estados base. Para 3 qubits: 8 estados base. Para \(n\) qubits: \(2^n\) estados base.

Espacios de Hilbert

Los estados cuánticos viven en un espacio de Hilbert \(\mathcal{H}\): un espacio vectorial complejo con producto interno, completo bajo la norma inducida.

📐 Propiedades del espacio de Hilbert cuántico

  • 1 qubit: \(\mathcal{H} = \mathbb{C}^2\) — espacio bidimensional complejo.
  • \(n\) qubits: \(\mathcal{H} = (\mathbb{C}^2)^{\otimes n} = \mathbb{C}^{2^n}\) — dimensión exponencial.
  • Producto interno: \(\langle\phi|\psi\rangle = \sum_i \phi_i^* \psi_i\) (conjugado complejo).
  • Normalización: todos los estados cuánticos tienen \(\langle\psi|\psi\rangle = 1\).
  • Ortogonalidad: \(\langle 0|1\rangle = 0\). Los estados base son ortonormales.
🔑 Relevancia para QNNs: una QNN opera en un espacio de Hilbert de dimensión \(2^n\). Con 20 qubits, la QNN trabaja en un espacio de \(\sim 10^6\) dimensiones. Esto es lo que da a las QNNs su potencial expresividad exponencial: con pocos parámetros (ángulos de rotación), pueden representar funciones en espacios de muy alta dimensión.

Transformaciones unitarias

Toda evolución cuántica (excepto la medición) es una transformación unitaria: una operación que preserva la norma del estado.

$$|\psi'\rangle = U|\psi\rangle, \quad U^\dagger U = UU^\dagger = I$$
PropiedadTransformación unitariaTransformación clásica (red neuronal)
ReversibilidadSiempre reversible: \(U^{-1} = U^\dagger\)Generalmente irreversible (ReLU pierde información)
Preservación de normaSí: \(\langle\psi'|\psi'\rangle = \langle\psi|\psi\rangle = 1\)No necesariamente
LinealidadSiempre linealNo lineal (activaciones)
DeterminismoDeterminista (hasta la medición)Determinista
Composición\(U_{total} = U_L \cdots U_2 U_1\) (producto de matrices)\(f = f_L \circ \cdots \circ f_2 \circ f_1\)

⚡ Puertas cuánticas como unitarios

Cada puerta cuántica es una matriz unitaria. Un circuito cuántico completo es el producto matricial de todas sus puertas:

$$U(\theta) = U_L(\theta_L) \cdot U_{L-1}(\theta_{L-1}) \cdots U_2(\theta_2) \cdot U_1(\theta_1)$$

Donde cada \(U_i(\theta_i)\) es una puerta parametrizada (como \(R_Y(\theta_i)\)). El circuito completo es una gran matriz unitaria de dimensión \(2^n \times 2^n\).

Producto tensorial

El producto tensorial \(\otimes\) combina los espacios de Hilbert de qubits individuales en el espacio del sistema completo.

$$|01\rangle = |0\rangle \otimes |1\rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix} \otimes \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}$$
EstadoDecimalVector¿Separable?
\(|00\rangle\)0\((1,0,0,0)^T\)Sí: \(|0\rangle \otimes |0\rangle\)
\(|01\rangle\)1\((0,1,0,0)^T\)Sí: \(|0\rangle \otimes |1\rangle\)
\(|10\rangle\)2\((0,0,1,0)^T\)Sí: \(|1\rangle \otimes |0\rangle\)
\(|11\rangle\)3\((0,0,0,1)^T\)Sí: \(|1\rangle \otimes |1\rangle\)
\(\frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)\)\(\frac{1}{\sqrt{2}}(1,0,0,1)^T\)No: entrelazado (Bell)

Un estado separable puede escribirse como \(|\psi\rangle = |a\rangle \otimes |b\rangle\). Un estado entrelazado no admite esta descomposición.

Matrices de densidad

La matriz de densidad \(\rho\) es una representación más general del estado cuántico que permite describir estados mixtos (mezclas estadísticas de estados puros, como los que resultan del ruido).

$$\rho = |\psi\rangle\langle\psi| \quad \text{(estado puro)}$$
$$\rho = \sum_i p_i |\psi_i\rangle\langle\psi_i| \quad \text{(estado mixto, } \sum_i p_i = 1\text{)}$$
PropiedadEstado puroEstado mixto
Pureza \(\text{Tr}(\rho^2)\)= 1< 1
Entropía de von Neumann0> 0
Representación en BlochSuperficie de la esferaInterior de la esfera
CausaEstado cuántico perfectoRuido, decoherencia, trazado parcial
⚠️ Relevancia práctica: en hardware cuántico real, los qubits siempre sufren decoherencia y errores de puerta. Los estados que realmente se preparan son estados mixtos, no puros. Las matrices de densidad son esenciales para modelar el ruido en simulaciones realistas de QNNs.

Operadores de Pauli

Los operadores de Pauli son la base de las operaciones cuánticas y las mediciones. Toda puerta de un qubit puede descomponerse en Paulis.

OperadorMatrizEfecto en BlochAutovaloresUso en QNN
I (identidad) \(\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}\) No hacer nada +1, +1 Estado base del circuito
X (Pauli-X) \(\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\) Rotación π alrededor de X +1, −1 Bit-flip, NOT cuántico
Y (Pauli-Y) \(\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}\) Rotación π alrededor de Y +1, −1 Bit-flip + phase-flip
Z (Pauli-Z) \(\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}\) Rotación π alrededor de Z +1, −1 Observable de medición más común

📏 Las Pauli como generadores de rotaciones

Las puertas parametrizadas de las QNNs son rotaciones generadas por Pauli:

$$R_X(\theta) = e^{-i\theta X/2}, \quad R_Y(\theta) = e^{-i\theta Y/2}, \quad R_Z(\theta) = e^{-i\theta Z/2}$$

Esto conecta directamente con la parameter-shift rule para calcular gradientes: como los generadores son Pauli (autovalores ±1), el gradiente tiene una fórmula exacta cerrada.

Parameter-shift rule: gradientes en QNNs

En redes clásicas usamos backpropagation para calcular gradientes. En QNNs, no podemos hacer backprop porque el estado cuántico no es directamente accesible. En su lugar, usamos la parameter-shift rule:

Parameter-Shift Rule:
$$\frac{\partial}{\partial \theta_i} f(\theta) = \frac{f(\theta_i + s) - f(\theta_i - s)}{2\sin(s)}$$

Donde \(s = \pi/2\) para puertas con generador Pauli. En la práctica:

$$\frac{\partial f}{\partial \theta_i} = \frac{f\left(\theta_i + \frac{\pi}{2}\right) - f\left(\theta_i - \frac{\pi}{2}\right)}{2}$$

Ejecutamos el circuito dos veces (con θ+π/2 y θ−π/2) para obtener el gradiente exacto de cada parámetro. No es una aproximación numérica.

⚖️ Comparación: gradientes clásicos vs cuánticos

AspectoBackpropagation (clásico)Parameter-shift rule (cuántico)
MecanismoChain rule, propagación hacia atrásEvaluación del circuito con parámetros desplazados
Coste por parámetroO(1) (eficiente, una pasada)2 ejecuciones del circuito por parámetro
Coste totalO(L) para L capasO(P) para P parámetros (2P ejecuciones)
ExactitudExacto (analítico)Exacto en teoría, ruidoso en hardware real
RequisitosAcceso al grafo computacionalSolo acceso a la salida del circuito

Mitarai, K. et al. (2018). "Quantum circuit learning". Phys. Rev. A 98, 032309.

Schuld, M. et al. (2019). "Evaluating analytic gradients on quantum hardware". Phys. Rev. A 99, 032331.

📐 Widget: Calculadora de gradiente (parameter-shift)

Simula el cálculo de gradiente para una rotación \(R_Y(\theta)\) sobre \(|0\rangle\), midiendo \(\langle Z \rangle\).

Circuitos cuánticos parametrizados (PQC)

Un Parameterized Quantum Circuit (PQC) o Variational Quantum Circuit (VQC) es un circuito cuántico cuyos ángulos de rotación son parámetros entrenables, ajustados por un optimizador clásico. Es el corazón de toda QNN.

1
Inicialización: todos los qubits comienzan en \(|0\rangle^{\otimes n}\).
2
Feature map (encoding): codifica los datos clásicos \(x\) en el estado cuántico usando rotaciones: \(S(x)|0\rangle\).
3
Ansatz (capas variacionales): aplica puertas parametrizadas \(W(\theta)\) con entrelazamiento: rotaciones + CNOTs.
4
Medición: mide un observable \(O\) (típicamente Pauli-Z) para obtener \(\hat{y} = \langle\psi|O|\psi\rangle\).
5
Función de pérdida: calcula \(L(\hat{y}, y)\) clásicamente (MSE, cross-entropy, etc.).
6
Optimización: usa parameter-shift rule para calcular \(\nabla_\theta L\) y actualiza \(\theta\) con un optimizador clásico (Adam, SGD).
|0⟩ |0⟩ |0⟩ |0⟩ ENCODING S(x) Rʏ(x₁) Rʏ(x₂) Rʏ(x₃) Rʏ(x₄) LAYER 1 W(θ) Rᴢ(θ₁) Rᴢ(θ₂) Rᴢ(θ₃) Rᴢ(θ₄) Rʏ(θ₅) Rʏ(θ₆) Rʏ(θ₇) Rʏ(θ₈) LAYER 2 ... ··· M → ⟨Z⟩ = ŷ L(ŷ, y) → ∇θL → optimizador clásico → actualizar θ

Feature maps: codificación de datos clásicos

El feature map (o encoding) transforma datos clásicos \(x \in \mathbb{R}^n\) en estados cuánticos \(|\phi(x)\rangle\). La elección del encoding es crucial y afecta directamente a la expresividad del modelo.

EncodingMétodoCircuitoVentajas / Desventajas
Angle encoding \(x_i \to R_Y(x_i)|0\rangle\) 1 puerta por feature, 1 qubit por feature ✅ Simple · ❌ Necesita \(n\) qubits para \(n\) features
Amplitude encoding \(x \to \sum_i x_i|i\rangle\) Codifica \(2^n\) features en \(n\) qubits ✅ Exponencialmente compacto · ❌ Circuito de preparación costoso
IQP encoding \(H^{\otimes n} \cdot U_Z(x) \cdot H^{\otimes n}\) Hadamard + rotaciones Z con interacciones ✅ Mapea a espacio de kernel exponencial · ❌ Más profundo
Data re-uploading Repetir encoding en cada capa \(W(\theta_L)S(x) \cdots W(\theta_1)S(x)\) ✅ Mayor expresividad · ❌ Circuito más largo
🔑 Data re-uploading: Pérez-Salinas et al. (2020) demostraron que un solo qubit con data re-uploading (repetir el encoding en múltiples capas) es un aproximador universal — equivalente al teorema de aproximación universal de las redes clásicas. Esto hace el data re-uploading el encoding más popular en la práctica.

Pérez-Salinas, A. et al. (2020). "Data re-uploading for a universal quantum classifier". Quantum 4, 226.

Diseño del ansatz

El ansatz es la arquitectura del circuito variacional: la secuencia de puertas parametrizadas y entrelazamiento que forma las "capas" de la QNN. Es el equivalente cuántico de elegir la arquitectura de una red neuronal.

🏗️
Hardware-efficient ansatz
Diseñado para el hardware específico: usa solo puertas nativas y conectividad real del procesador. Minimiza la profundidad del circuito.
Kandala et al. (2017)
🧪
Chemistry-inspired (UCCSD)
Basado en la estructura del problema (excitaciones de electrones). Usado en VQE para química cuántica. Físicamente motivado pero circuito largo.
🔄
Strongly entangling layers
Capas de rotaciones (RX, RY, RZ) seguidas de CNOTs entre todos los pares de qubits. Alta expresividad, alta profundidad.
📐
Tensor network ansatz
Inspirado en redes tensoriales (MERA, MPS). Estructura jerárquica de entrelazamiento. Conecta con QCNN (Quantum Convolutional NN).

Barren plateaus: el gran desafío

Los barren plateaus son el mayor problema teórico de las QNNs. Son regiones del paisaje de pérdida donde los gradientes se desvanecen exponencialmente con el número de qubits — análogo al vanishing gradient en redes clásicas profundas, pero mucho peor.

⚠️ Teorema de McClean et al. (2018):
$$\text{Var}\left[\frac{\partial L}{\partial \theta_i}\right] \leq \frac{1}{2^n}$$

Para circuitos aleatorios suficientemente profundos con \(n\) qubits, la varianza del gradiente decrece exponencialmente. Con 20 qubits, el gradiente típico es \(\sim 10^{-6}\). Con 50, \(\sim 10^{-15}\). El entrenamiento se vuelve imposible.

🛡️ Estrategias contra barren plateaus

EstrategiaIdeaEfecto
Circuitos poco profundosLimitar la profundidad del ansatzGradientes mayores, pero menor expresividad
Inicialización localIniciar \(\theta \approx 0\) (identidad)Evita la región de plateau en la inicialización
Entrelazamiento controladoNo entrelazar todo con todoLa conectividad local previene plateaus
Layer-wise trainingEntrenar capa por capaAnálogo a greedy pre-training en DL clásico
Cost function localUsar observables que actúan en pocos qubitsLos observables globales causan plateaus
Quantum natural gradientUsar la métrica de Fubini-StudyMejor dirección de descenso, pero costoso

McClean, J. R. et al. (2018). "Barren plateaus in quantum neural network training landscapes". Nature Communications 9, 4812.

🏔️ Widget: Visualizador de barren plateaus

Observa cómo la varianza del gradiente decae exponencialmente con el número de qubits.

Expresividad y ventaja cuántica

La expresividad de un circuito cuántico mide qué fracción del espacio de estados unitarios puede alcanzar al variar sus parámetros. La ventaja cuántica en ML se refiere a si una QNN puede resolver un problema más eficientemente que cualquier modelo clásico.

🧪 Estado actual del debate sobre ventaja cuántica en ML

  • Ventaja demostrada (teórica): existen funciones y distribuciones que las QNNs pueden representar eficientemente y que cualquier red clásica necesitaría tamaño exponencial. Pero estos problemas son artificiales.
  • Ventaja práctica: no demostrada para problemas reales con datos clásicos. Las redes clásicas modernas son extremadamente potentes y escalables.
  • Datos cuánticos: aquí la ventaja es más clara. Las QNNs procesan datos cuánticos naturalmente; un modelo clásico necesitaría reconstruir el estado cuántico primero.
  • Kernel advantage: Huang et al. (2021) demostraron ventaja cuántica con quantum kernels para un problema de clasificación diseñado — pero requería datos con estructura cuántica.

Huang, H.-Y. et al. (2021). "Power of data in quantum machine learning". Nature Communications 12, 2631.

Schuld, M. (2021). "Supervised quantum machine learning models are kernel methods". arXiv:2101.11020.

Funciones de coste en VQC

La función de coste de una QNN combina la salida cuántica (valores esperados) con métricas de pérdida clásicas.

TareaSalida cuánticaFunción de coste
Clasificación binaria \(\hat{y} = \langle Z_0 \rangle \in [-1, 1]\) Hinge loss, MSE con labels ±1, o cross-entropy tras sigmoid
Clasificación multiclase \(\hat{y}_k = \langle Z_k \rangle\) para \(k\) qubits Softmax + cross-entropy sobre los valores esperados
Regresión \(\hat{y} = \langle O \rangle\) (escalado al rango de \(y\)) MSE: \(\frac{1}{N}\sum_i (y_i - \hat{y}_i)^2\)
VQE (química) \(E(\theta) = \langle\psi(\theta)|H|\psi(\theta)\rangle\) Minimizar la energía (el hamiltoniano molecular)
QAOA (optimización) \(\langle C \rangle\) (hamiltoniano de coste) Maximizar la función objetivo combinatoria

Modelos híbridos clásico-cuánticos

En la era NISQ, los modelos prácticos son híbridos: combinan capas clásicas (redes neuronales) con capas cuánticas (circuitos parametrizados). El procesamiento pesado lo hace la parte clásica; la parte cuántica aporta expresividad en espacios de alta dimensión.

Pre-proceso clásico CNN / MLP reduce dim. a n qubits Capa cuántica S(x) · W(θ) · Medición VQC parametrizado n qubits, L capas → ⟨Z₁⟩, ⟨Z₂⟩, ..., ⟨Zₖ⟩ Post-proceso clásico Dense layer → softmax → clase Predicción ŷ = P(clase) Modelo híbrido: clásico (reducción) → cuántico (VQC) → clásico (decisión)

⚙️ Ventajas del enfoque híbrido

  • Reducción de dimensionalidad: capas clásicas reducen las features a \(n\) valores (uno por qubit), evitando el cuello de botella del encoding.
  • End-to-end differentiable: frameworks como PennyLane permiten backprop a través de capas clásicas + parameter-shift en capas cuánticas.
  • NISQ-friendly: circuitos cuánticos cortos (pocos qubits, poca profundidad) combinados con procesamiento clásico potente.
  • Transfer learning cuántico: usar un modelo clásico pre-entrenado (ResNet, etc.) y reemplazar la última capa por un circuito cuántico.

QCNN — Quantum Convolutional Neural Network

La QCNN (Cong et al., 2019) adapta la estructura de las CNN clásicas al dominio cuántico. Usa capas convolucionales cuánticas (puertas de 2 qubits locales) seguidas de pooling cuántico (medir y descartar qubits).

C
Capa convolucional: aplica puertas unitarias de 2 qubits entre vecinos. Los parámetros son compartidos (weight sharing cuántico). Equivale a los filtros de una CNN.
P
Pooling cuántico: mide la mitad de los qubits y usa el resultado para condicionar una puerta sobre los restantes. Reduce el número de qubits a la mitad (como max-pool).
F
Capa fully-connected: al final, quedan pocos qubits. Se aplican rotaciones generales y se mide para la clasificación.
🔑 Ventajas de QCNN:
  • Estructura jerárquica → no sufre barren plateaus (gradientes no se desvanecen exponencialmente).
  • Número de parámetros escala como \(O(\log n)\) con \(n\) qubits.
  • Especialmente útil para clasificar fases cuánticas de la materia.

Cong, I. et al. (2019). "Quantum Convolutional Neural Networks". Nature Physics 15, 1273.

Quantum Transfer Learning

Quantum Transfer Learning (Mari et al., 2020) combina un modelo clásico pre-entrenado con una capa cuántica de fine-tuning:

1
Modelo pre-entrenado: tomar un modelo clásico (ResNet-18, VGG, etc.) entrenado en ImageNet. Eliminar la última capa FC.
2
Reducción: añadir una capa densa que reduce las features a \(n\) valores (uno por qubit).
3
Capa cuántica: codificar los \(n\) valores en qubits, aplicar VQC con parámetros entrenables, medir.
4
Entrenamiento: congelar el backbone clásico. Entrenar solo la capa cuántica (pocos parámetros). Backprop clásico + parameter-shift cuántico.

Mari, A. et al. (2020). "Transfer learning in hybrid classical-quantum neural networks". Quantum 4, 340.

Implementación: QNN con PennyLane + PyTorch

PennyLane (Xanadu) es el framework más popular para QML. Se integra nativamente con PyTorch y TensorFlow, permitiendo crear modelos híbridos end-to-end differentiable.

import pennylane as qml
import torch
import torch.nn as nn
import numpy as np
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler

# ─── 1. Configurar dispositivo cuántico ───
n_qubits = 4
n_layers = 3
dev = qml.device("default.qubit", wires=n_qubits)

# ─── 2. Definir el circuito cuántico ───
@qml.qnode(dev, interface="torch", diff_method="parameter-shift")
def quantum_circuit(inputs, weights):
    """Circuito cuántico parametrizado con data re-uploading."""
    for layer in range(n_layers):
        # Encoding: codificar datos en rotaciones
        for i in range(n_qubits):
            qml.RY(inputs[i], wires=i)

        # Ansatz: rotaciones parametrizadas
        for i in range(n_qubits):
            qml.RY(weights[layer, i, 0], wires=i)
            qml.RZ(weights[layer, i, 1], wires=i)

        # Entrelazamiento: CNOT en cadena
        for i in range(n_qubits - 1):
            qml.CNOT(wires=[i, i + 1])
        qml.CNOT(wires=[n_qubits - 1, 0])  # Circular

    # Medición: valor esperado de Pauli-Z en qubit 0
    return qml.expval(qml.PauliZ(0))

# ─── 3. Modelo híbrido PyTorch ───
class HybridQNN(nn.Module):
    def __init__(self):
        super().__init__()
        # Pesos cuánticos: (n_layers, n_qubits, 2 rotaciones)
        weight_shapes = {"weights": (n_layers, n_qubits, 2)}
        self.q_layer = qml.qnn.TorchLayer(quantum_circuit, weight_shapes)

        # Post-procesamiento clásico
        self.classical = nn.Sequential(
            nn.Linear(1, 2),  # 1 valor esperado → 2 clases
            nn.Softmax(dim=-1)
        )

    def forward(self, x):
        # x: (batch_size, 4)
        q_out = self.q_layer(x).unsqueeze(-1)  # (batch, 1)
        return self.classical(q_out)

# ─── 4. Datos: Iris (solo 2 clases) ───
iris = load_iris()
X = iris.data[iris.target < 2]  # Solo clases 0 y 1
y = iris.target[iris.target < 2]

scaler = MinMaxScaler(feature_range=(0, np.pi))
X = scaler.fit_transform(X)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
X_train = torch.FloatTensor(X_train)
y_train = torch.LongTensor(y_train)
X_test = torch.FloatTensor(X_test)
y_test = torch.LongTensor(y_test)

# ─── 5. Entrenamiento ───
model = HybridQNN()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
loss_fn = nn.CrossEntropyLoss()

for epoch in range(50):
    optimizer.zero_grad()
    y_pred = model(X_train)
    loss = loss_fn(y_pred, y_train)
    loss.backward()  # Backprop clásico + parameter-shift cuántico
    optimizer.step()

    if (epoch + 1) % 10 == 0:
        acc = (y_pred.argmax(dim=1) == y_train).float().mean()
        print(f"Epoch {epoch+1}: loss={loss.item():.4f}, acc={acc:.3f}")

# ─── 6. Evaluación ───
with torch.no_grad():
    y_pred_test = model(X_test)
    test_acc = (y_pred_test.argmax(dim=1) == y_test).float().mean()
    print(f"\nTest accuracy: {test_acc:.3f}")
import tensorflow as tf
import tensorflow_quantum as tfq
import cirq
import sympy
import numpy as np
from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler

# ─── 1. Definir qubits ───
n_qubits = 4
qubits = cirq.GridQubit.rect(1, n_qubits)

# ─── 2. Crear circuito parametrizado ───
def create_qnn_circuit(n_layers=3):
    """Crear circuito VQC con Cirq."""
    params = sympy.symbols(f'theta0:{n_layers * n_qubits * 2}')
    circuit = cirq.Circuit()
    idx = 0

    for layer in range(n_layers):
        # Rotaciones parametrizadas
        for i, qubit in enumerate(qubits):
            circuit.append(cirq.ry(params[idx]).on(qubit))
            idx += 1
            circuit.append(cirq.rz(params[idx]).on(qubit))
            idx += 1

        # Entrelazamiento CNOT en cadena
        for i in range(n_qubits - 1):
            circuit.append(cirq.CNOT(qubits[i], qubits[i + 1]))

    return circuit, list(params)

# ─── 3. Encoding de datos en circuito ───
def encode_data(X):
    """Codificar datos clásicos en circuitos cuánticos."""
    circuits = []
    for x in X:
        circuit = cirq.Circuit()
        for i, qubit in enumerate(qubits):
            circuit.append(cirq.ry(float(x[i])).on(qubit))
        circuits.append(circuit)
    return tfq.convert_to_tensor(circuits)

# ─── 4. Construir modelo ───
vqc, params = create_qnn_circuit(n_layers=3)
readout_op = cirq.Z(qubits[0])  # Medir qubit 0

model = tf.keras.Sequential([
    tf.keras.layers.Input(shape=(), dtype=tf.string),
    tfq.layers.PQC(vqc, readout_op),
    tf.keras.layers.Dense(2, activation='softmax')
])

model.compile(
    optimizer=tf.keras.optimizers.Adam(0.01),
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy']
)

# ─── 5. Datos ───
iris = load_iris()
X = iris.data[iris.target < 2]
y = iris.target[iris.target < 2]

scaler = MinMaxScaler(feature_range=(0, np.pi))
X_scaled = scaler.fit_transform(X)
X_circuits = encode_data(X_scaled)

# ─── 6. Entrenamiento ───
model.fit(X_circuits, y, epochs=50, batch_size=16, validation_split=0.3)

Quantum Kernels

Los quantum kernels son una alternativa a los VQC que no usa parámetros entrenables en el circuito. En su lugar, usan el circuito como un feature map para calcular un kernel en el espacio de Hilbert.

Quantum kernel trick:
$$k(x_i, x_j) = |\langle\phi(x_i)|\phi(x_j)\rangle|^2$$

El kernel cuántico mide la similitud entre dos datos en el espacio de Hilbert. Se calcula ejecutando el circuito de encoding con \(x_i\), luego el inverso con \(x_j\), y midiendo la probabilidad de obtener \(|0\rangle^{\otimes n}\).

Este kernel se usa con SVM clásica (no hay entrenamiento cuántico). El coste es calcular la matriz de kernel \(K_{ij} = k(x_i, x_j)\): \(O(N^2)\) ejecuciones del circuito para \(N\) datos.

AspectoVQC (variacional)Quantum Kernel
Parámetros entrenablesSí (ángulos θ)No (solo el encoding)
OptimizaciónGradiente cuántico iterativoSVM clásica (resolución directa)
Barren plateausSí, es un problemaNo aplica (sin gradientes cuánticos)
EscalabilidadEscala con P parámetrosEscala con N² datos (kernel matrix)
Equivalencia teóricaSchuld (2021) demostró que toda QNN supervisada es equivalente a un quantum kernel method.

Havlíček, V. et al. (2019). "Supervised learning with quantum-enhanced feature spaces". Nature 567, 209.

Entrenamiento con ruido (noise-aware)

Los procesadores cuánticos reales son ruidosos. Las QNNs deben ser robustas al ruido o el rendimiento se degrada significativamente.

Tipo de ruidoDescripciónModelo matemático
DepolarizingEl qubit se reemplaza por el estado mixto máximo con probabilidad \(p\)\(\rho \to (1-p)\rho + \frac{p}{3}(X\rho X + Y\rho Y + Z\rho Z)\)
Bit-flip\(|0\rangle \leftrightarrow |1\rangle\) con probabilidad \(p\)\(\rho \to (1-p)\rho + p \cdot X\rho X\)
Phase-flipLa fase del qubit se invierte con probabilidad \(p\)\(\rho \to (1-p)\rho + p \cdot Z\rho Z\)
Amplitude dampingEl qubit decae de \(|1\rangle\) a \(|0\rangle\) (pérdida de energía)Kraus operators con parámetro \(\gamma\)

🛡️ Técnicas de mitigación de errores

  • Zero-noise extrapolation (ZNE): ejecutar el circuito con ruido amplificado y extrapolar al caso sin ruido.
  • Probabilistic error cancellation (PEC): deshacer el efecto del ruido mediante combinaciones lineales de circuitos.
  • Noise-aware training: entrenar el VQC con el modelo de ruido del hardware real, para que los parámetros compensen el ruido.
  • Quantum Error Correction (QEC): codificar un qubit lógico en múltiples qubits físicos. Necesita ~1000 qubits físicos por qubit lógico.

Frameworks de Quantum Machine Learning

PennyLane
Xanadu. El más popular para QML. Se integra con PyTorch, TensorFlow, JAX. Diferenciación automática. Soporte para hardware real (IBM, AWS, IonQ).
pennylane.ai
🔵
Qiskit ML
IBM. Parte del ecosistema Qiskit. Quantum kernels, VQC, VQE. Acceso directo a hardware IBM Quantum (127+ qubits).
qiskit.org
🟠
TensorFlow Quantum
Google. Integración con TensorFlow + Cirq. Capas cuánticas como capas de Keras. Ideal si ya usas TF. Usa simuladores de Google.
tensorflow.org/quantum
🟣
Cirq
Google. Framework de bajo nivel para diseñar circuitos cuánticos. Base de TensorFlow Quantum. Control total sobre el circuito y ruido.
quantumai.google/cirq
🟢
Amazon Braket
AWS. Acceso a múltiples hardware (IonQ, Rigetti, OQC) desde la nube. SDK Python para diseñar y ejecutar circuitos en hardware real.
aws.amazon.com/braket
🔴
Strawberry Fields
Xanadu. Especializado en computación cuántica fotónica (variables continuas). Quantum GANs, quantum sampling, boson sampling.
strawberryfields.ai
FrameworkBackend DLHardware realIdeal para
PennyLanePyTorch, TF, JAXIBM, IonQ, Rigetti, AWSQML research, modelos híbridos
Qiskit MLPyTorch (limitado)IBM QuantumQuímica, acceso IBM hardware
TF QuantumTensorFlowGoogle (limitado)Integración con Keras pipeline
CirqGoogleCircuitos de bajo nivel, investigación

Hardware cuántico: estado del arte

CompañíaProcesadorQubitsTecnologíaHito
IBMCondor / Heron1121 / 133SuperconductorMayor chip cuántico. Roadmap a 100K+ qubits (2033).
GoogleSycamore / Willow53 / 105SuperconductorSupremacía cuántica (2019). Error correction below threshold (2024).
IonQForte Enterprise36 (algorithmic)Iones atrapadosMayor fidelidad comercial (~99.6%). Conectividad total.
QuantinuumH256Iones atrapadosQuantum volume récord. Fusión Honeywell + Cambridge QC.
XanaduBorealis216 modosFotónicoVentaja cuántica en boson sampling (2022).
Atom Computing1225Átomos neutrosMayor número de qubits individuales (2023).
MicrosoftMajorana 18 (topológicos)TopológicoPrimer chip topológico funcional (2025).
📅 Roadmap de la industria:
  • 2024-2026: era NISQ tardía. 100-1000 qubits ruidosos. QML experimental.
  • 2027-2030: primeros procesadores con corrección de errores parcial. ~10-100 qubits lógicos.
  • 2030+: era fault-tolerant. Miles de qubits lógicos. QML potencialmente útil para problemas reales.

Aplicaciones reales y experimentos

El Variational Quantum Eigensolver (VQE) es la aplicación más madura de QML. Calcula la energía del estado fundamental de moléculas preparando un ansatz cuántico y minimizando \(\langle\psi(\theta)|H|\psi(\theta)\rangle\):

  • H₂: calculada exactamente con 2 qubits (2014, Peruzzo et al.).
  • LiH, BeH₂: calculadas en hardware real IBM (2017, Kandala et al.).
  • Moléculas más grandes: requieren decenas-cientos de qubits → todavía fuera del alcance práctico del hardware NISQ.

Peruzzo, A. et al. (2014). "A variational eigenvalue solver on a photonic quantum processor". Nature Communications 5, 4213.

El Quantum Approximate Optimization Algorithm (QAOA) aborda problemas de optimización combinatoria (MaxCut, TSP, scheduling) codificándolos en hamiltonianos:

$$|\gamma, \beta\rangle = \prod_{p=1}^{P} e^{-i\beta_p H_M} e^{-i\gamma_p H_C} |+\rangle^{\otimes n}$$
  • \(H_C\): hamiltoniano de coste (codifica el problema).
  • \(H_M\): hamiltoniano mixer (explora soluciones).
  • \(P\): profundidad del circuito (más P = mejor aproximación).

Farhi, E. et al. (2014). "A Quantum Approximate Optimization Algorithm". arXiv:1411.4028.

Las QCNNs han demostrado eficacia para clasificar fases de la materia a partir de estados cuánticos — una tarea donde las QNNs tienen ventaja intrínseca porque los datos ya son cuánticos:

  • Detectar transiciones de fase topológicas.
  • Clasificar fases con simetría protegida (SPT).
  • La QCNN logra generalización perfecta con pocos datos de entrenamiento.

Cong, I. et al. (2019). "Quantum Convolutional Neural Networks". Nature Physics 15, 1273.

  • Monte Carlo cuántico: aceleración cuadrática (\(\sqrt{N}\) vs \(N\)) para pricing de derivados y análisis de riesgo.
  • Optimización de portfolios: QAOA para selección de activos con restricciones.
  • Detección de fraude: quantum kernels para clasificación en alta dimensión.
  • Empresas activas: JPMorgan (Qiskit), Goldman Sachs (AWS Braket), BBVA (IBM Q).

Orus, R. et al. (2019). "Quantum computing for finance: Overview and prospects". Reviews in Physics 4, 100028.

QNN vs Red neuronal clásica: resumen

AspectoRed neuronal clásicaQNN / VQC
MadurezDécadas de investigación, escala industrial~7 años de QML moderno, experimental
EscalabilidadBillones de parámetros (GPT-4, Gemini)~100 parámetros, ~30 qubits prácticos
HardwareGPUs/TPUs abundantes, baratosQPUs escasos, ruidosos, caros
ExpresividadAproximador universal (probado)Aproximador universal (probado teóricamente)
EntrenamientoBackprop eficiente O(L)Parameter-shift: 2P ejecuciones + ruido
Datos grandesExcelente (batch, GPU, distribuido)Cuello de botella en encoding
Datos cuánticosNecesita reconstrucción clásicaProcesamiento nativo
Ventaja demostradaInnumerables aplicaciones realesSolo para problemas con estructura cuántica

🧩 Widget: ¿Debería usar una QNN?

Evalúa si una QNN podría ser beneficiosa para tu problema.

Retos abiertos y futuro

RetoDescripciónEstado actual
Barren plateausGradientes se desvanecen exponencialmente con el número de qubitsMitigación parcial con diseño de ansatz, inicialización, cost functions locales
Ruido y decoherenciaLos qubits pierden su estado cuántico en microsegundosError mitigation funciona, error correction en desarrollo
Ventaja cuántica prácticaNo demostrada para problemas de ML con datos clásicosVentaja teórica demostrada, práctica esquiva
Data encoding bottleneckCargar datos clásicos en estados cuánticos es costosoQRAM propuesta pero no construida; data re-uploading como workaround
EscalabilidadSimuladores clásicos: ~30 qubits. Hardware: ruidoso.Mejoras constantes. IBM roadmap: 100K qubits (2033)
Interpretabilidad¿Qué aprende un circuito cuántico?Conexión con kernels ayuda. Visualización limitada.

Papers y recursos fundamentales

📚 Lecturas esenciales

  • Libro: Schuld, M. & Petruccione, F. (2021). "Machine Learning with Quantum Computers". Springer. Link
  • Libro: Nielsen, M.A. & Chuang, I.L. (2000). "Quantum Computation and Quantum Information". Cambridge. El libro de referencia
  • Review: Bharti, K. et al. (2022). "Noisy intermediate-scale quantum algorithms". Reviews of Modern Physics 94, 015004
  • VQC: Cerezo, M. et al. (2021). "Variational quantum algorithms". Nature Reviews Physics 3, 625
  • QNN: Farhi, E. & Neven, H. (2018). "Classification with Quantum Neural Networks". arXiv:1802.06002
  • Quantum kernels: Havlíček, V. et al. (2019). "Supervised learning with quantum-enhanced feature spaces". Nature 567, 209
  • Barren plateaus: McClean, J.R. et al. (2018). "Barren plateaus in quantum neural network training landscapes". Nature Comms 9, 4812
  • Data re-uploading: Pérez-Salinas, A. et al. (2020). "Data re-uploading for a universal quantum classifier". Quantum 4, 226
  • QCNN: Cong, I. et al. (2019). "Quantum Convolutional Neural Networks". Nature Physics 15, 1273
  • Transfer learning: Mari, A. et al. (2020). "Transfer learning in hybrid classical-quantum neural networks". Quantum 4, 340
  • Ventaja cuántica en ML: Huang, H.-Y. et al. (2021). "Power of data in quantum machine learning". Nature Comms 12, 2631
  • NISQ era: Preskill, J. (2018). "Quantum Computing in the NISQ era and beyond". Quantum 2, 79
  • Supremacía cuántica: Arute, F. et al. (2019). "Quantum supremacy using a programmable superconducting processor". Nature 574, 505

🎓 Recursos de aprendizaje

  • Qiskit Textbook: learning.quantum.ibm.com — Curso completo interactivo de IBM.
  • PennyLane Demos: pennylane.ai/qml/demos — Tutoriales con código ejecutable.
  • Quantum Machine Learning (edX): Curso de la Universidad de Toronto por Peter Wittek.
  • Xanadu Quantum Codebook: codebook.xanadu.ai — Curso interactivo de computación cuántica.