Universidad Aut´ onoma de Madrid Escuela Polit´ ecnica Superior
M´aster en Investigaci´on e Innovaci´on en Inteligencia Computacional y Sistemas Interactivos
Computaci´on cu´antica y aprendizaje autom´atico
Jaime S´ anchez Fern´ andez
Tutor:
Bryan Zaldivar
Ponente:
Alberto Su´arez
Junio de 2020
Abstract: El reciente inter´es por los m´etodos de aprendizaje autom´atico es el re- sultado del incremento en la capacidad de procesamiento computacional, sumado a la disponibilidad de grandes cantidades de datos en formato digital. Sin embargo, puesto que el volumen de datos a procesar aumenta de manera continuada, mien- tras que el incremento en la potencia computacional en ordenadores cl´asicos parece estar llegando a su l´ımite f´ısico, es necesario explorar paradigmas de computaci´on alternativos que permitan abordar estos problemas de escalado como puede ser el uso de ordenadores cu´anticos. El prop´osito de este trabajo es estudiar los llamados circuitos variacionales, un tipo de algoritmos h´ıbridos cu´antico-cl´asicos adaptado a los ordenadores cu´anticos disponibles actualmente con el fin de llevar a cabo tareas de aprendizaje autom´atico supervisado. La pregunta a la que se pretende contestar es: ¿Cu´al es la importancia de ser capaz de explorar completamente el espacio de soluciones al usar este tipo de circuitos?
El proceso de clasificaci´on, propuesto por investigadores de IBM en [1], consiste en codificar primero el vector de caracter´ısticas de un punto en el estado del sistema, sobre el que se actuar´a despu´es con un operador parametrizado que ser´a el objeto a optimizar a fin de obtener el estado final deseado. En la literatura existen otros trabajos ([1, 2])que han medido la eficiencia de estos clasificadores para circuitos de 2 y 3 qubits en simuladores ideales. En este trabajo se ha propuesto un nuevo tipo de circuito variacional y se ha comparado con otros ya existentes, realizando pruebas con el dataset MNIST tanto en dispositivos reales como en un simulador.
´ Indice
1. Introducci´on a la Mec´anica Cu´antica 4
1.1. Herramientas matem´aticas 4
1.2. Postulados de la Mec´anica Cu´antica 8
1.3. Entrelazamiento cu´antico 11
2. Computaci´on cu´antica 12
2.1. Qubits 13
2.2. Circuitos cu´anticos 15
3. Circuitos variacionales 20
3.1. Feature encoders 22
3.2. Circuitos variacionales 23
3.3. Optimizaci´on 25
3.4. SPSA 25
3.5. Sistema de clasificaci´on 26
4. Resultados 28
4.1. Ad hoc Dataset 29
4.2. MNIST Dataset 30
5. Discusi´on y conclusiones 38
Introducci´ on
Desde que fueran propuestos en la d´ecada de 1980 como una herramienta para resol- ver problemas en f´ısica y qu´ımica cu´antica, los ordenadores cu´anticos han recorrido un largo camino. Gracias a los avances realizados en ciencia de materiales, fabrica- ci´on de dispositivos electr´onicos y en teor´ıa de la informaci´on cu´antica se han logrado hitos como la ejecuci´on de una tarea en un ordenador cu´antico en cuesti´on de minu- tos que hubiera supuesto miles de a˜nos de procesamiento para un supercomputador actual [3]. Sin embargo, la llamada era de la supremac´ıa cu´antica a´un, parece algo lejana dado que los dispositivos actuales se encuentran muy limitados tanto en escala como al perder las propiedades cu´anticas del sistema tras unos pocos microsegundos debido a un proceso conocido como decoherencia cu´antica.
En los pr´oximos a˜nos, los dispositivos conocidos como Noisy Intermediate Scale Quantum computers [4] (NISQ), ordenadores cu´anticos con m´as de 50 qubits in- capaces a´un de ejecutar correcci´on de errores completa, podr´ıan encontrar sus pri- meras aplicaciones comerciales en distintos campos como simulaciones de sistemas f´ısicos en qu´ımica cu´antica [5] o incluso en aprendizaje autom´atico [6–8]. Debido a las limitaciones de los dispositivos NISQ, la mayor´ıa de los algoritmos adaptados a estos recurren a m´etodos h´ıbridos que dividen de manera estrat´egica las subrutinas ejecutadas entre dispositivos cu´anticos y cl´asicos para as´ı reducir enormemente los requerimientos en n´umero de qubits, complejidad del circuito y tiempo de coheren- cia de la informaci´on necesario. Uno de los m´etodos h´ıbridos m´as prometedor es el uso de circuitos cu´anticos parametrizados, estos est´an formados por puertas fijas (como podr´ıa ser una puerta cNOT) y puertas cuya actuaci´on depende de una va- riable ajustable (como por ejemplo una rotaci´on cu´antica de un ´angulo determinado).
Este tipo de circuitos suele poseer un n´umero de puertas l´ogicas que escala lineal- mente con el n´umero de qubits, para as´ı poder ejecutarse correctamente en los or- denadores actuales. Pese a su aparente simplicidad, estos circuitos pueden producir resultados dif´ıciles de replicar por ordenadores cl´asicos [9]. Adem´as, dentro del campo del aprendizaje autom´atico cu´antico, existen distintos esfuerzos por establecer cotas a la capacidad de aprendizaje de los dispositivos cu´anticos desde un marco te´orico [10,11], descubriendo que algunas clases de funciones que no pod´ıan ser eficientemen- te aprendidas usando ordenadores cl´asicos podr´an serlo para sus an´alogos cu´anticos [12]. Este tipo de resultados, unido a la dificultad de simular los c´alculos de cir- cuitos variacionales parece indicar que, aunque, el tipo de clasificadores que estamos estudiando no suponen una mejora sobre la velocidad con respecto a m´etodos ya usa- dos, s´ı que pueden mejorar el rendimiento de los modelos cl´asicos para algunas tareas.
Los circuitos variacionales son matem´aticamente equivalentes a operadores unitarios
en un espacio cuya dimensi´on crece exponencialmente con el n´umero de qubits, por lo que la pregunta de investigaci´on de este trabajo ser´a si es posible aprovechar las ventajas para el aprendizaje autom´atico de este tipo de m´etodos limitando nuestra capacidad de explorar el espacio de soluciones al usar circuitos variacionales senci- llos. Para ello, propondremos un nuevo tipo de circuito variacional que represente a un operador gen´erico y probaremos su rendimiento en un clasificador, compar´andolo con otras soluciones ya existentes.
El esquema t´ıpico usado al aplicar estos circuitos a tareas de aprendizaje autom´ati-
Figura 1. Esquema general seguido por la mayor´ıa de algoritmos h´ıbridos.
co se puede encontrar en la figura 1. En este contexto la palabra aprendizaje hace referencia a la actualizaci´on iterativa de los par´ametros del circuito hasta conseguir que este consiga un objetivo dado. Un ejemplo del uso de esta t´ecnica es [13] donde se proponen redes generativas antag´onicas con circuitos param´etricos que sustituyen a las redes neuronales usuales con el fin de preparar eficientemente estados cu´anticos que sigan una distribuci´on de probabilidad determinada, puesto que, este procedi- miento es importante para poder realizar ciertas integraciones de manera eficiente y por tanto crucial para numerosos algoritmos cu´anticos [14].
La estructura del trabajo ser´a la siguiente: Una introducci´on a los principios fun- damentales de la mec´anica cu´antica se presenta en el Cap´ıtulo 1 mientras que el Cap´ıtulo 2 consistir´a en la aplicaci´on de estos a la computaci´on cu´antica para crear circuitos cu´anticos. En el Cap´ıtulo 3 se pretende explicar el funcionamiento general del clasificador as´ı como analizar cada una de sus componentes tras el que se expo- nen los resultados obtenidos en el entrenamiento de distintos modelos en el Cap´ıtulo
4. Finalmente, el Cap´ıtulo 5 presenta los resultados obtenidos adem´as de proponer posibles mejoras y recomendaciones para futuras investigaciones.
1. Introducci´ on a la Mec´ anica Cu´ antica
Hacia el final del siglo XIX, qued´o patente la incapacidad de la f´ısica cl´asica a la hora de aportar predicciones que coincidieran con varios experimentos de la ´epoca. Este hecho supuso el nacimiento de una nueva teor´ıa que propon´ıa un profundo cambio en nuestra manera de entender procesos fundamentales en la naturaleza, la mec´anica cu´antica. Esta describe el comportamiento de la luz y la materia a escala macrosc´opi- ca otorgando los mismos resultados que su contraparte cl´asica siendo, adem´as, capaz de predecir correctamente procesos a escala at´omica y subat´omica en concordancia con todos los resultados experimentales obtenidos hasta la fecha.
El prop´osito de este cap´ıtulo es el de presentar las ideas b´asicas y fundamentales de la mec´anica cu´antica que nos permitan desarrollar y entender posteriormente las propuestas de la computaci´on cu´antica. Para ello, definiremos primero los conceptos matem´aticos que nos permitir´an dar una descripci´on completa y rigurosa de esta teor´ıa.
Una vez desarrollado todo el formalismo matem´atico pasaremos a establecer los pos- tulados de la mec´anica cu´antica del mismo modo que lo hicieron Paul Adrien Maurice Dirac [15] y John von Neumann [16] ya en 1930, cuando esta se encontraba a´un en sus primeras etapas.
Por ´ultimo, pasaremos a describir sistemas de m´ultiples part´ıculas (que pasar´an a ser m´ultiples qubits en las siguientes secciones) y veremos como esto da lugar al fen´omeno del entrelazamiento cu´antico.
1.1. Herramientas matem´ aticas
A pesar del cambio radical de paradigma que supuso la mec´anica cu´antica, sus prin- cipios se fueron estableciendo muy gradualmente. Ya, a principios del siglo XIX, Thomas Young[17] y Augustin-Jean Fresnel[18] realizaron una serie de experimentos que requer´ıan pensar en la luz como una onda para poder explicar su comportamien- to. Para el final de ese mismo siglo, las ecuaciones de Maxwell hicieron patente que la luz no era m´as que una onda de radiaci´on electromagn´etica. En 1924, Louis de Broglie fue m´as all´a y present´o en su tesis la idea de la dualidad onda-corp´usculo para toda la materia inspirado por la teor´ıa de la relatividad especial de Einstein, seg´un sus propias palabras [19]:
The fact that, following Einstein’s introduction of photons in light waves, one knew that light contains particles which are concentrations of energy incorporated into the wave, suggests that all particles, like the electron, must be transported by a wave into which it is incorporated... My essential idea was to extend to all particles the coexistence of waves and particles discovered by Einstein in 1905 in the case of light and photons.
Esta manera de entender la realidad se ver´a reflejada en la mec´anica ondulatoria desa- rrollada en 1925 por Erwin Schr¨odinger, es en esta teor´ıa donde aparece por primera vez uno de los elementos centrales de la mec´anica cu´antica: la funci´on de onda ψ(r, t).
Funci´on de onda
Esta funci´on sustituye el concepto de trayectoria cl´asica puesto que, ahora la posi- ci´on de una part´ıcula ya no estar´a perfectamente definida sino que tendremos una probabilidad de encontrarla en un punto r y en un instante t proporcional a ψ(r, t).
M´as concretamente, la densidad de probabilidad de encontrar a la part´ıcula en ese lugar e instante ser´a:
dP(x, t) = C |ψ(r, t)|2
Donde hemos usado la notaci´on de valor absoluto para denotar al m´odulo de ψ ya que, su imagen estar´a en general en el cuerpo de los n´umeros complejos.
Para una ´unica part´ıcula, la probabilidad total de encontrarla en cualquier punto del espacio debe ser igual a uno, de esta manera usando la ecuaci´on anterior podremos escribir la siguiente condici´on:
Z
R3
drC |ψ(r, t)|2 = 1
El convenio habitual es tomar C como 1 y reescalar la funci´on de onda para que est´e normalizada.
La ecuaci´on anterior nos lleva a estudiar todas las funciones en las que la integral converge, por lo que, ser´an candidatas a ser funciones de onda. Este conjunto es co- nocido como funciones de cuadrado integrable por los matem´aticos y se suele denotar como L2. En realidad, nuestro inter´es se limitar´a a un subconjunto de L2 dado que, para obtener resultados f´ısicos podemos imponer adem´as sobre nuestras funciones de onda varias restricciones de regularidad como son que la funci´on de onda est´e definida en todo punto y, que sea continua e infinitamente diferenciable, de cualquier
otro modo se obtendr´ıan resultados carentes de significado f´ısico. Llamaremos F a este subespacio de L2.
El conjunto L2 tiene estructura de espacio de Hilbert, que es la extensi´on de la noci´on de un espacio vectorial a un n´umero de dimensiones que ya no es necesariamente finito. Para ver que F es un subespacio propiamente dicho tendremos que comprobar si este es cerrado frente a la suma de elementos. Esta condici´on significa:
λ1ψ1(r, t) + λ2ψ2(r, t) ∈ F si ψ1, ψ2 ∈ F Para cualesquiera λ1 y λ2 complejos.
Podemos adem´as dotar a F de un producto escalar definido de la siguiente manera:
hφ, ψi = Z
R3
drφ∗(r, t)ψ(r, t)
Donde φ∗ denota el conjugado complejo de φ. Cabe destacar que, debido a la forma del producto escalar, si intercambiamos la posici´on de las funciones de onda (es decir hψ, φi) obtendremos el complejo conjugado de hφ, ψi.
Este modo (h, i) de denotar al producto escalar inspir´o a Dirac a introducir su no- taci´on bra-ket, en esta se asocia un vector ket a cada elemento de F de la siguiente manera:
ψ(r, t) ∈ F ⇐⇒ |ψ(t)i ∈ E
Para definir el otro tipo de elementos de esta notaci´on, los vectores bra, primero tenemos que definir el espacio dual de F, es decir, el espacio de las aplicaciones lineales que asignan un escalar complejo a cada elemento ψ(x, t) ∈ F:
φ(ψ) = λ con φ() ∈ Dual(F) φ(aψ1+ bψ2) = aφ(ψ1) + bφ(ψ2) = aλ1 + bλ2
Los vectores bra se definen entonces a trav´es de los elementos de Dual(F) con la siguiente transformaci´on:
φ() ∈ Dual(F) ⇐⇒ hφ| ∈ E∗
Usando el producto escalar definido antes, podemos asignar un bra a cada ket de la siguiente manera:
|φi ⇐⇒ φ() = hφ, i ⇐⇒ hφ|
Y as´ı reescribir el producto escalar como:
hφ|ψi = hφ, ψi
El uso de esta notaci´on est´a ampliamente extendido en mec´anica cu´antica puesto que, facilita un gran n´umero de c´alculos habituales en el campo.
Observables
Los operadores lineales son funciones que asocian a cada ket |ψi otro ket |ψi0 de la siguiente manera:
A |ψi= |ψi0
A(|ψ1i + |ψ2i) = A |ψ1i + A |ψ2i
Por analog´ıa con el algebra lineal en espacios vectoriales usuales es habitual definir el elemento de matriz de un operador lineal A como el siguiente escalar:
Ai,j = hψi| (A |ψji)
El producto de dos de estos operadores A y B, se define a trav´es de su acci´on sobre un ket:
(AB) |ψi = A(B |ψi)
Como se puede ver, este producto no es conmutativo en general por lo que nos ser´a
´
util en adelante definir el conmutador de dos operadores lineales como:
[A, B] = AB − BA
Si ahora usamos la correspondencia que vimos en la secci´on anterior entre kets y bras, podemos definir el adjunto de un operador A (Para el que usaremos el super´ındice daga †):
|φ0i = A |φi ⇐⇒ hφ|0 = hφ| A†
Calculando ahora el elemento de matriz de este nuevo operador:
A†i,j = (hψi| A†) |ψji = (hψj| (A |ψii))∗ = A∗j,i
Los operadores que cumplan A = A† son llamados operadores herm´ıticos y poseen un rol central dentro de mec´anica cu´antica ya que sus autovalores corresponden a
cantidades f´ısicas medibles, hecho que hace que reciban el nombre de observables.
Los autovectores y autovalores de un operador lineal se definen mediante la misma ecuaci´on que para una matriz en ´algebra lineal:
A |uii = ai|uii
Los autovalores de un operador lineal ser´an en general complejos pero en el caso de los observables es f´acil demostrar que estos han de ser reales.
1.2. Postulados de la Mec´ anica Cu´ antica
Para entender mejor la novedad que supuso la mec´anica cu´antica vamos primero a repasar los axiomas sobre los que se construye la mec´anica cl´asica.
Esta ´ultima, es sin duda uno de los mayores ´exitos de la f´ısica moderna. Su desarrollo se inici´o en el sXVII por Isaac Newton y Gottfried Wilhelm Leibniz entre otros para explicar el movimiento de los cuerpos celestes dando lugar a la teor´ıa conocida co- mo mec´anica Newtoniana. Durante los siglos XVIII y XIX se profundizo y extendi´o el trabajo de Newton mediante m´etodos m´as abstractos dando lugar a la mec´anica anal´ıtica[20], que sigue siendo utilizada hoy en d´ıa en todos los campos de la f´ısica moderna siempre que no est´en involucradas escalas muy peque˜nas (para las cuales es necesario el uso de la mec´anica cu´antica, como ya hemos visto) u objetos muy masivos (donde se hace imprescindible el uso de la relatividad general).
La descripci´on cl´asica de un sistema f´ısico se resume en los siguientes enunciados:
1. El estado de un sistema en un momento a tiempo t0 quedar´a totalmente de- terminado al especificar la posici´on y el momento de las N part´ıculas que lo componen.
2. El valor de cualquier magnitud f´ısica estar´a de igual manera completamente determinado en un tiempo t0 si el estado del sistema en ese momento es co- nocido. Y por tanto, se podr´a predecir con seguridad el resultado de cualquier medici´on.
3. La evoluci´on temporal del sistema a partir de un tiempo t0se obtendr´a mediante las ecuaciones de Hamiston-Jacobi1.
1Las ecuaciones de Hamilton-Jacobi[20, Cap´ıtulo 10] son un sistema de ecuaciones diferenciales de primer orden para la posici´on y el momento de las part´ıculas del sistema. Esto hace que su soluci´on dadas unas condiciones iniciales es ´unica, por lo que el sistema quedar´a determinado para cualquier tiempo.
En contraposici´on a la definici´on cl´asica de un sistema f´ısico (enunciado 1) tenemos el primer postulado de la mec´anica cu´antica[21]:
El estado del sistema en un tiempo t0 quedar´a determinado al especificar un ket
|ψ(t0)i perteneciente al espacio de estados E.
Aqu´ı se formaliza la intuici´on que vimos al definir la funci´on de onda de que esta era un an´alogo a las trayectorias cl´asicas. Para ver el an´alogo a cu´antico a las magnitudes f´ısicas (enunciado 2) tenemos el segundo postulado:
Toda cantidad f´ısica medible corresponder´a a la actuaci´on de un observable (secci´on 1.1) sobre el espacio de estados E.
Vemos que esto establece una diferencia radical con la mec´anica cl´asica, donde las magnitudes f´ısicas eran funciones de las variables de estado de nuestro sistema, mien- tras que ahora son operadores que act´uan sobre vectores ket, que son los que contienen el estado de nuestro sistema.
De esta manera, el resultado cl´asico de la medici´on de una magnitud ser´a el valor de la funci´on que la representa lo que hace que surja la cuesti´on de c´omo se determina el valor de la medici´on de la magnitud en mec´anica cu´antica, para lo que est´a el siguiente postulado:
El ´unico resultado posible de la medici´on de un observable cualquiera (A) ser´a uno de los autovalores de este (ai).
Vemos que se ha perdido la certeza cl´asica sobre las mediciones ya que ahora pode- mos obtener de manera aleatoria cualquier autovalor del observable como resultado.
El siguiente postulado nos da informaci´on acerca de la probabilidad de obtener cada resultado posible:
La probabilidad de obtener el autovalor ai en una medici´on ser´a igual a:
P(ai) = |hui|ψi|2 (1.1)
Donde |uii es el autovector del observable A con autovalor ai, en caso de que el autovalor est´e degenerado, la probabilidad ser´a:
P(ai) =
gi
X
n=1
|huni|ψi|2 (1.2)
Donde gi es la degeneraci´on de este.
Este postulado se puede extender a casos en los que los posibles resultados de la medici´on no pertenezca a un conjunto discreto de posibilidades sino que estos for- men un continuo pero en este trabajo no ser´a necesario dado que, en computaci´on cu´antica no se dan este tipo de situaciones.
El quinto postulado sirve para establecer qu´e sucede con la funci´on de onda despu´es de una medici´on puesto que, aunque no podamos saber el resultado de esta a prio- ri, una vez que hemos medido tenemos nueva informaci´on y hemos de integrarla en nuestra funci´on de onda:
La medici´on de un sistema har´a que este colapse al estado:
|ψi −→
ai
Pi|ψi
phψ|Pi|ψi (1.3)
Donde Pi es el proyector en el espacio de los autovectores con autovalor ai, {|unii}, definido como:
Pi =
gi
X
n=1
|unii huni| (1.4)
El ´ultimo postulado es el an´alogo al Enunciado3 de la mec´anica cl´asica:
La evoluci´on del sistema vendr´a dada por la ecuaci´on de Schr¨odinger:
i~d
dt|ψ(t)i = H(t) |ψ(t)i (1.5)
Una de las consecuencias m´as importantes de este ´ultimo postulado es el principio de superposici´on, este se deriva de la homogeneidad y linealidad de la ecuaci´on de Schr¨odinger.
Para ilustrar este concepto supongamos que |ψ1(t)i y |ψ2(t)i son soluciones de (1.5), entonces
ψ(t)ˆ E
= λ1|ψ1(t)i + λ2|ψ2(t)i Tambi´en lo ser´a, siempre que cumplaD ˆψ(t)
ψ(t)ˆ E
= 1 para que se cumpla la conser- vaci´on de la probabilidad.
1.3. Entrelazamiento cu´ antico
Descrito por Einstein como una “escalofriante acci´on a distancia” e incluso tratado como una prueba de la inconsistencia de la mec´anica cu´antica, el entrelazamiento cu´antico ha llegado a convertirse en uno de los aspectos m´as peculiares de la mec´ani- ca cu´antica adem´as de la pieza m´as importante dentro de las diferencias entre la mec´anica cl´asica y cu´antica.
Para entender en qu´e consiste este fen´omeno tendremos primero que definir el pro- ducto tensorial de los espacios de Hilbert de dos part´ıculas distintas:
E = EA⊗ EB
Tendremos que para cada ket |uiiA perteneciente al espacio EA y cada ket |vjiB perteneciente al espacio EB tendremos un ket:
|uiiA⊗ |vjiB ≡ |ui, vji ∈ E
Este producto ser´a por definici´on distributivo y lineal con respecto a la multiplicaci´on de escalares:
(λ |uiiA) ⊗ (|vjiB+ |vkiB) = λ |ui, vji + λ |ui, vki
De esta manera, los kets pertenecientes a este nuevo espacio ser´an los que describan el sistema f´ısico de dos part´ıculas. Por lo que, si una se encuentra en el estado |φiA y otra en |ξiB, el sistema ser´a |φiA⊗ |ξiB. Este tipo de estados se denomina estados separables o estados producto y las probabilidades de obtener un resultado para la medici´on tambi´en se podr´an factorizar como un producto de las probabilidades in- dividuales para cada part´ıcula.
El entrelazamiento cu´antico aparece cuando nos damos cuenta de que el estado m´as general de E se puede escribir como:
|ψiAB =X
i,j
ci,j|ui, vji
Y no tiene por qu´e ser un estado separable, esto implica que entre las dos part´ıculas pueden estar correlacionadas y de esta manera las mediciones que se realicen sobre una no s´olo nos dar´an informaci´on sobre el estado de la otra, sino que podr´ıan afectar a este debido al colapso de la funci´on de onda.
Veamos ahora un ejemplo ilustrativo, imaginemos que tenemos dos part´ıculas en el
siguiente estado:
|ψiAB = 1
√2(|0iA⊗ |1iB+ |1iA⊗ |0iB)
Donde los kets cumplen las siguientes relaciones con los operadores XA y XB: XA|0iA= a0|0iA XA|1iA= a1|1iA
XB|0iB = b0|0iB XB|1iB = b1|1iB
Si al medir el observable Xa obtenemos el autovalor a0, nuestro estado colapsar´a a:
|ψ0iAB = P0,A|ψi
hψ| P0,A|ψi = |0iAh0|A(|0iA⊗ |1iB+ |1iA⊗ |0iB)
= |0iAh0|A|0iA⊗ |1iB+ |0iAh0|A|1iA⊗ |0iB
= |0iAh0|A|0iA⊗ |1iB = |0iA⊗ |1iB Mientras que si obtenemos el valor a1, el estado final ser´a:
|ψ0iAB = |1iA⊗ |0iB
Vemos que al medir la part´ıcula A, tambi´en queda totalmente determinado el esta- do de la part´ıcula B. Durante mucho tiempo se pens´o que la mec´anica cu´antica era una teor´ıa incompleta cuya naturaleza probabil´ıstica era debida a la existencia de una serie de variables ocultas que, de ser tomadas en cuenta, predecir´ıan de manera determinista el resultado de cualquier medici´on. No fue hasta los a˜nos 60, con las desigualdades propuestas por John Stewart Bell (y que m´as tarde recibir´ıan su nom- bre), que se demostr´o la incompatibilidad de la mec´anica cu´antica con las teor´ıas de variables ocultas.
En su art´ıculo titulado “Sobre la paradoja de Einstein Podolsky Rosen”[22], Bell llevaba un paso m´as all´a el an´alisis del entrelazamiento y despert´o el inter´es por este, ya que, la correlaci´on entre las mediciones y la informaci´on mutua de las distintas part´ıculas entrelazadas puede ser explotada y de hecho es una parte central de cam- pos como la criptograf´ıa cu´antica y la computaci´on cu´antica.
2. Computaci´ on cu´ antica
A principios de los a˜nos 70 surgi´o un gran inter´es por conseguir controlar de manera precisa un sistema cu´antico aislado para estudiar sus propiedades, este tipo de ex-
perimentos inspiraron a Paul Benioff para que en el a˜no 1979 publicara su art´ıculo
“The computer as a physical system: A microscopic quantum mechanical Hamilto- nian model of computers as represented by Turing machines”[23]. En este se sugiere y explora el uso de la mec´anica cu´antica como un nuevo paradigma de la computaci´on.
Poco despu´es, tanto Yuri Manin en su libro C¸ omputable and Non-Computable”[24]
(escrito originalmente en ruso y no traducido hasta a˜nos m´as tarde) como Richard Feynman en su charla ”Simulating Physics with Computers”[25] ayudaron a definir aspectos b´asicos de la computaci´on cu´antica, as´ı como proponer posibles usos dando el pistoletazo de salida a la investigaci´on de algoritmos que aprovecharan las cuali- dades de estos curiosos ordenadores. En 1985 David Deutsch public´o un art´ıculo[26]
donde formalizaba la noci´on de m´aquina de Turing cu´antica y formulaba una versi´on m´as fuerte del principio de Church–Turing para teor´ıa de complejidad, que expone que cualquier proceso f´ısico puede ser simulado eficientemente por una m´aquina de Turing cu´antica.
Gran parte del inter´es por los ordenadores cu´anticos es debido a su capacidad de resolver varios problemas en tiempo polinomial que se sospecha que no podr´ıan ser resueltos en el mismo orden de tiempo por una m´aquina de Turing cl´asica2, algunos de estos son:
La factorizaci´on de enteros: Uno de los algoritmos cu´anticos m´as famosos pro- puesto por Peter Shor en 1999[27] donde, adem´as, se detalla un m´etodo para el c´alculo eficiente de logaritmos discretos.
La simulaci´on de sistemas cu´anticos demasiado complejos para su estudio, tanto en laboratorio como su simulaci´on en superordenadores cl´asicos[28].
La b´usqueda de soluciones aproximadas para el polin´omio de Jones en teor´ıa de nudos[29].
Este conjunto de problemas, que pueden ser resueltos por un ordenador cu´antico en un tiempo polinomial con un error acotado es denominado BQP.
2.1. Qubits
De la misma manera que un bit es la unidad b´asica de informaci´on en computaci´on cl´asica y se implementa f´ısicamente con un sistema f´ısico que puede tomar dos estados distintos, un qubit ser´a su versi´on cu´antica y se implementar´a mediante un sistema
2P es el conjunto que engloba a todos estos problemas.
cu´antico con dos estados, por lo que como vimos en la secci´on anterior, si llamamos a esos estados |0i o |1i, tendremos que, en general:
|xi = α |0i + β |1i Donde α y β son complejos.
Vemos, que gracias al uso de un sistema cu´antico para la codificaci´on de un qubit (este puede ser la polarizaci´on de un fot´on o el esp´ın de un electr´on aunque tambi´en existen propuestas m´as complejas que usan circuitos electr´onicos en materiales su- perconductores) podremos aprovechar propiedades de la mec´anica cu´antica como la superposici´on o el entrelazamiento.
A˜nadir m´as qubits es equivalente al caso de m´ultiples part´ıculas que vimos en la secci´on anterior. Por ejemplo, si tenemos dos qubits:
|xi = α |00i + β |01i + γ |10i + η |11i Y con un n´umero n de qubits:
|xi =
1
X
i0,i1,...,in=0
ci0,i1,...,in|i0, i1, . . . , ini
A veces, puede ser ´util representar los kets en notaci´on vectorial, de esta manera:
|xi = (c0,...,0, c0,...,1, . . . , c1,...,1)T
El n´umero de par´ametros necesario para describir un sistema de n qubits ser´a 2n, mientras que, en un sistema cl´asico s´olo necesitamos n (para especificar en estado de cada bit), esto supone un aumento exponencial de la informaci´on que almacena un estado con respecto al caso cl´asico para ver lo que supone este hecho, imaginemos que tuvi´eramos 500 qubits totalmente conectados en un ordenador cu´antico, podr´ıamos en teor´ıa almacenar 2500 coeficientes en el estado que representa nuestro sistema,
¡M´as que el n´umero de ´atomos del universo!
El precio a pagar por la capacidad de operar sobre tal cantidad de informaci´on es que no podemos acceder a ella directamente puesto que, est´a codificada en la funci´on de onda del sistema y la ´unica manera de obtener el resultado de nuestro c´alculo ser´a mediante mediciones, que como ya hemos visto destruyen el estado haciendo
que colapse. Podemos reconstruir la funci´on de onda repitiendo el c´alculo y viendo la cantidad de veces que obtenemos cada resultado, pero necesitar´ıamos repetir este proceso una cantidad exponencial de veces con lo que perder´ıamos cualquier ventaja obtenida.
2.2. Circuitos cu´ anticos
La computaci´on cl´asica se cimenta sobre circuitos electr´onicos y de manera an´aloga se construye la computaci´on cu´antica, usando cables que transmiten la informaci´on y puertas cu´anticas que act´uan sobre esta para representar nuestros c´alculos.
Comenzaremos describiendo las puertas m´as sencillas, que solo act´uan sobre un qu- bit. En computaci´on cl´asica, podemos definir dos puertas l´ogicas sobre un bit: la puerta NOT, que lo invierte y un buffer, que lo deja exactamente igual. En compu- taci´on cu´antica sin embargo podemos definir infinidad de transformaciones sobre un qubit, siempre que cumplan ciertos requisitos para ser coherentes con los postulados de la mec´anica cu´antica.
Lo primero que impondremos ser´a que act´ue linealmente sobre los estados de la base computacional, por lo que, nos bastar´a con especificar su acci´on sobre estos.
Conociendo esto ya podemos imaginar como ser´a la versi´on cu´antica de una puerta NOT:
X |0i = |1i X |1i = |0i X(α |0i + β |1i) = α |1i + β |0i
A continuaci´on, se exponen algunas de las puertas de un qubit m´as habituales, junto con su representaci´on matricial:
Puerta S´ımbolo Matriz
Pauli-Z Z 1 0
0 −1
Pauli-X X 0 1
1 0
Pauli-Y Y
0 −i i 0
Hadamard H √12
1 1 1 −1
Rotaci´on-Z Rz √12
1 1 1 −1
Rotaci´on-Y Ry √121 1 1 −1
Rotaci´on-X Rx √12
1 1 1 −1
En la pr´actica todos estos operadores se crear´an a partir de tres puertas f´ısicas definidas en la representaci´on intermedia para instrucciones cu´anticas Open Quantum Assembly Language [30]:
Puerta S´ımbolo Matriz
U1(λ) U1 1 0
0 eiλ
U2(λ, φ) U2 1 e−iλ
eiφ e−i(λ+φ)
U3(λ, φ, θ) U3
"
cosθ2 e−iλsinθ2 eiφsinθ2 e−i(λ+φ) cosθ2
#
El uso de estas tres puertas permite optimizar las implementaciones reduciendo as´ı el error en la ejecuci´on de los circuitos.
La ´ultima restricci´on que impondremos sobre las transformaciones ser´a que sean unitarias. Por lo que, toda puerta l´ogica representada por un operador U cumplir´a:
hx|xi = (hx| U−1)(U |xi) U−1U = I
Esta condici´on asegura que se conserve la probabilidad total, pero tiene una conse- cuencia a´un m´as profunda, todas las operaciones que se realizan durante un c´alculo cu´antico (exceptuando las mediciones) son reversibles, para ello, nos bastar´a con aplicar la transformaci´on inversa. ¿Significa esto que no existe un an´alogo cu´anti- co a puertas l´ogicas tan b´asicas como AND u OR? La respuesta es que s´ı, ya que, para cualquier funci´on binaria f : {0, 1}m → {0, 1}n podremos definir una funci´on invertible:
fˆ: {0, 1}m+n→ {0, 1}m+n Tal que:
f(xˆ 0,...,m−1, xm,...,n+m−1) = (x0,...,m−1, xm,...,m+n−1⊕ f (x0,...,m−1))
De esta manera, su imagen ser´a un vector binario con los m primeros bits iguales a los de su entrada y los n siguientes iguales a la suma m´odulo 2 de los ´ultimos n bits
de la entrada y el resultado de f evaluado en x0,...,m−1.
Es f´acil ver que esta nueva funci´on ser´a biyectiva, de modo que, podremos imple- mentarla en una puerta l´ogica cu´antica que aplique ˆf a cada elemento de la base computacional.
Veamos como ejemplo la implementaci´on una puerta AND en un circuito cu´antico:
|ai
|bi
|0i X
a b a b c
0 0 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 1 1 1
Para ello, hemos utilizado una puerta NOT (o Pauli-X) doblemente controlada que act´ua sobre un qubit ancilla fijado inicialmente en |0i. El uso de ancillas es muy habitual en computaci´on cu´antica para evitar tener que perder la informaci´on de alguno de los bits iniciales, lo que provocar´ıa que la operaci´on no fuera reversible.
Por ´ultimo, para representar las mediciones que se usaremos al final de los circuitos para obtener informaci´on sobre el estado final de los qubits proyectando en la base computacional se usar´a el s´ımbolo:
Las mediciones constituyen la ´unica operaci´on no reversible de todas las que hemos visto dado que rompen la superposici´on y coherencia del sistema, por esta raz´on se suelen reservar para el final del circuito, con el fin de aprovechar los estados cu´anticos lo m´aximo posible.
Construcci´on de una puerta universal de n-qubits
Hasta ahora, nos hemos limitado al estudio de puertas l´ogicas que act´uan sobre un solo qubit, ya sea directamente o bien de manera controlada. Su importancia radica en lo sencillo que supone replicar su efecto en un sistema cu´antico y por tanto en lo f´acil que resulta su implementaci´on, no siendo este el caso para puertas de varios qubits.
Por este motivo ser´a fundamental que seamos capaces de crear puertas que act´uen de manera arbitraria sobre varios qubits a partir solamente de un subconjunto de las
puertas simples vistas anteriormente. Para ello, al igual que en computaci´on cl´asi- ca se demuestra la universalidad de las puertas NAND y COPY capaces de crear cualquier funci´on booleana, aqu´ı desarrollaremos un algoritmo capaz de construir un operador general de n a n qubits usando como conjunto universal puertas cNOT y rotaciones de un solo qubit.
Un requisito previo importante es conseguir desarrollar puertas de un s´olo qubit m´ultiplemente controladas usando ´unicamente nuestro set de puertas universales.
Este problema fue resuelto por Barenco et al. en su art´ıculo [31] donde proponen un m´etodo para conseguir esto mismo. Un ejemplo para el caso de una puerta U doblemente controlada en un circuito de 3 qubits puede verse en la figura:
Donde V cumple que V2 = U .
U
=
V V† V
Una vez que podemos usar puertas de un qubit m´ultiplemente controladas podemos resolver nuestro problema principal haciendo uso de la siguiente descomposici´on, tal cual se muestra en [32]:
U(n) =
2n−1
Y
i=1 i−1
Y
j=0
Vij (2.1)
Vij actuar´a de forma trivial sobre los 2nelementos del espacio de Hilbert exceptuando a los kets |ii ≡ |i0i1i2i3i y |ji ≡ |j0j1j2j3i sobre los que aplicar´a una transformaci´on general. La idea principal de este procedimiento es reducir la relaci´on de estos dos elementos a la aplicaci´on de una rotaci´on gen´erica entre ellos como si se trataran de los dos estados de un solo qubit y al hacerlo para todos los pares i y j, poder imitar el efecto de cualquier operador elemento a elemento.
Para construir un circuito equivalente a Vij comenzaremos escribiendo un c´odigo Gray entre las expresiones binarias de i y j. Por ejemplo si tenemos i = 1001 y j = 0100, este ser´a:
i3 i2 i1 i0
i= 1 0 0 1 i0 = 1 0 0 0 i00 = 1 1 0 0 j = 0 1 0 0
Puesto que, cada uno de los n´umeros en este c´odigo solo difiere en un bit del siguien- te, podemos usar una puerta C(n−1)− N OT para pasar de un elemento del c´odigo Gray al siguiente como se puede apreciar en el siguiente circuito:
|i0i |j0i
|i1i |j1i
|i2i |j2i
|i3i |j3i
Donde los puntos sin relleno son controles que se activan con el estado |0i. Si en lugar de la ´ultima puerta, colocamos un operador U que corresponda a cualquier rotaci´on de un qubit y tras ello deshacemos el efecto de las C(n−1)− N OT aplicadas, obtendremos el siguiente circuito (en este caso concreto para i = 1001 y j = 0100):
R
Si analizamos en detalle la acci´on de este circuito veremos que las dos primeras puer- tas se activar´an solamente con los kets |ii = |i0i1i2i3i = |1001i y |i0i = |i0i1j2j3i =
|1001i transform´andolos en |i00i = |i0j1j2j3i = |1100i. La rotaci´on R actuar´a entonces
sobre el primer qubit (|i0i = |1i = (0, 1)T para este caso concreto) de la siguiente manera:
R(θ, φ, λ) |i0i ⊗ |j1j2j3i =
"
cos θ2
e−iλsin θ2 eiφsin θ2 ei(φ+λ) cos(θ2)
!
|i0i
#
⊗ |j1j2j3i
=
eiφsin θ 2
|0i + ei(φ+λ) cos(θ2) |1i
⊗ |j1j2j3i
= eiφsin θ 2
|ji + ei(φ+λ) cos(θ2) |i00i
Las dos ´ultimas puertas transformar´an el ket |i00i devolvi´endolo a su estado original
|ii. Siguiendo un desarrollo similar para la componente |ji, obtenemos el siguiente mapeo para el circuito anterior:
|ii , |i0i , |i00i → eiφsin θ 2
|ji + ei(φ+λ) cos(θ2) |ii
|ji → cos θ 2
|ji e−iλsin θ 2
|ii
La actuaci´on de este ser´a trivial para el resto de componentes de la base. Una vez visto como crear y c´omo act´ua Vij solo tendremos que colocar estos circuitos en serie seg´un nos indica2.1 y habremos terminado nuestra implementaci´on de U(n).
Este procedimiento es v´alido para cualquier puerta pero en general no ser´a eficiente puesto que necesitaremos (2n−1)22 n−1 puertas Vij (lo que supone un crecimiento O(2n× 2n) = O(4n)) y cada una de estas necesitar´a adem´as O(n2) puertas elementales.
Encontrar qu´e transformaciones unitarias se pueden representar usando un n´umero polinomial de puertas elementales es a d´ıa de hoy un problema abierto en el campo.
3. Circuitos variacionales
Una gran parte de los algoritmos cu´anticos propuestos para aprendizaje autom´atico consisten en codificar primero los datos que poseamos en las 2n amplitudes de un es- tado cu´antico para m´as tarde operar sobre este mediante circuitos con n qubits, que podr´an procesar estos datos entonces en un tiempo polilogar´ıtmico, siempre y cuan- do nuestro circuito posea un n´umero de puertas de orden O(poly(n)). Sin embargo en la pr´actica nos encontramos con que gran parte de los algoritmos propuestos no puedan ser implementados en los dispositivos disponibles hoy en d´ıa ya que poseen qubits imperfectos que intercambian calor con el entorno haciendo que pierdan sus
propiedades cu´anticas en pocos microsegundos.
Los m´etodos h´ıbridos hacen uso de ordenadores cl´asicos para simplificar los algo- ritmos usados ya que limitan el uso de ordenadores cu´anticos a tareas concretas en las que su uso suponga una ventaja. Esto los convierte en candidatos perfectos pa- ra las primeras aplicaciones reales de ordenadores cu´anticos en el futuro cercano.
Centr´andonos, adem´as, en el campo del aprendizaje autom´atico, destacan los circui- tos variacionales 1 que utilizan circuitos parametrizados que se optimizan con el fin de minimizar una funci´on de coste dada.
En nuestro caso crearemos un clasificador bas´andonos en esta familia de algoritmos.
Como base para entrenar y calcular la precisi´on de los modelos estudiados emplea- remos llamada librer´ıa Variational Quantum Classifier (VQC) nativa de Qiskit [33].
Para la creaci´on, entrenamiento y validaci´on de un modelo usaremos un conjunto de puntos de entrenamiento y otro de test, estos puntos ser´an una tupla (x, y) donde x la representaci´on del punto en el feature space elegido e y la clase de este.
Nuestro modelo nos dar´a una predicci´on en funci´on de un vector de par´ametros θ mediante el siguiente proceso:
1. Se parte de un vector de estado |0⊗ni donde n es el n´umero de qubits del circuito
2. Aplicaremos un circuito que llamaremos feature encoder (secci´on3.1) al estado inicial. La acci´on de este ser´a codificar x en el vector de estado |φii = F (x) |0⊗ni donde F (x) es el operador unitario que representa al feature encoder.
3. Por ´ultimo, se aplicar´a el circuito variacional (secci´on 3.2) Uθ de modo que:
|φfi = Uθ|φii
4. Clasificaci´on del punto (ver secci´on 3.5 para m´as detalles) a partir de la medi- ci´on de m´ultiples ejecuciones del circuito que permitan muestrear las probabi- lidades de cada estado de φf.
Por otra parte, los par´ametros θ se actualizar´an mediante un m´etodo estoc´astico de descenso de gradiente (secci´on 3.3) usando una funci´on de coste que compara las predicciones realizadas por nuestro modelo para los puntos de entrenamiento con sus respectivas clases.
3.1. Feature encoders
Los feature encoders se encargar´an de generar un circuito que codifique nuestros da- tos en las amplitudes de un estado cu´antico. Este circuito, al que denominaremos F(x) poseer´a una serie de puertas, cuyos par´ametros, ser´an funci´on del punto que estamos clasificando.
En este trabajo hemos estudiado dos opciones distintas, que se detallan a continua- ci´on.
Raw Feature Vector
Este feature encoder consiste en asignar cada componente del punto x normalizado de nuestros datos a una de las 2n componentes del estado cu´antico, rellenando el resto con ceros si fuera necesario. De esta manera:
x=
x0
x1 ...
xD−1
−→ |ψ(x)i = 1
|x|
D−1
X
i=0
xi|ii
!
Deberemos tener en cuenta al usar este feature encoder, que estamos perdiendo in- formaci´on sobre los puntos codificados al normalizarlos ya que todos los puntos que sean un m´ultiplo de ˆx ≡ x/|x| generar´an el mismo circuito.
En el caso de m´as simple posible —codificar x = (x1, x2) en un solo qubit— el circuito obtenido tendr´a la siguiente forma:
U3(θ, 0, 0) U1(φ)
|0i cos(θ) sin(θ) sin(θ) cos(θ)
1 0
0 eiφ
|ψ(x)i ≡
√1
2 cos(θ) |0i + eiφsin θ |1i
Donde θ = tg−1(
x2
x1
) y φ ser´a π si sgn(x2/x1) = −1 y 0 de otro modo. En el caso general de n qubits se har´a uso de la descomposici´on propuesta en [34].
Second Order Expansion
Este m´etodo propone un esquema m´as complejo con el fin de crear estados con un mayor entrelazamiento que pueda ser aprovechado m´as tarde por el resto del circuito.
Utilizaremos un circuito que aplique la siguiente transformaci´on sobre nuestro regis- tro inicial en funci´on del punto x:
UΦ(~x)= exp
i X
S⊆[n]
φS(~x)Y
i∈S
Zi
Donde Ziser´a el operador Z de Pauli aplicado sobre el i-´esimo qubit, S ∈ {0, 1, . . . , n−
1, (0, 1), (0, 2), . . . , (n − 2, n − 1)} y la funci´on φS(x) = xS 0 o φS(x) = (π − xS0)(π − xS1) si S contiene solamente un elemento o 2 respectivamente.
Siguiendo esta f´ormula, generar´ıamos, por ejemplo, para el caso de 2 qubits y x = (x1, x2):
|0i H U1(2φ0(x))
|0i H U1(2φ1(x)) X U1(2φ1,2(x)) X
Las puertas H al comienzo del circuito transformar´an el estado inicial |00i en una superposici´on de todos los estados posibles 12
P1
i0,i1=0|i0i1i .
3.2. Circuitos variacionales
Tras aplicar al estado inicial alguno de los dos feature encoders vistos en la secci´on anterior tendremos nuestro punto codificado en las amplitudes del vector de estado.
Para procesar el punto y poder obtener despu´es una predicci´on aplicaremos ahora otro circuito al que llamaremos circuito variacional y denotaremos por Uθ. Este ser´a en general un circuito con poca profundidad con una serie de puertas parametrizadas seg´un el vector θ.
En este trabajo, se han usado 2 tipos distintos de arquitecturas o formas variaciona- les para la parte optimizable del circuito.
Circuito Universal
Uno de los grandes retos a la hora de decidir cual es la arquitectura a usar en el circuito variacional del clasificador es asegurarnos de que esta sea capaz de explorar adecuadamente el espacio de soluciones, es decir, que tenga la capacidad de, variando sus par´ametros, aproximar con precisi´on arbitraria cualquier aplicaci´on lineal unitaria
de R2n → R2n, de manera similar al Universal Approximation Theorem para redes neuronales. Para asegurar que nuestro circuito cumple esta propiedad usaremos los circuitos definidos en la Secci´on 2.1. Dado que cada rotaci´on controlada posee 3 par´ametros ajustables, el n´umero total de estos ser´a:
Nparams = 3Nrotations = 3(2n− 1) 2n−1 2
Se puede ver que tanto el n´umero de par´ametros como el n´umero de puertas l´ogicas a usar crecer´a exponencialmente, por lo que, esta arquitectura no ser´a escalable, sin embargo, supone un ejercicio acad´emico interesante comparar el rendimiento de esta con otras que poseen un n´umero de par´ametros y puertas que aumenten linealmente con el n´umero de qubits.
En el caso de un s´olo qubit, nuestro circuito se reducir´a a la aplicaci´on de una puerta U3, mientras que en el caso de n = 2 tendremos:
V1,0 V2,0 V2,1 V3,0 V3,1 V3,2
U3 U3 U3 U3
U3 U3
RYRZ
Este circuito consiste en la aplicaci´on sucesiva de capas con rotaciones en los ejes Z e Y concatenadas con capas de entrelazamiento —Que estar´an compuestas por puertas H y puertas cNOT para cada par de qubits— de esta manera, los circuitos generados siguiendo este esquema tendr´an la forma:
RY(θ0) RZ(θ1)
H
U3(θ0,0, 0) U1(θ1) U3(θ4,0, 0) U1(θ5)
U3(θ2,0, 0) U1(θ3) U2(0, π)) X U2(0, π)) U3(θ6,0, 0) U1(θ7)
Esta estructura puede repetirse varias veces para aumentar el n´umero de par´ametros y la expresividad del circuito. De esta manera, el n´umero de par´ametros total ser´a:
Nparams= 2n(d + 1)
Donde n ser´a el n´umero de qubits y d las veces que se repita el circuito.
3.3. Optimizaci´ on
Para encontrar los par´ametros de las formas variacionales del clasificador que mini- micen la funci´on de coste se usar´a un m´etodo de descenso por gradiente estoc´astico llamado Simultaneous perturbation stochastic approximation (SPSA) debido a su ro- bustez frente al ruido en la estimaci´on de los gradientes, adem´as, la funci´on de coste a minimizar ser´a cross entropy loss definida de la siguiente manera:
CE = 1 N
N −1
X
i=0
tilog (P(ti))
Donde t es un vector con las misma dimensi´on que el n´umero de clases nulo en to- das sus componentes excepto en la clase correcta a la muestra i-´esima mientras que P(ti) es un vector con las probabilidades asignadas por el clasificador a la clase de la muestra.
El esquema de actualizaci´on de los par´ametros se puede ver en la Figura 3.3.
Figura 2. Esquema seguido para la actualizaci´on de los par´ametros.
3.4. SPSA
El objetivo de este algoritmo propuesto en [35] ser´a obtener los par´ametros u∗ que minimicen nuestra funci´on de coste:
u∗ = arg m´ın
u∈U J(u)
Esto lo conseguiremos mediante un procedimiento iterativo id´entico al seguido en el m´etodo aproximaci´on estoc´astica de diferencias finitas (FDSA):
un+1 = un− angˆn(un)
Donde un ser´a el vector de par´ametros en la ´epoca n, ˆgn ser´a una estimaci´on para el gradiente de la funci´on de coste y {an} una serie discreta de n´umeros positivos que converja a 0. La diferencia con FDSA viene dada por la estimaci´on del gradiente ˆgn, en SPSA se calcula el gradiente mediante:
ˆ
gn(un) = J(un+ cn∆n) − J(un− cn∆n) 2cn
∆−1n
Donde ∆n es el vector correspondiente a una perturbaci´on aleatoria generada en el paso n y ∆−1n un vector donde cada componente es la inversa de ∆n. Una de las mayores ventajas de este m´etodo es que solo requiere dos llamadas a la funci´on de coste para cada paso ya que perturba todas las direcciones al mismo tiempo, en cambio, FDSA necesitar´a 2D evaluaciones, donde D es la dimensi´on del espacio de par´ametros puesto que perturba una direcci´on cada vez.
Aunque SPSA no sigue directamente el camino de m´axima pendiente por ser un m´etodo estoc´astico, en promedio su trayectoria no ser´a muy distinta de este puesto que ˆgn es un estimador no sesgado del gradiente real.
3.5. Sistema de clasificaci´ on
Para clasificar un punto x en funci´on del estado final del circuito |φfi asignaremos una clase mediante un procedimiento arbitrario a los distintos estados de la base computacional, por lo que, a partir de las probabilidades de obtener cada elemento de la base podremos obtener las probabilidades que asigna nuestro modelo a las dis- tintas clases.
La asignaci´on de las clases usada depender´a del n´umero de clases C de nuestro problema y del n´umero n de qubits:
C = 2
En caso de una clasificaci´on binaria se decidir´a la clase por paridad del estado si n es par. De esta manera, obtendremos la siguiente correspondencia entre los estados de la base computacional y las clases 0 y 1 para 2 qubits:
Mientras que, para n = 4 obtendr´ıamos la siguiente asignaci´on (pese a que no vaya a ser necesaria en el trabajo por usarse solamente 2 y 3 qubits):
|00i |01i |10i |11i
Clase 0 1 1 0
|0i0⊗ |0i1 |0i0⊗ |1i1 |1i0⊗ |0i1 |1i0 ⊗ |1i1
|0i2⊗ |0i3 0 1 1 0
|0i2⊗ |1i3 1 0 0 1
|1i2⊗ |0i3 1 0 0 1
|1i2⊗ |1i3 0 1 1 0
En el caso, de un n´umero impar de qubits se optar´a por usar un sistema de voto mayoritario. Por ejemplo, para 3 qubits:
|0i0⊗ |0i1 |0i0⊗ |1i1 |1i0⊗ |0i1 |1i0⊗ |1i1
|0i2 0 0 0 1
|1i2 0 1 1 1
C = 3
La clase se asignar´a ahora mediante la suma de las paridades de distintos segmentos del elemento de la base. Por ejemplo, para asignar una clase a |i0i1. . . ini miraremos la paridad de los primerosn
2 (esto es calcular la suma m´odulo 2 de
i0i1. . . ibn2c E) y luego la de los restantes, siendo la suma de las paridades la clase asignada. Con n= 2
|00i |01i |10i |11i
Clase 0 1 1 2
Mientras que, para n = 3
|0i0⊗ |0i1 |0i0⊗ |1i1 |1i0⊗ |0i1 |1i0⊗ |1i1
|0i2 0 1 1 0
|1i2 1 2 2 1
C > 3
Si tenemos un n´umero de clases mayor a 3, se calcular´a el valor decimal de los bits del vector i0i1. . . in ≡ N y se asignar´a la clase seg´unj
N class step
k
donde class step ≡ 2n
C.
Por lo que, para n=2 tendremos:
|00i |01i |10i |11i
Clase 0 1 2 3
Mientras que, para n = 3
|0i0⊗ |0i1 |0i0⊗ |1i1 |1i0⊗ |0i1 |1i0⊗ |1i1
|0i2 0 0 1 1
|1i2 2 2 3 3
4. Resultados
En esta secci´on se recogen los resultados obtenidos para las pruebas realizadas sobre los distintos circuitos variacionales con dos datasets distintos, primero, con unos da- tos generados artificialmente y pensados para este tipo de clasificadores y por ´ultimo, usando el dataset MNIST reduciendo el n´umero de clases.
Figura 3. Conectividad de los qubits en el ordenador ibm burlington as´ı como la tasa de error para las distintas puertas en este en el momento de ejecuci´on en la Versi´on 1.1.4.
Todas las pruebas fueron ejecutadas en una m´aquina virtual de Google Cloud con 8 hilos y 28gb de memoria RAM. Para la ejecuci´on de los circuitos cu´anticos, se usaron
dos backends: el simulador Qiskit Aer escrito en C++ que nos permitir´a estudiar los circuitos en un entorno idealizado antes de ejecutarlos en un ordenador cu´antico real.
En nuestro caso, enviaremos nuestros circuitos al Centro de Computaci´on Cu´antica de IBM situado en Burlington, este posee un ordenador con 5 qubits implementados en circuitos electr´onicos superconductores formando una estructura de T como se puede ver en la figura 3.
4.1. Ad hoc Dataset
A modo de calentamiento y con el fin de visualizar la acci´on de nuestro clasificador, lo probaremos usando datos generados de manera artificial y que simulan la acci´on de un circuito variacional con unos par´ametros desconocidos, es decir, la aplicaci´on un operador unitario generado aleatoriamente aplicado sobre el vector F (x) |0⊗ni, siguiendo la propuesta de [1].
Para esta primera prueba, se us´o solamente nuestro esquema de circuito universal y Second Order Expansion como feature encoder en sus versiones de 2 qubits. Adem´as se generaron 75 puntos de cada clase para el entrenamiento y 25 para el test, la evolu- ci´on de la funci´on de coste para el entrenamiento tras 150 ´epocas puede encontrarse en la Figura 4.
Para este primer dataset, se obtuvo una precisi´on final del 100 %, los m´argenes de clasificaci´on obtenidos adem´as de los puntos de entrenamiento y test pueden obser- varse en la Figura 5 mientras que la evoluci´on de la precisi´on sobre el conjunto de test puede verse en la tabla 4.1.
# qubits QVC FE # comp. PCA Epoca Precisi´on (test)´
2 UC SOE 2 25 0.78
2 UC SOE 2 50 0.98
2 UC SOE 2 75 0.98
2 UC SOE 2 100 0.98
2 UC SOE 2 125 1.00
2 UC SOE 2 150 1.00
Cuadro 1. Resultados para clasificaci´on binaria de datos sint´eticos usando el simulador qiskit aer.
Figura 4. M´argenes de clasificaci´on obtenidos a distintas ´epocas usando SOE como feature encoder y Universal Circuit como circuito variacional usando 2 qubits.
4.2. MNIST Dataset
Para probar la viabilidad en la pr´actica de la forma variacional propuesta se us´o MNIST, uno de los conjuntos de datos m´as habituales. Este, est´a compuesto por 70000 im´agenes de d´ıgitos desde 0 hasta 9 escritos a mano alzada con un tama˜no de 8x8 p´ıxeles y una intensidad codificada en un entero sin signo en un byte (de 0 a 255) que se dividir´an en 60000 muestras para entrenamiento y 10000 para test.
Puesto que, las dimensiones de los puntos a clasificar que acepte nuestro clasificador depender´a del n´umero de qubits y del feature encoder se decidi´o por usar t´ecnicas de reducci´on de dimensionalidad (Principal Component Analisis) para as´ı adecuarse a la dimensi´on nativa del clasificador en cada caso.
C = 2
Comenzamos simplificando el problema de clasificaci´on al m´aximo reduci´endolo a una clasificaci´on binaria entre las clases 0 y 1. La primera prueba se realiz´o en un si- mulador y no un ordenador cu´antico real. Los simuladores, pese a incorporar modelos
Figura 5. M´argenes de clasificaci´on obtenidos a distintas ´epocas usando SOE como feature encoder y Universal Circuit como circuito variacional usando 2 qubits.
de ruido que intentan imitar el de un dispositivo real, acaban obteniendo resultados muy idealizados por lo que nos servir´an para evaluar el impacto del ruido en nuestro modelo cuando lo ejecutemos en un ordenador cu´antico. Como feature encoders se usaron Second Order Expansion (ver 3.1) y Raw Feature Vector (ver 3.1). Adem´as, tambi´en se entren´o un circuito variacional con la arquitectura RYRZ, estando todos ellos disponibles por defecto en la librer´ıa de qiskit.
En la figura 6 puede observarse la evoluci´on de la funci´on de coste durante el en- trenamiento (que ser´a la media de las dos evaluaciones usadas para la estimaci´on del gradiente en cada ´epoca). Para el entrenamiento, se usaron 30 muestras de cada clase mientras que para el test se usaron 15 por clase. Los resultados finales para cada modelo se pueden ver en la tabla 4.2.
Los resultados usando RawFV como feature encoder son notablemente mejores que los obtenidos con SOE sin importar la forma variacional elegida, probablemente de-
Figura 6. Resultados para el entrenamiento para clasificaci´on binaria de los distintos modelos ejecutado en el simulador qiskit aer.
# qubits QVC FE # comp. PCA Par´ametros libres Epocas Precisi´on (test)´
2 Custom RawFV 4 18 100 1.00
2 RYRZ RawFV 4 16 100 1.00
2 Custom SOE 2 18 100 0.77
2 RYRZ SOE 2 16 100 0.80
Cuadro 2. Resultados para clasificaci´on binaria de distintos modelos ejecutado en el si- mulador qiskit aer.
bido a su capacidad para codificar un mayor n´umero de componentes en un n´umero limitado de qubits. Por ello en el resto del trabajo se usar´a exclusivamente RawFV.
La precisi´on obtenida con SOE es ligeramente peor que la obtenida por ?? quiz´as debido a la elecci´on de la forma variacional.
En la tabla3pueden observarse los resultados obtenidos para todos los clasificadores binarios entrenados. Las gr´aficas de entrenamiento para los clasificadores de 2 qubits
Figura 7. Comparaci´on para el entrenamiento y la precisi´on en clasificaci´on binaria de distintos modelos de 2 qubits ejecutados en el tanto en el simulador qiskit aer como en la instancia ibm burlington.
pueden encontrarse en la figura 7, los resultados obtenidos para las dos formas va- riacionales no difieren en gran medida, dado que, ambos clasificadores consiguen una precisi´on del 100 % muy pronto en el conjunto de test (antes de la ´epoca 60), donde, si se observan diferencias es entre el simulador y la realizaci´on de ordenador cu´antico de IBM. En esta ´ultima, la precisi´on es peor al inicio y, adem´as, se puede observar que la as´ıntota horizontal de la funci´on de coste es mayor que para el simulador, probablemente, debido a que la decoherencia hace disminuir la confianza de las pre- dicciones obtenidas. Pese a todo lo anterior, todos los clasificadores consiguieron una precisi´on final del 100 %.
En el caso de los clasificadores de tres qubits solamente se incluyen los resultados (figura8) para el simulador. Esto es debido, al enorme aumento en complejidad que sufre el circuito universal con respecto al de dos qubits (puesto que se pasa de 18 par´ametros a 84) de manera que, al ejecutarlo en una instancia real el sistema perd´ıa toda la coherencia cu´antica y s´olo se obten´ıan resultados triviales.
Para los circuitos de 3 qubits se observa mucha m´as disparidad en el entrenamien-
Figura 8. Resultados para el entrenamiento para clasificaci´on con C=2 de los distintos modelos ejecutado en el simulador qiskit aer.
# qubits QVC Backend # comp. PCA Epocas # par´ametros Precisi´on (test)´
2 UC Simulador 4 150 18 1.00
2 RYRZ Simulador 4 150 16 1.00
2 UC ibm burlington 4 150 18 1.00
2 RYRZ ibm burlington 4 150 16 1.00
3 UC Simulador 8 150 84 1.00
3 RYRZ Simulador 8 150 24 1.00
Cuadro 3. Resultados para clasificaci´on binaria.
to de las dos formas variacionales usadas, posiblemente debido a la diferencia en el n´umero de par´ametros ya que, el circuito RYRZ consigue una precisi´on del 100 % hacia la ´epoca 50 mientras que el circuito UC tarda casi 200 ´epocas en estabilizarse, sin embargo, ambos circuitos consiguieron clasificar perfectamente el conjunto de test.
Figura 9. Comparaci´on para el entrenamiento y la precisi´on en clasificaci´on con C=3 de distintos modelos de 2 qubits ejecutados en el tanto en el simulador qiskit aer como en la instancia ibm burlington.
C = 3
Para esta clasificaci´on, se usaron im´agenes correspondientes a 0, 1 y 2, tomando de nuevo 30 datos por clase para el entrenamiento y 15 para calcular la precisi´on. Los resultados para todos los simuladores entrenados para clasificaci´on ternaria se en- cuentran en la tabla4.
# qubits QVC Backend # comp. PCA Epocas # par´ametros Precisi´on (test)´
2 UC Simulador 4 150 18 0.88
2 RYRZ Simulador 4 150 16 0.86
2 UC ibm burlington 4 150 18 0.93
2 RYRZ ibm burlington 4 150 16 0.91
3 UC Simulador 8 300 84 0.93
3 RYRZ Simulador 8 300 24 0.95
Cuadro 4. Resultados para clasificaci´on ternaria.