Las redes neuronales cuánticas son modelos de redes neuronales computacionales que se basan en los principios de la mecánica cuántica . Las primeras ideas sobre computación neuronal cuántica fueron publicadas de forma independiente en 1995 por Subhash Kak y Ron Chrisley, [1] [2] comprometidos con la teoría de la mente cuántica , que postula que los efectos cuánticos juegan un papel en la función cognitiva. Sin embargo, la investigación típica en redes neuronales cuánticas implica combinar modelos clásicos de redes neuronales artificiales (que se usan ampliamente en el aprendizaje automático para la importante tarea de reconocimiento de patrones) con las ventajas de la información cuántica para desarrollar algoritmos más eficientes. [3] [4] [5] Una motivación importante para estas investigaciones es la dificultad de entrenar redes neuronales clásicas, especialmente en aplicaciones de big data . La esperanza es que las características de la computación cuántica , como el paralelismo cuántico o los efectos de interferencia y entrelazamiento , se puedan utilizar como recursos. Dado que la implementación tecnológica de una computadora cuántica aún se encuentra en una etapa prematura, dichos modelos de redes neuronales cuánticas son en su mayoría propuestas teóricas que esperan su implementación completa en experimentos físicos.
La mayoría de las redes neuronales cuánticas se desarrollan como redes de propagación hacia adelante . De manera similar a sus contrapartes clásicas, esta estructura toma la entrada de una capa de qubits y pasa esa entrada a otra capa de qubits. Esta capa de qubits evalúa esta información y pasa la salida a la siguiente capa. Finalmente, el camino conduce a la capa final de qubits. [6] [7] Las capas no tienen que tener el mismo ancho, lo que significa que no tienen que tener la misma cantidad de qubits que la capa anterior o posterior. Esta estructura se entrena en qué camino tomar de manera similar a las redes neuronales artificiales clásicas . Esto se analiza en una sección inferior. Las redes neuronales cuánticas se refieren a tres categorías diferentes: computadora cuántica con datos clásicos, computadora clásica con datos cuánticos y computadora cuántica con datos cuánticos. [6]
La investigación sobre redes neuronales cuánticas está todavía en pañales y se han presentado un conglomerado de propuestas e ideas de alcance y rigor matemático diversos. La mayoría de ellas se basan en la idea de sustituir las neuronas binarias clásicas o de McCulloch-Pitts por un cúbit (que puede denominarse “quron”), lo que da como resultado unidades neuronales que pueden estar en una superposición del estado de “activación” y “reposo”.
Muchas propuestas intentan encontrar un equivalente cuántico para la unidad perceptrón a partir de la cual se construyen las redes neuronales. Un problema es que las funciones de activación no lineales no corresponden inmediatamente a la estructura matemática de la teoría cuántica, ya que una evolución cuántica se describe mediante operaciones lineales y conduce a una observación probabilística. Las ideas para imitar la función de activación del perceptrón con un formalismo mecánico cuántico abarcan desde mediciones especiales [8] [9] hasta la postulación de operadores cuánticos no lineales (un marco matemático que es discutido). [10] [11] Schuld, Sinayskiy y Petruccione propusieron recientemente una implementación directa de la función de activación utilizando el modelo basado en circuitos de computación cuántica basándose en el algoritmo de estimación de fase cuántica . [12]
A mayor escala, los investigadores han intentado generalizar las redes neuronales al entorno cuántico. Una forma de construir una neurona cuántica es generalizar primero las neuronas clásicas y luego generalizarlas aún más para hacer puertas unitarias. Las interacciones entre neuronas se pueden controlar de forma cuántica, con puertas unitarias , o de forma clásica, mediante la medición de los estados de la red. Esta técnica teórica de alto nivel se puede aplicar ampliamente, tomando diferentes tipos de redes y diferentes implementaciones de neuronas cuánticas, como las neuronas implementadas fotónicamente [7] [13] y el procesador de reservorio cuántico (versión cuántica de la computación de reservorio ). [14] La mayoría de los algoritmos de aprendizaje siguen el modelo clásico de entrenamiento de una red neuronal artificial para aprender la función de entrada-salida de un conjunto de entrenamiento dado y usar bucles de retroalimentación clásicos para actualizar los parámetros del sistema cuántico hasta que converjan a una configuración óptima. El aprendizaje como un problema de optimización de parámetros también ha sido abordado por modelos adiabáticos de computación cuántica. [15]
Las redes neuronales cuánticas se pueden aplicar al diseño de algoritmos: dados qubits con interacciones mutuas ajustables, uno puede intentar aprender interacciones siguiendo la regla clásica de retropropagación a partir de un conjunto de entrenamiento de relaciones de entrada-salida deseadas, tomadas como el comportamiento del algoritmo de salida deseado. [16] [17] La red cuántica, por tanto, "aprende" un algoritmo.
El primer algoritmo de memoria asociativa cuántica fue introducido por Dan Ventura y Tony Martinez en 1999. [18] Los autores no intentan traducir la estructura de los modelos de redes neuronales artificiales a la teoría cuántica, sino que proponen un algoritmo para una computadora cuántica basada en circuitos que simula la memoria asociativa . Los estados de memoria (en las redes neuronales de Hopfield guardados en los pesos de las conexiones neuronales) se escriben en una superposición, y un algoritmo de búsqueda cuántica similar a Grover recupera el estado de memoria más cercano a una entrada dada. Como tal, esta no es una memoria completamente direccionable por contenido, ya que solo se pueden recuperar patrones incompletos.
La primera memoria cuántica verdaderamente direccionable por contenido, que puede recuperar patrones también de entradas corruptas, fue propuesta por Carlo A. Trugenberger. [19] [20] [21] Ambas memorias pueden almacenar una cantidad exponencial (en términos de n qubits) de patrones, pero pueden usarse solo una vez debido al teorema de no clonación y su destrucción tras la medición.
Trugenberger, [20] sin embargo, ha demostrado que su modelo probabilístico de memoria asociativa cuántica se puede implementar de manera eficiente y reutilizar múltiples veces para cualquier número polinomial de patrones almacenados, una gran ventaja con respecto a las memorias asociativas clásicas.
Se ha prestado un gran interés a un modelo “inspirado en la teoría cuántica” que utiliza ideas de la teoría cuántica para implementar una red neuronal basada en lógica difusa . [22]
Las redes neuronales cuánticas se pueden entrenar teóricamente de manera similar al entrenamiento de redes neuronales clásicas/artificiales. Una diferencia clave radica en la comunicación entre las capas de una red neuronal. Para las redes neuronales clásicas, al final de una operación dada, el perceptrón actual copia su salida a la siguiente capa de perceptrones en la red. Sin embargo, en una red neuronal cuántica, donde cada perceptrón es un cúbit, esto violaría el teorema de no clonación . [6] [23] Una solución generalizada propuesta para esto es reemplazar el método de abanico clásico con un unitario arbitrario que extiende, pero no copia, la salida de un cúbit a la siguiente capa de cúbits. Usando este abanico Unitario ( ) con un cúbit de estado ficticio en un estado conocido (Ej. en la base computacional ), también conocido como bit Ancilla , la información del cúbit se puede transferir a la siguiente capa de cúbits. [7] Este proceso se adhiere al requisito de operación cuántica de reversibilidad . [7] [24]
Utilizando esta red cuántica de propagación hacia adelante, las redes neuronales profundas pueden ejecutarse y entrenarse de manera eficiente. Una red neuronal profunda es esencialmente una red con muchas capas ocultas, como se ve en la red neuronal del modelo de muestra anterior. Dado que la red neuronal cuántica que se analiza utiliza operadores unitarios en abanico, y cada operador solo actúa sobre su entrada respectiva, solo se utilizan dos capas en un momento dado. [6] En otras palabras, ningún operador unitario actúa sobre toda la red en un momento dado, lo que significa que la cantidad de cúbits necesarios para un paso determinado depende de la cantidad de entradas en una capa determinada. Dado que las computadoras cuánticas son conocidas por su capacidad de ejecutar múltiples iteraciones en un corto período de tiempo, la eficiencia de una red neuronal cuántica depende únicamente de la cantidad de cúbits en una capa determinada, y no de la profundidad de la red. [24]
Para determinar la efectividad de una red neuronal, se utiliza una función de costo, que mide esencialmente la proximidad de la salida de la red a la salida esperada o deseada. En una red neuronal clásica, los pesos ( ) y los sesgos ( ) en cada paso determinan el resultado de la función de costo . [6] Al entrenar una red neuronal clásica, los pesos y los sesgos se ajustan después de cada iteración, y dada la ecuación 1 a continuación, donde es la salida deseada y es la salida real, la función de costo se optimiza cuando = 0. Para una red neuronal cuántica, la función de costo se determina midiendo la fidelidad del estado del resultado ( ) con el estado del resultado deseado ( ), visto en la ecuación 2 a continuación. En este caso, los operadores unitarios se ajustan después de cada iteración, y la función de costo se optimiza cuando C = 1. [6]
Ecuación 1
Ecuación 2
El descenso de gradiente se utiliza ampliamente y con éxito en algoritmos clásicos. Sin embargo, aunque la estructura simplificada es muy similar a las redes neuronales como las CNN, las QNN tienen un rendimiento mucho peor.
Dado que el espacio cuántico se expande exponencialmente a medida que crece el q-bit, las observaciones se concentrarán alrededor del valor medio a una tasa exponencial, donde también tendrán gradientes exponencialmente pequeños. [26]
Esta situación se conoce como mesetas estériles, porque la mayoría de los parámetros iniciales están atrapados en una "meseta" de gradiente casi nulo, que se aproxima a un vagabundeo aleatorio [26] en lugar de un descenso de gradiente. Esto hace que el modelo no se pueda entrenar.
De hecho, no solo QNN, sino casi todos los algoritmos VQA más profundos tienen este problema. En la era NISQ actual, este es uno de los problemas que se deben resolver si se quieren hacer más aplicaciones de los diversos algoritmos VQA, incluido QNN.