# Aprendizaje Automático Cuántico

El Aprendizaje Automático Cuántico es un área de investigación interdisciplinar, situada entre la mecánica cuántica y la Inteligencia Artificial, que suma esfuerzos para combinar la mecánica cuántica y el aprendizaje automático.
El aprendizaje automático cuántico puede identificarse como un método híbrido de aprendizaje mediante algoritmos clásicos aplicados a estados de naturaleza cuántica (transiciones de fase en un sistema cuántico), o también, como un algoritmo cuántico (empleando puertas lógicas cuánticas, aprovechando las propiedades de la mecánica cuántica) que estudia un conjunto de datos clásicos.
Esta tendencia se ha acelerado gracias a las recientes inversiones de empresas como Google y Microsoft en computación cuántica. Sin embargo el aprendizaje automático cuántico está todavía en su etapa inicial y necesita mayores fundamentos teóricos así como resultados científicos sólidos para llegar a ser una disciplina académica.

## Mejoras del aprendizaje automático cuántico

Existen diferentes formas de aprendizaje automático: el aprendizaje supervisado, el aprendizaje no supervisado y el aprendizaje por refuerzo. Para cada uno de estos campos, existen algoritmos a los que podemos encontrar una extensión cuántica, mediante propiedades cuánticas como el entrelazamiento o la superposición, entre otras.
Los algoritmos o modelos de aprendizaje automático cuántico intentan usar las ventajas de la información cuántica con el fin de mejorar el aprendizaje automático clásico, por ejemplo desarrollando implementaciones eficientes de pesados algoritmos clásicos mediante computación cuántica.
Además, el aprendizaje automático cuántico incluye también la aproximación recíproca, aplicando los métodos de aprendizaje automático clásico a la teoría de la información cuántica. Ya en su nacimiento, el aprendizaje automático cuántico reunió grandes expectativas de proporcionar una solución al análisis de grandes volúmenes de datos utilizando el poder del paralelismo de la computación cuántica.
Son una serie de ideas de como adaptar los métodos clásicos de aprendizaje automático a los procesos de computación cuántica. Los algoritmos que permiten mejorar el aprendizaje automático típicamente requieren codificar un conjunto de datos clásicos en un ordenador cuántico, que permita el procesamiento de información cuántica con el objetivo de crear un algoritmo capaz de aprender a resolver un problema.

## Aprendizaje supervisado

El aprendizaje supervisado, usualmente enfocado a problemas relacionados con el análisis de datos, es un método de aprendizaje para el cual se dan una serie de datos, que están clasificados por una clase, este sería el ejemplo que usa el programa para clasificar nuevos datos. Por ejemplo, cuando recibimos correo, y lo clasificamos como spam, la próxima vez un correo con las mismas características (ó similares) será enviado a la bandeja de spam.

### Máquinas de soporte vectorial cuánticas

Las máquinas de soporte vectorial pueden ser implementadas en un ordenador cuántico usando una combinación de algoritmos cuánticos ya conocidos. Con el fin de construir el hiper-plano que separa el conjunto de datos para las tareas de clasificación, la ecuación lineal para la formulación dual o de mínimos cuadrados se resuelve utilizando un algoritmo cuántico para resolver ecuaciones lineales. Una tarea importante es construir una matriz de densidad cuyas entradas se corresponden con las de la matriz del núcleo. La extracción de la información del estado final puede hacerse a través del análisis de componentes principales cuántico. La clasificación de una nueva entrada se lleva a cabo a través de un ensayo de intercambio. La máquina de soporte vectorial cuántico se ejecuta en tiempo logarítmico respecto a la dimensión del espacio de características y el número de vectores de entrenamiento, mientras que la solución clásica tiene una dependencia polinómica. Los primeros experimentos en máquinas de soporte vectorial cuánticas ya han sido realizados.

### Redes neuronales cuánticas

Se denomina Red neuronal cuántica al análogo cuántico de las redes neuronales clásicas. La extensión cuántica de las redes neuronales clásicas suscita un problema, y es que la dinámica de las Redes neuronales clásicas se rige por funciones de activación, que en general, asumimos que nunca son funciones lineales, porque se ha demostrado que son mucho más rápidas en la optimización de los parámetros de las neuronas. Sigue habiendo funciones lineales pero han quedado para redes que se utilizan con fines didácticos. Y el problema es este, que no son lineales, a diferencia de la mecánica cuántica, que sí es lineal. Para solventar este problema se emplean métodos RUS (repeat until success), simulando funciones no lineales (en contraposición con la naturaleza del Hamiltoniano), para especular con un conjunto de datos. El problema es que entonces existen ciertos estados que no pueden ser observados y generan oscilaciones específicas.
Las maneras más reconocidas para implementar redes neuronales cuánticas: empleando fotones, circuitos variacionales en capas o con modelos cuánticos del tipo Ising.
Las redes neuronales cuánticas fueron inicialmente investigadas desde una perspectiva diferente, el papel de los efectos cuánticos en los circuitos neuronales. Sin embargo, el debate pasó rápidamente hacia un enfoque puramente computacional en versiones cuánticas de redes neuronales artificiales, las cuales juegan un papel importante en el aprendizaje automático. Una serie de ideas sobre modelos de redes neuronales cuánticas se han publicado desde entonces. Un enfoque interesante para el aprendizaje automático cuántico es el modelo de memoria asociativa cuántica basado en el algoritmo de Grover.
Todavía no se ha demostrado si realmente de forma general, el método de las redes de neuronas cuánticas aporta ventajas a la hora de resolver un problema de Inteligencia Artificial. Sin embargo, Google e IBM demuestran que existen problemas de alta complejidad con ciertas características en los que este método permite una convergencia de la red con mayor precisión y velocidad.

## Aprendizaje no supervisado

El aprendizaje no supervisado, al igual que el aprendizaje supervisado, se dedica a resolver problemas de agrupamiento de datos, sin embargo en este escenario, al programa se le dan un ejemplo de los datos pero no de las clases a las que pertenecen. Existen varios métodos aunque aquí no se incluyan todos.

### Algoritmos cuánticos de agrupamiento y métodos K-nn

Los algoritmos de aprendizaje cuántico tales como K-means o el método K-vecinos más cercanos están basados en calcular la distancia entre los vectores de características y la selección más próxima (ya sea para identificar el grupo centroide más cercano o los vecinos más cercanos a un determinado vector de características). La implementación de estos métodos, basados en la distancia en un ordenador cuántico significa en primer lugar encontrar una manera de calcular distancias clásicas con algoritmos cuánticos. Una idea frecuente es emplear la superposición de dos funciones de onda $\langle \psi |\varphi \rangle \displaystyle$ cuidadosamente preparadas como media de la distancia entre dos estados cuánticos.
Métodos de amplificación de amplitudes basados en el algoritmo de Grover permiten resolver problemas de búsqueda no estructurados con una optimización cuadrática, en comparación con algoritmos clásicos. La distancia mínima puede ser encontrada mediante el Algoritmo de Grover. Los algoritmos de aprendizaje automático basados en la distancia, tales como la agrupación sin supervisión, pueden ser implementados a través de la computación cuántica adiabática la cual mejora a la computación clásica de $O(Mlog(MN))$ para el algoritmo de Lloyd a $O(klog(MN))$ (donde M es el número de vectores de datos N-dimensional y K es el número de agrupaciones).

## Aprendizaje por Refuerzo cuántico

El aprendizaje por Refuerzo cuántico, en contraposición con los anteriores métodos de aprendizaje automático cuántico, se dedica a estudiar problemas relacionados con la elección óptima de una estrategia bajo ciertas condiciones, es decir, puede resolver problemas asociados a teoría de juegos, teorías de control óptimo, investigación de operaciones y teoría de la información.
En este método se tiene un agente, que interacciona con el entorno produciéndose un cambio del mismo a un nuevo estado, y en función de la bondad de la acción, el agente recibe una recompensa mejor o peor. De nuevo, el agente vuelve a interactuar con el entorno mediante una de las acciones posibles y se vuelve a analizar la bondad de la acción entre los dos estados del entorno. Este proceso se repite hasta que se llega a un estado final del entorno que es el que se busca alcanzar, lo que denominamos como un episodio. Una vez termina un episodio se repite de nuevo el procedimiento, pero esta vez el agente ya tiene más conocimiento de la bondad de sus acciones desde ciertos estados del entorno. Una vez se completan varios episodios se comparan las estrategias de todos los episodios ejecutados para ver cual ha sido la mejor estrategia.
En el aprendizaje por refuerzo cuántico, se aprovecha la propiedad de la superposición, ahora los estados del entorno y los estados de las acciones se expresan como una combinación lineal de auto-acciones y auto-estados del entorno. Partiendo de un estado del entorno se ejecutan todas las acciones a la vez y se estudian las recompensas asociadas a cada acción, se mide el sistema y se escoge la acción con mayor recompensa. Este proceso se realiza de forma iterativa. Los episodios necesarios para encontrar la estrategia óptima se aceleran cuadráticamente.

## Métodos de aprendizaje automático para información cuántica

El aprendizaje automático cuántico también puede ser usado para los enfoques que aplican métodos clásicos de aprendizaje automático a los problemas de la teoría de la información cuántica. Por ejemplo, cuando los físicos experimentales tienen que lidiar con información incompleta de una fuente o sistema cuántico, la estadística bayesiana y los conceptos de aprendizaje algorítmico pueden ser fructíferamente aplicados. Otro ejemplo sería la tomografía del estado cuántico, donde el estado cuántico es aprendido por el hecho de medir. Esto incluye aproximaciones de aprendizaje automático para la clasificación del estado cuántico, el aprendizaje del Hamiltoniano y el aprendizaje de una transformación unitaria.

## Teoría del aprendizaje cuántico

La teoría del aprendizaje cuántico, todavía una disciplina en pleno desarrollo, insiste en el análisis matemático de generalizaciones cuánticas para modelos de aprendizaje automático clásico, de cara a optimizar la teoría clásica. El enfoque es bastante similar a la teoría de aprendizaje clásico, pero en este caso, el agente (cuya misión es aprender) es un dispositivo procesador de información cuántica, independientemente de que los datos sean clásicos o cuánticos. El objetivo de la teoría del aprendizaje cuántico es el estudio de problemas específicos que resuelve la teoría de aprendizaje clásico pero empleando protocolos cuánticos de cara a optimizar la resolución de estos problemas. Aunque sea una disciplina todavía en desarrollo, se han encontrado buenos resultados en esta dirección.

## Inversiones empresariales en la investigación del aprendizaje automático cuántico

Los experimentos más recientes emplearon el ordenador cuántico adiabático D-Wave para detectar coches en imágenes digitales empleando aumentos regulados con funciones objetivo no-convexas en una demostración en 2009. No solo el mundo académico sino también las empresas líderes en las tecnologías de la información muestran interés en el potencial del aprendizaje automático cuántico. Google Research lanzó su laboratorio cuántico de inteligencia artificial en 2013, el cual es una iniciativa conjunta con la NASA y la asociación de universidades de investigación espacial. Una baza importante es el controvertido debate sobre el ordenador cuántico D-Wave. También Microsoft parece interesado en el tema y Peter Lee anunció que va a aumentar la actividad de las empresas en la computación cuántica .
Empleando otro tipo de tecnología basada en la resonancia nuclear magnética (NMR), una red cuántica de Hopfield fue implementada en 2009 que mapea los datos de entrada y memorizados a Hamiltonianos, permitiendo el uso de computación cuántica adiabática. NMR también tolera la computación cuántica universal, y fue empleada para la primera implementación experimental de una máquina cuántica de soporte vectorial para distinguir los números escritos a mano '6' y '9' para un ordenador cuántico en estado líquido (2015).
Implementaciones fotónicas son el punto de mira de muchas empresas, ya que no requieren el gran enfriamiento requerido en ordenadores cuánticos. Empleando fotónica no lineal para implementar un clasificador linear de todas las ópticas, se creó un modelo de perceptrón capaz de aprender los delimitadores de clasificación de forma iterativa mediante conjuntos de datos ejemplo mediante una regla basada en la retroalimentación. En 2015 se demostró experimentalmente que mediante cúbits entrelazados en un ordenador fotónico cuántico se podía medir la distancia clásica entre dos vectores de forma más eficiente que con un ordenador clásico, pilar fundamental de muchos algoritmos de aprendizaje automático.
Desde 2016, IBM ha lanzado una nube online para desarrolladores de softwares cuánticos, llamada IBM Quantum Experience. Esta plataforma está formada por varios procesadores cuánticos completamente operativos accesibles en la IBM API Web. La compañía esta motivando desarrolladores de software a crear nuevos algoritmos a partir de este entorno de desarrollo con capacidades cuánticas. Nuevos diseños, de hasta 32 cúbits, están siendo explorados en bases experimentales, empleando celdas de iones atrapados y ordenadores cuánticos superconductores.
En 2019, la introducción de Generadores Cuánticos de Números Aleatorios (QRNGs) en modelos de aprendizaje automático, incluyendo redes neuronales cuánticas y redes neuronales convolucionadas para distribuciones aleatorias iniciales muestran mayor habilidad comparados con el método clásico de Generadores Pseudoaleatorios de Números (PRNGs). Sin embargo, en 2021 se demuestra que el uso de QRNGs en redes neuronales no aporta ninguna ventaja significativa en comparación con el uso de PRNGs.