# Red neuronal cuántica

Una red neuronal cuántica (QNN) es un modelo de red neuronal que está basado en los principios de la mecánica cuántica. Hay dos aproximaciones diferentes en la investigación de las QNN: de un lado, explotando el procesamiento de información cuántica para mejorar los modelos de redes neuronales actuales (en ocasiones, también viceversa), y, de otro, buscando efectos cuánticos potenciales en el cerebro.

## Redes neuronales cuánticas artificiales

En la aproximación computacional a la investigación sobre redes cuánticas neuronales, los científicos intentan combinar los modelos de redes neuronales artificiales (que son muy utilizados en el aprendizaje automático para clasificación de patrones) con las ventajas de información cuántica para desarrollar algoritmos más eficaces (para un análisis, ver). Una de las principales motivaciones para estas investigación es la dificultad de entrenar redes neuronales, especialmente en aplicaciones de macrodatos. Existe la expectativa de que ciertas características de la informática cuántica, como por ejemplo el paralelismo cuántico o los efectos de interferencia y entrelazamiento cuántico, puedan ser utilizados para obtener ventajas sobre las redes clásicas.
Puesto que la implementación de las tecnologías necesarias para la creación de una computadora cuántica sigue en una etapa embrionaria, tales modelos de redes neuronales cuánticas o bien son meramente propuestas teóricas o bien se implementan en modelos híbridos en la que la mayor parte de los cálculos los realiza una computadora clásica, mientras el dispositivo cuántico realiza una pequeña parte en la que se ha demostrado la ventaja cuántica.
La investigación en torno a las redes neuronales cuánticas está dando sus primeros pasos, pero existe un alto número de propuestas con enfoques y rigor matemático muy dispares. La mayoría de ellas están basadas en la idea de reemplazar las neuronas binarias o de Macculloch-Pitt por un cúbit (a las que se puede llamar un quron), resultando en unidades neuronales que puede estar en un estado de superposición (activa y en reposo a la vez).

### Idea histórica

Las primeras teorías sobre computación neuronal fueron publicadas por Subhash Kak, quien señaló la semejanza de la función de activación neuronal con la ecuación de valores propios de la mecánica cuántica. Kak también habla de la aplicación de estas ideas al estudio de las funciones del cerebro y las limitaciones de esta aproximación. Ajit Narayanan y Tammy Menneer propusieron una implementación fotónica de un modelo de red neuronal cuántica que está basado en la teoría de los múltiples universos que se derrumban en el modelo deseado tras realizar una medición. Desde entonces se han publicado un número creciente de artículos en revistas de ciencias de la computación, así como en las de física cuántica, para encontrar un modelo de red neuronal cuántico óptimo.

### Esquema de una red neuronal cuántica

El aprendizaje automático con una red neuronal (cuántica) consta de las siguientes etapas (para más detalle, ver Red neuronal artificial):
* Introducción de datos: En primer lugar se deben codificar los datos de entrada a la red.
* Procesamiento de datos: Los datos se procesan a través de las neuronas de la red utilizando unos parámetros variacionales (normalmente denominados pesos), obteniéndose uno o varios datos de salida.
* Entrenamiento: Los datos de salida se comparan con unas etiquetas asociadas a los datos de entradas, que están predefinidas, para calcular la función de pérdida, que mide la diferencia entre éstos. El objetivo del entrenamiento es ajustar los pesos de modo que la se obtenga la mínima pérdida, y por tanto la red ajuste de manera óptima una función entre los datos de entrada y de salida.
Existen diferentes propuestas para aplicar la mecánica cuántica en cada una de estas etapas, de manera que se pueden tener redes híbridas en las que algunas etapas son clásicas y otras son cuánticas.

### Problema de la linealidad de la mecánica cuántica

Las redes neuronales tienen la capacidad de ajustar muchos tipos diferentes de funciones, para lo cual es necesario añadir un componente no lineal en el sistema. Esto se consigue aplicando una función no lineal (función paso, sigmoidea, ReLU, etc) a la salida de cada neurona, la cual se denomina función de activación. Sin embargo, la ecuación de Schrödinger, que determina la evolución de los sistemas cuánticos, es una ecuación lineal. Por tanto, todas las puertas lógicas que se emplean en la computación cuántica se basan en operadores lineales unitarios, siendo uno de los problemas principales a la hora de implementar redes neuronales cuánticas.
Existen ideas para imitar la función de activación de un perceptrón con un formalismo de mecánica cuántica, que van desde medidas especiales hasta la postulación de operadores cuántico no lineales (un modelo matemático que está siendo rebatido).
También se ha propuesto utilizar sistemas cuánticos abiertos. En estos, la evolución del sistema principal junto con el entorno sigue siendo lineal, pero la evolución vista únicamente desde el sistema principal es no lineal. Esto da lugar a la Computación Cuántica Disipativa.
Recientemente se ha propuesto una implementación sencilla de la función de activación utilizando el modelo de computación cuántica fundamentada en circuitos por parte de Schuld, Sinayskiy y Petruccione, basándose en el algoritmo cuántico de estimación de fase.

### Requisitos de una red neuronal cuántica

M. Schuld, I. Sinayskiy, F. Petruccione establecieron tres requisitos para que una red neuronal cuántica pueda ser considerada como tal:
* El estado inicial del sistema cuántico debe codificar una cadena binaria de longitud N.
* La red neuronal cuántica debe reflejar uno o más aspectos de los mecanismos básicos de la computación neuronal.
* La evolución está basada en efectos cuánticos, tales como superposición, entrelazamiento o interferencia, y debe ser totalmente consistente con la teoría cuántica.

### Neuronas cuánticas y circuitos variacionales

Y. Cao, G.G. Guerreschi y A. Aspuru-Guzik proponen un modelo de neurona que implementa de forma efectiva una función de activación no lineal. En primer lugar, las señales de las neuronas que conectan con la entrada se combinan linealmente utilizando los pesos variacionales de manera similar a la neurona clásica. Para ello, se aplican rotaciones controladas por los cúbits pertenecientes a las neuronas de la capa anterior y cuyos ángulos son los pesos correspondientes para la combinación lineal. Posteriormente, para aplicar la función no lineal, se aplica otra rotación cuyo ángulo es el resultado de aplicar la función no lineal sobre el resultado de la combinación lineal.
Para poder aplicar la rotación equivalente a la función de activación, esta rotación se aproxima por una clase de circuitos denominados Repetir Hasta el Éxito o RHE (RUS: Repeat Until Success en inglés). Estos circuitos utilizan cúbits auxiliares y les aplican medidas de tal forma que existe una probabilidad de que, tras medir, se haya aplicado la rotación correctamente. Así, tras medir, en función del resultado del cúbit auxiliar, se habrá aplicado la rotación o no, y en caso negativo, debe repetirse el circuito hasta que se consiga el resultado deseado, lo que da lugar al nombre del circuito.
Combinando capas con estas neuronas se obtiene la red neuronal, que finalmente da lugar a una salida que se utiliza para entrenar los pesos variacionales. Una ventaja de estas neuronas es que pueden trabajar sobre una superposición de los datos de entrada, de manera que solamente es necesario ejecutar una vez la red sobre la superposición para entrenar con todos los datos de entrada posibles, aumentando considerablemente el rendimiento frente a las redes clásicas.
Las redes neuronales construidas con estas neuronas han demostrado ser eficaces para problemas de clasificación y memoria asociativa.

### Aprendizaje cuántico

Las redes neuronales cuánticas se pueden entrenar de manera clásica utilizando métodos como el gradiente descendente, calculando la derivada de la función de pérdida o de coste respecto a los pesos, para encontrar la dirección en la que moverse en el espacio de pesos para minimizar la función.
Por otra parte Ricks y Ventura propusieron un algoritmo cuántico para realizar la optimización, que puede obtener ventajas sobre el entrenamiento clásico. En este algoritmo se entrena utilizando una superposición de todos los posibles valores vectores de pesos, y se utiliza un algoritmo de Grover modificado para encontrar los pesos que optimizan el problema.
En el algoritmo cuántico el tiempo requerido aumenta de manera exponencial con el número de pesos. Es por ello que si la red es demasiado grande, se propone un algoritmo en el que los pesos de cada nodo de la red se entrenan cuánticamente de forma independiente manteniendo los demás fijos de forma clásica, eligiendo un nodo de forma aleatoria en cada iteración.

### Redes neuronales híbridas

Debido a las limitaciones de la computación cuántica a día de hoy, es habitual que las redes neuronales se construyan de forma híbrida. Los pasos cuánticos se pueden añadir en cualquiera de los 3 pasos mostrados en el esquema de la red neuronal arriba, es decir, en el codificado de los datos, en su procesamiento, o en el entrenamiento. Un ejemplo de red neuronal híbrida es aquel que tiene neuronas cuánticas pero realiza el entrenamiento clásicamente.
Otro tipo de red neuronal híbrida son las redes neuronales convolucionales utilizadas en la clasificación de imágenes, en las que se sustituyen algunas capas convolucionales del inicio por capas cuánticas, de manera que los datos son mapeados a la red cuánticamente.

### Ventaja cuántica

A día de hoy algunas redes cuánticas han demostrado tener más rendimiento que las redes clásicas. Sin embargo, la supremacía cuántica solo se da en determinadas condiciones, como por ejemplo tener un tipo datos de entrada concretos. A día de hoy éste es un problema abierto.
Uno de los grandes problemas de las redes neuronales clásicas que las redes cuánticas parecen resolver es el efecto de meseta estéril (barren plateau en inglés). Cuando esto ocurre, la función de pérdida tiene zonas muy planas en el espacio de pesos, de manera que el gradiente se desvanece y dificulta el entrenamiento de la red. Se ha demostrado en un ordenador cuántico real que, utilizando capas cuánticas para codificar los datos en la red, reduce este efecto, mejorando el entrenamiento de la red. Sin embargo, no se entiende muy bien cómo ocurre este efecto.

### Lógica difusa

Se ha prestado cierta atención a un modelo inspirado por la mecánica cuántica que usa ideas de la teoría cuántica para implementar una red neuronal basada en lógica difusa.

## Memoria asociativa cuántica

El algoritmo de memoria cuántica asociativa ha sido introducido por Dan Ventura y Tony Martinez en 1999. Los autores no intenta traducir la estructura de las redes neuronales artificiales con la teoría cuántica, sino que proponen un algoritmo para una computadora cuántica basada en circuitos que simulan memoria asociativa. Los estados de memoria (en las redes neuronales de Hopfield están guardados en los pesos de las conexiones neuronales) son escritos en una superposición, y un algoritmo de búsqueda cuántica similar al de Grover recupera el estado de la memoria más cercano a una entrada dada. Una ventaja reside en la capacidad de almacenamiento exponencial de estados de memoria, aun así la pregunta que se mantiene es si el modelo tiene significado teniendo en cuenta el propósito inicial de las redes de Hopfield como una demostración de que una red neuronal puede simular características del cerebro.
Recientemente se ha conseguido modelizar la memoria asociativa cuántica utilizando una red neuronal cuántica que cumple todos los requisitos, gracias a la aplicación de los circuitos RHE.

## Redes neuronales cuánticas biológicas

A pesar de que muchos investigadores de red neuronales cuánticas explícitamente limitan su alcance a una perspectiva computacional, el campo está estrechamente relacionado con investigaciones de efectos cuánticos potenciales en redes neuronales biológicas. Modelos de memoria y agentes cognitivos basados en colectivos cuánticos han sido propuestos por Subhash Kak, pero él también señala a problemas concretos de límites de observación y control de estas memorias debido a razones lógicas fundamentales. La combinación de la neurociencia y la física cuántica también nutre un debate vívido más allá de las fronteras de ciencia, siendo un ejemplo ilustrativo revistas como NeuroQuantology o el método de curación de Neurología Cuántica.