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.
💡 Intuición clave
Un ordenador clásico con \(n\) bits puede estar en uno de \(2^n\) estados posibles en cada instante. 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". Lo que hace es manipular las amplitudes de probabilidad (números complejos) para que, al medir, las respuestas correctas sean más probables y las incorrectas se cancelen por interferencia destructiva. Es la misma idea detrás de los algoritmos de Shor y Grover.
¿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.
🔑 Componentes clave de una QNN
| Componente | Red clásica | Red cuántica (QNN) |
|---|---|---|
| Unidad básica | Neurona (pesos + bias + activación) | Qubit (estado cuántico en \(\mathbb{C}^2\)) |
| Capa | Capa densa, conv, recurrente | Capa de puertas cuánticas parametrizadas |
| Parámetros | Pesos \(W\), biases \(b\) | Ángulos de rotación \(\theta_i\) |
| Transformación | \(f(Wx + b)\) | \(U(\theta)|x\rangle\) (unitaria) |
| Salida | Valores continuos | Valores esperados de observables \(\langle O \rangle\) |
| Entrenamiento | Backpropagation + SGD | Parameter-shift rule + optimizador clásico |
| No linealidad | ReLU, sigmoid, softmax | Medició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
| Propiedad | Computación clásica | Computación cuántica |
|---|---|---|
| Unidad de información | Bit: 0 o 1 | Qubit: \(\alpha|0\rangle + \beta|1\rangle\), \(|\alpha|^2 + |\beta|^2 = 1\) |
| Operaciones | Puertas lógicas: AND, OR, NOT | Puertas cuánticas unitarias: H, X, CNOT, RY |
| Paralelismo | Secuencial (o multi-core) | Superposición: \(n\) qubits → \(2^n\) amplitudes |
| Reversibilidad | Generalmente irreversible | Siempre reversible (excepto medición) |
| Ruido | Bits robustos, error muy bajo | Qubits frágiles: decoherencia, errores de puerta |
| Estado del arte | Billones de transistores, madurez industrial | ~1000 qubits ruidosos (era NISQ) |
| Ventaja | General-purpose, maduro | Problemas específicos: factorización, simulación molecular, optimización |
Preskill, J. (2018). "Quantum Computing in the NISQ era and beyond". Quantum 2, 79.
Historia de las redes neuronales cuánticas
Feynman propone que solo un ordenador cuántico puede simular eficientemente sistemas cuánticos. Los ordenadores clásicos necesitan recursos exponenciales para simular la mecánica cuántica, pero un dispositivo cuántico lo haría de forma natural.
Esta idea seminal lanzó el campo de la computación cuántica. Feynman argumentó que la naturaleza no es clásica, y para simularla necesitamos máquinas que sigan las mismas leyes cuánticas.
Feynman, R.P. (1982). "Simulating physics with computers". Int. J. Theor. Phys. 21, 467.
Peter Shor descubre un algoritmo cuántico que factoriza números enteros en tiempo polinomial, frente al tiempo exponencial de los mejores algoritmos clásicos conocidos. Esto amenaza directamente la criptografía RSA, que se basa en la dificultad de factorizar.
Shor demostró que los ordenadores cuánticos no solo simulan física: pueden resolver problemas matemáticos que los clásicos no pueden. Esto disparó la inversión en computación cuántica.
Lov Grover presenta un algoritmo de búsqueda en bases de datos no ordenadas con complejidad \(O(\sqrt{N})\) frente al \(O(N)\) clásico. Para una base de datos con 1 millón de elementos, Grover necesita ~1000 operaciones frente a 1 millón.
Aunque la aceleración es "solo" cuadrática (frente a la exponencial de Shor), es óptima: se demostró que ningún algoritmo cuántico puede hacerlo mejor para búsqueda no estructurada.
El Variational Quantum Eigensolver (VQE) es el primer algoritmo variacional cuántico práctico. Calcula la energía del estado fundamental de moléculas (H₂) usando un circuito cuántico parametrizado optimizado por un ordenador clásico.
VQE inauguró la era de los algoritmos variacionales: circuitos cuánticos con parámetros ajustables, la misma idea detrás de las QNNs. Es el precursor directo de los VQC.
Peruzzo, A. et al. (2014). "A variational eigenvalue solver on a photonic quantum processor". Nature Comms 5, 4213.
El año clave para las redes neuronales cuánticas. Múltiples grupos publican simultáneamente:
- Farhi & Neven: proponen QNNs para clasificación.
- Mitarai et al.: Quantum Circuit Learning (QCL).
- Havlíček et al.: quantum feature maps y quantum kernels.
- Schuld et al.: kernels cuánticos como base del QML supervisado.
En un solo año, el campo pasó de ideas teóricas a implementaciones concretas con circuitos parametrizados.
Google anuncia que su procesador Sycamore (53 qubits superconductores) resolvió un problema de muestreo de circuitos aleatorios en 200 segundos — una tarea que estimaron tardaría 10,000 años en el supercomputador clásico más potente del mundo.
Fue un hito simbólico: la primera demostración de que un dispositivo cuántico puede superar a cualquier ordenador clásico en alguna tarea. IBM disputó la estimación de los 10,000 años.
Arute, F. et al. (2019). "Quantum supremacy using a programmable superconducting processor". Nature 574, 505.
Aparecen frameworks de código abierto que hacen el QML accesible a desarrolladores de ML:
- PennyLane (Xanadu): integración nativa con PyTorch, TensorFlow, JAX.
- TensorFlow Quantum (Google): capas cuánticas como capas de Keras.
- Qiskit Machine Learning (IBM): VQC, kernels, acceso a hardware real.
Los frameworks permiten crear modelos híbridos clásico-cuánticos con la misma facilidad que una red neuronal clásica, impulsando la investigación en QML.
Hitos fundamentales hacia la computación cuántica fault-tolerant:
- Google Willow (2024): demuestra que más qubits = menos errores (below threshold), un requisito clave para la corrección de errores cuántica.
- IBM Condor (2023): procesador con 1,121 qubits superconductores.
- Microsoft Majorana 1 (2025): primer chip con qubits topológicos funcionales.
La corrección de errores cuántica es el camino hacia QNNs prácticas a gran escala. Los expertos estiman que se necesitarán ~2030+ para tener suficientes qubits lógicos.
Esta evolución muestra cómo la computación cuántica ha pasado de una idea teórica (1982) a un campo experimental con hardware real y frameworks maduros. Las QNNs nacen de la convergencia entre los avances en hardware cuántico y las ideas del machine learning variacional, y representan uno de los campos más activos de la investigación actual en inteligencia artificial.
¿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.
🤔 ¿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
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:
Donde \(\alpha, \beta \in \mathbb{C}\) son amplitudes de probabilidad que satisfacen la normalización:
🔮 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:
Estados especiales en la esfera de Bloch
Los estados más importantes en computación cuántica tienen posiciones características en la esfera de Bloch. Entenderlos es esencial para diseñar circuitos cuánticos:
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
| Puerta | Matriz | Efecto | En 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 de dos qubits
| Puerta | Efecto | Importancia |
|---|---|---|
| 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
Un circuito cuántico se lee de izquierda a derecha. Cada línea horizontal representa un qubit, y las cajas sobre las líneas son puertas cuánticas. Este circuito de ejemplo combina una puerta Hadamard (crea superposición), rotaciones parametrizadas (los "pesos" entrenables de la QNN) y puertas CNOT (crean entrelazamiento entre qubits):
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:
📊 Escala exponencial
| Qubits | Estados base | Amplitudes (complejas) | Equivalencia clásica |
|---|---|---|---|
| 1 | 2 | 2 números complejos | Trivial |
| 10 | 1,024 | 1,024 complejos | Vector 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 complejos | Má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.
🔮 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.
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.
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?
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ón | Nombre | Objeto matemático | Ejemplo |
|---|---|---|---|
| \(|\psi\rangle\) | Ket | Vector columna en \(\mathbb{C}^n\) | \(|0\rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix}\) |
| \(\langle\psi|\) | Bra | Vector fila (conjugado transpuesto) | \(\langle 0| = \begin{pmatrix} 1 & 0 \end{pmatrix}\) |
| \(\langle\phi|\psi\rangle\) | Braket | Producto interno (escalar) | \(\langle 0|1\rangle = 0\) (ortogonales) |
| \(|\phi\rangle\langle\psi|\) | Outer product | Operador (matriz) | \(|0\rangle\langle 0| = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}\) |
| \(\langle\psi|A|\psi\rangle\) | Valor esperado | Escalar real (para A hermítico) | \(\langle\psi|Z|\psi\rangle = |\alpha|^2 - |\beta|^2\) |
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.
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.
| Propiedad | Transformación unitaria | Transformación clásica (red neuronal) |
|---|---|---|
| Reversibilidad | Siempre reversible: \(U^{-1} = U^\dagger\) | Generalmente irreversible (ReLU pierde información) |
| Preservación de norma | Sí: \(\langle\psi'|\psi'\rangle = \langle\psi|\psi\rangle = 1\) | No necesariamente |
| Linealidad | Siempre lineal | No lineal (activaciones) |
| Determinismo | Determinista (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:
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.
| Estado | Decimal | Vector | ¿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).
| Propiedad | Estado puro | Estado mixto |
|---|---|---|
| Pureza \(\text{Tr}(\rho^2)\) | = 1 | < 1 |
| Entropía de von Neumann | 0 | > 0 |
| Representación en Bloch | Superficie de la esfera | Interior de la esfera |
| Causa | Estado cuántico perfecto | Ruido, decoherencia, trazado parcial |
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.
| Operador | Matriz | Efecto en Bloch | Autovalores | Uso 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:
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:
Donde \(s = \pi/2\) para puertas con generador Pauli. En la práctica:
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
| Aspecto | Backpropagation (clásico) | Parameter-shift rule (cuántico) |
|---|---|---|
| Mecanismo | Chain rule, propagación hacia atrás | Evaluación del circuito con parámetros desplazados |
| Coste por parámetro | O(1) (eficiente, una pasada) | 2 ejecuciones del circuito por parámetro |
| Coste total | O(L) para L capas | O(P) para P parámetros (2P ejecuciones) |
| Exactitud | Exacto (analítico) | Exacto en teoría, ruidoso en hardware real |
| Requisitos | Acceso al grafo computacional | Solo 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.
💡 Para una explicación detallada de backpropagation clásico y cómo se calcula la regla de la cadena en redes neuronales, consulta el submódulo de Perceptrón y MLP. Para entender el descenso de gradiente y sus variantes (SGD, Adam), ver Optimización avanzada.
📐 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.
El paradigma variacional cuántico sigue el mismo esquema conceptual que el entrenamiento de redes neuronales clásicas: se define una función de pérdida, se calculan gradientes respecto a los parámetros, y se actualizan iterativamente. La diferencia crucial es que el forward pass ocurre en un procesador cuántico (o simulador), mientras que la optimización se ejecuta clásicamente. Este bucle híbrido es lo que hace a los VQC compatibles con el hardware NISQ actual: los circuitos pueden ser cortos (resistentes al ruido) mientras que la parte clásica se encarga de la convergencia.
💡 Para comparar con el flujo clásico de entrenamiento (forward + backward + update), consulta Perceptrón y MLP. El análogo cuántico del descenso de gradiente es la parameter-shift rule, detallada en la sección anterior.
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.
| Encoding | Método | Circuito | Ventajas / 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 |
El problema fundamental del encoding es que cargar \(N\) datos clásicos en un estado cuántico puede requerir \(O(N)\) puertas — eliminando cualquier ventaja cuántica. El data re-uploading evita este cuello de botella al no intentar codificar todo de golpe, sino intercalar datos con capas variacionales. Es análogo a cómo las redes residuales ( ver CNN) procesan la información incrementalmente.
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.
Kandala et al. (2017)
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.
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
| Estrategia | Idea | Efecto |
|---|---|---|
| Circuitos poco profundos | Limitar la profundidad del ansatz | Gradientes mayores, pero menor expresividad |
| Inicialización local | Iniciar \(\theta \approx 0\) (identidad) | Evita la región de plateau en la inicialización |
| Entrelazamiento controlado | No entrelazar todo con todo | La conectividad local previene plateaus |
| Layer-wise training | Entrenar capa por capa | Análogo a greedy pre-training en DL clásico |
| Cost function local | Usar observables que actúan en pocos qubits | Los observables globales causan plateaus |
| Quantum natural gradient | Usar la métrica de Fubini-Study | Mejor dirección de descenso, pero costoso |
McClean, J. R. et al. (2018). "Barren plateaus in quantum neural network training landscapes". Nature Communications 9, 4812.
🏔️ 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.
| Tarea | Salida cuántica | Funció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.
⚙️ 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).
La analogía con las CNN clásicas es profunda: en una CNN, los filtros convolucionales comparten pesos y se aplican localmente, capturando patrones espaciales jerárquicos. En una QCNN, las puertas de 2 qubits hacen lo mismo: comparten parámetros (weight sharing) y actúan localmente. El pooling cuántico reduce la dimensión midiendo la mitad de los qubits, análogo al max-pooling. Para una revisión de las CNN clásicas que inspiran esta arquitectura, ver el submódulo de Redes Convolucionales.
- 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:
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.
Si estás familiarizado con las SVM clásicas (Support Vector Machines), el concepto es idéntico: en lugar de proyectar los datos a un espacio de alta dimensión con un kernel RBF o polinomial, se proyectan al espacio de Hilbert de \(2^n\) dimensiones mediante un circuito cuántico. El producto interno en ese espacio es el kernel cuántico. La ventaja potencial es que este espacio de features es exponencialmente grande, y se calcula de forma natural en el hardware cuántico. Para más contexto sobre kernels clásicos, ver el submódulo de Machine Learning clásico.
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.
| Aspecto | VQC (variacional) | Quantum Kernel |
|---|---|---|
| Parámetros entrenables | Sí (ángulos θ) | No (solo el encoding) |
| Optimización | Gradiente cuántico iterativo | SVM clásica (resolución directa) |
| Barren plateaus | Sí, es un problema | No aplica (sin gradientes cuánticos) |
| Escalabilidad | Escala con P parámetros | Escala con N² datos (kernel matrix) |
| Equivalencia teórica | Schuld (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 ruido | Descripción | Modelo matemático |
|---|---|---|
| Depolarizing | El 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-flip | La fase del qubit se invierte con probabilidad \(p\) | \(\rho \to (1-p)\rho + p \cdot Z\rho Z\) |
| Amplitude damping | El 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
El ecosistema de QML ha madurado significativamente desde 2020. Hoy existen múltiples frameworks de código abierto que permiten diseñar, simular y ejecutar circuitos cuánticos parametrizados con la misma facilidad que se construye una red neuronal con PyTorch o TensorFlow. La mayoría se integra nativamente con los frameworks de deep learning clásico, permitiendo entrenar modelos híbridos end-to-end de manera diferenciable.
pennylane.ai
qiskit.org
tensorflow.org/quantum
quantumai.google/cirq
aws.amazon.com/braket
strawberryfields.ai
| Framework | Backend DL | Hardware real | Ideal para |
|---|---|---|---|
| PennyLane | PyTorch, TF, JAX | IBM, IonQ, Rigetti, AWS | QML research, modelos híbridos |
| Qiskit ML | PyTorch (limitado) | IBM Quantum | Química, acceso IBM hardware |
| TF Quantum | TensorFlow | Google (limitado) | Integración con Keras pipeline |
| Cirq | — | Circuitos de bajo nivel, investigación |
Hardware cuántico: estado del arte
| Compañía | Procesador | Qubits | Tecnología | Hito |
|---|---|---|---|---|
| IBM | Condor / Heron | 1121 / 133 | Superconductor | Mayor chip cuántico. Roadmap a 100K+ qubits (2033). |
| Sycamore / Willow | 53 / 105 | Superconductor | Supremacía cuántica (2019). Error correction below threshold (2024). | |
| IonQ | Forte Enterprise | 36 (algorithmic) | Iones atrapados | Mayor fidelidad comercial (~99.6%). Conectividad total. |
| Quantinuum | H2 | 56 | Iones atrapados | Quantum volume récord. Fusión Honeywell + Cambridge QC. |
| Xanadu | Borealis | 216 modos | Fotónico | Ventaja cuántica en boson sampling (2022). |
| Atom Computing | — | 1225 | Átomos neutros | Mayor número de qubits individuales (2023). |
| Microsoft | Majorana 1 | 8 (topológicos) | Topológico | Primer chip topológico funcional (2025). |
- 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:
- \(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
| Aspecto | Red neuronal clásica | QNN / VQC |
|---|---|---|
| Madurez | Décadas de investigación, escala industrial | ~7 años de QML moderno, experimental |
| Escalabilidad | Billones de parámetros (GPT-4, Gemini) | ~100 parámetros, ~30 qubits prácticos |
| Hardware | GPUs/TPUs abundantes, baratos | QPUs escasos, ruidosos, caros |
| Expresividad | Aproximador universal (probado) | Aproximador universal (probado teóricamente) |
| Entrenamiento | Backprop eficiente O(L) | Parameter-shift: 2P ejecuciones + ruido |
| Datos grandes | Excelente (batch, GPU, distribuido) | Cuello de botella en encoding |
| Datos cuánticos | Necesita reconstrucción clásica | Procesamiento nativo |
| Ventaja demostrada | Innumerables aplicaciones reales | Solo para problemas con estructura cuántica |
🧩 ¿Debería usar una QNN?
Evalúa si una QNN podría ser beneficiosa para tu problema.
Retos abiertos y futuro
A pesar del enorme progreso teórico y experimental, las redes neuronales cuánticas enfrentan desafíos fundamentales que deben resolverse antes de que el QML sea prácticamente útil para problemas del mundo real. Estos retos no son meramente técnicos: algunos son limitaciones teóricas profundas (como los barren plateaus) que requieren nuevos paradigmas algorítmicos.
| Reto | Descripción | Estado actual |
|---|---|---|
| Barren plateaus | Gradientes se desvanecen exponencialmente con el número de qubits | Mitigación parcial con diseño de ansatz, inicialización, cost functions locales |
| Ruido y decoherencia | Los qubits pierden su estado cuántico en microsegundos | Error mitigation funciona, error correction en desarrollo |
| Ventaja cuántica práctica | No demostrada para problemas de ML con datos clásicos | Ventaja teórica demostrada, práctica esquiva |
| Data encoding bottleneck | Cargar datos clásicos en estados cuánticos es costoso | QRAM propuesta pero no construida; data re-uploading como workaround |
| Escalabilidad | Simuladores 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.
💡 Para contextualizar las QNNs dentro del panorama del deep learning, consulta: Perceptrón y MLP (fundamentos), CNN (inspiración de las QCNN), Redes Bayesianas (otro paradigma probabilístico), y Optimización avanzada (técnicas de entrenamiento clásicas que inspiran la optimización de VQCs).