Diagrama de red de matriz y tensor

En la  publicación anterior , describí una forma simple de pensar en matrices, a saber, como gráficos bipartitos. Hoy me gustaría compartir una forma diferente de representar matrices, una que se usa no solo en matemáticas, sino también en física, química y aprendizaje automático. Esta es la idea básica. Una matriz MM de m × nm × n con entradas reales representa un mapa lineal de Rn → RmRn → Rm. Tal mapeo se puede representar como un nodo con dos bordes. Un borde representa el espacio de entrada, el otro borde representa el espacio de salida.

¡Eso es!

Podemos lograr mucho con esta simple idea. Pero primero, algunas palabras sobre la imagen: para especificar una matriz MM de m × nm × n, se deben especificar todas las entradas mnmn MijMij. El índice ii varía de 1 a mm — la dimensión del espacio de salida — y el índice jj varía de 1 a nn — la dimensión del espacio de entrada. Dicho de otra manera, ii indexa el número de filas de MM y jj indexa el número de sus columnas. Estos índices se pueden incluir en la imagen, si queremos:

Esta idea se generaliza muy fácilmente. Una matriz es una matriz bidimensional de números, mientras que una matriz nn-dimensional de números se denomina  tensor de orden nn  o nn - tensor . Como una matriz, un tensor nn se puede representar mediante un nodo con un borde para cada dimensión.

Un número, por ejemplo, se puede considerar como una matriz de dimensión cero, es decir, un punto. Por lo tanto, es un tensor 0, que se puede dibujar como un nodo con   bordes cero . Del mismo modo, un vector puede ser pensado como un  uno array -dimensional de números y por lo tanto un 1-tensor. Está representado por un nodo con  un  borde. Una matriz es un  dos matriz dimensional y por lo tanto 2-tensor. Está representado por un nodo con  dos  bordes. A 3-tensor es un  tres matriz dimensional y por lo tanto un nodo con  tres  bordes, y así sucesivamente.

En esta notación gráfica, las cosas familiares tienen bonitas imágenes. Por ejemplo...

La multiplicación de matrices es la contracción del tensor.

Multiplicar dos matrices equivale a "pegar" sus dibujos. A esto se le llama contracción tensorial  .

En la imagen de arriba, los bordes con índices coincidentes jj fueron los que se contrajeron. Esto es consistente con el hecho de que dos matrices pueden multiplicarse solo cuando sus dimensiones de entrada / salida coinciden. También notará que la imagen resultante tiene dos índices libres, ii y kk, que de hecho define una matriz.

Por cierto, una característica clave de tener estas imágenes es que no tenemos que llevar índices. ¡Así que no!

Una revisión rápida: una matriz se describió como un  solo  nodo con un borde para cada espacio vectorial, pero la imagen de arriba tiene  dos  nodos. Todavía queremos que esto represente una  sola  matriz. ¡Y digo que sí! Hay una buena forma de ver esto: simplemente junta los nodos azul y verde.

Esto me recuerda a la lluvia que cae por una ventana: cuando dos gotas de lluvia entran en contacto, se fusionan en una gota más grande. Eso es multiplicación matriz-matriz. Una imagen similar es válida para la multiplicación matriz-vector: una matriz MM multiplicada por un vector vv da como resultado otro vector MvMv, que es un nodo con un borde libre.

De manera más general, el producto de dos o más tensores está representado por un grupo de nodos y bordes donde las contracciones ocurren a lo largo de los bordes con índices coincidentes.

Formas de los nodos

Hasta ahora he dibujado todos los nodos como círculos. Pero esto fue solo una elección. No existe una regla oficial sobre qué forma usar. ¡Eso significa que podemos ser creativos! Por ejemplo, es posible que deseemos reservar un círculo u otra forma simétrica, como un cuadrado, solo para   matrices simétricas .

Entonces, la  transposición  de una matriz se puede representar reflejando su imagen:

¡Entonces la simetría de una matriz simétrica se conserva en el diagrama!

También me gusta la idea de dibujar incrustaciones isométricas como triángulos:

Un UU incrustado isométrico es un mapa lineal desde un espacio VV a un espacio WW de mayor dimensión que conserva las longitudes de los vectores.  Tal mapa satisface U⊤U = idVU⊤U = idV pero UU⊤ ≠ idWUU⊤ ≠ idW. En palabras, siempre puede incrustar el espacio pequeño VV en uno más grande, luego proyectar de nuevo en VV sin distorsionar los vectores en VV. (No a diferencia de un  mapa de retracción  en topología). Pero ciertamente  no se puede  aplastar todo el WW en el pequeño VV, y luego esperar deshacer el daño después de incluir VV de nuevo en WW. Los triángulos insinúan esta característica de grande versus pequeño. (¡La base de un triángulo es más grande que su punta!) Y, en general, como se muestra a continuación, los operadores lineales de identidad se dibujan como líneas rectas:

Las factorizaciones matriciales también tienen buenas imágenes.

Con toda esta charla de multiplicación de matrices, es decir, composición de matrices, ¡no nos olvidemos de la factorización de matrices, es decir, de composición de matrices  ! Cada matriz, por ejemplo, tiene una  descomposición de valor singular . Esto tiene una bonita imagen asociada:

Aquí, UU y VV son matrices unitarias y, por tanto, isometrías y, por tanto, triángulos. La matriz DD es una matriz diagonal, que me gusta representar con un diamante. En resumen, la factorización matricial es la descomposición de un solo nodo en múltiples nodos; La multiplicación de matrices es la fusión de múltiples nodos en un solo nodo.

El dibujo de arriba ilustra otra característica de estos diagramas: la posición espacial de los nodos realmente no importa. Podría haber dibujado los nodos amarillo, azul, verde y rosa en línea horizontal, o en línea vertical, o en zig-zag, o como quisiera. Lo único importante es que el diagrama tiene dos bordes libres. ¡El producto de matrices es otra matriz!

Las pruebas desordenadas se reducen a pruebas de imagen.

Podríamos decir más sobre esta notación gráfica, pero terminaré con otra característica notable: ¡las pruebas pueden volverse muy simples! Tome el rastro, por ejemplo. El rastro de una matriz tiene una imagen simple. Se define como la suma de un índice común:

Esta cuerda con cuentas no tiene bordes libres. Es un bucle. Esto es coherente con el hecho de que la traza es un  número. Es un tensor 0, por lo que no tiene índices libres. Ahora, aquí hay una prueba de que la traza es invariante bajo permutaciones cíclicas:

Simplemente deslice cuentas a lo largo de un collar. ¡Muy limpio!

¿Lo que hay en un nombre?

Los diagramas discutidos en la publicación de hoy, que tienen su origen en  la notación gráfica de Penrose , se denominan  diagramas de redes tensoriales  y / o, quizás con algunas diferencias menores,  diagramas de cuerdas . El "y / o" depende de quién eres .  Es decir, la idea de representar visualmente un mapa-de-espacios-vectoriales como un nodo-con-bordes se utiliza en las comunidades de física / aprendizaje automático, donde se denominan  diagramas de red tensorial,  y también en la comunidad de teoría de categorías, donde se llaman  diagramas de cuerdas . Creo que este es solo un caso de diferentes campos que usan una notación casi idéntica para diferentes propósitos.

Los teóricos de categorías usan diagramas de cuerdas para  probar  cosas. (Los diagramas aparecen en mi pequeño folleto sobre  teoría de categorías aplicada , por ejemplo.) Es más, los diagramas de cuerdas se utilizan para representar casi cualquier tipo de mapeo, no solo mapeos entre espacios vectoriales. Dicho de manera más formal, los diagramas de cuerdas pueden surgir en una discusión de cualquier  categoría monoidal . Para una introducción suave a estas ideas categóricas, consulte  Siete bocetos  de Fong y Spivak, así como  Imaginando procesos cuánticos  de Coecke y Kissinger.

Algunos físicos e investigadores de aprendizaje automático, por otro lado, usan redes de tensores para  calcular  cosas. Una situación típica puede ser algo como esto. Tienes un sistema cuántico. Desea encontrar el vector propio principal de un operador lineal especial, llamado  hamiltoniano.  Este vector propio vive en un espacio de Hilbert absurdamente grande, por lo que desea una técnica para encontrar este vector de una manera comprimida. Introduzca: redes de tensores.

Y por "absurdamente grande", quiero decir ABSURDAMENTE grande. Si tiene un número de Avogadro de partículas cuánticas, cada una de las cuales puede ocupar sólo dos estados, entonces necesita un espacio vectorial de dimensión 2102321023. Ahora imagine tener un operador lineal en este espacio. Esa es una matriz con 21023 × 2102321023 × 21023 entradas. Eso es  exponencialmente  más que el número de átomos en el universo observable. ¡Solo hay 10801080 de esos! Buena suerte almacenando esto en una computadora. En resumen, las redes de tensores nos ayudan a lidiar con una gran cantidad de parámetros de una manera manejable y basada en principios.

Las redes de tensores también se superponen mucho con  modelos gráficos , autómatas y más. Una línea de la investigación actual es identificar y hacer un buen uso de esas superposiciones. Así que hay mucho que explorar aquí. Algunos lugares para comenzar son la biblioteca iTensor de Miles Stoudenmire  , A Practical Introduction to Tensor Networks de Roman Orus  , Tensor Networks in a Nutshell de Jacob Biamonte y Ville Bergholm  , y la biblioteca TensorNetwork de Google  .

He estado trabajando en un proyecto (con algunos investigadores excelentes que me introdujeron por primera vez en el mundo de la red tensorial) que utiliza estos diagramas en un entorno más computacional / físico. Por esa razón, tiendo a pensar en ellos como diagramas de redes tensoriales, más que como diagramas de cuerdas.

El proyecto, que presenta un tipo especial de red tensorial, tiene algunas matemáticas realmente interesantes que estoy emocionado de compartir. También utiliza la   idea de matrices como gráficos discutida anteriormente en el blog. Planeo escribir un blog sobre esto  más adelante en el año.

¡Manténganse al tanto!

¡Nuevo! [Agregado el 20 de octubre de 2019] Puede ver algunas de las ideas de hoy  en acción  en " Modelado de secuencias con estados cuánticos " (arXiv: 1910.07425). Allí, hacemos un uso frecuente de diagramas de redes de tensores, especialmente en la descripción de un determinado algoritmo de entrenamiento. Puede leer más sobre este trabajo con Miles Stoudenmire y John Terilla  aquí en el blog.

 

https://www.math3ma.com/blog/matrices-as-tensor-network-diagrams

Supongo que te gusta

Origin blog.csdn.net/universsky2015/article/details/109308303
Recomendado
Clasificación