Qué es un tensor
La palabra tensor suena difícil, pero es un nombre que ensarta en una escalera cosas que ya conocemos. Una celda = solo un número, un escalar. Una fila de ellas es un vector, una rejilla es una matriz, y rejillas apiladas son un cubo. Cuántos índices necesitas es el rango (rank). 0, 1, 2, 3. El producto exterior de dos vectores, u⊗v = u vᵀ, construye la matriz rank-1 más simple, y cualquier matriz se apila con piezas así. Eso era la SVD. Una matriz también puede comer dos vectores y escupir un número, uᵀ M v. Una imagen y un lote de entrenamiento son tensores. Subes la escalera un peldaño cada vez. Una celda que crece en un punto, una línea, una cara y un bloque es esa escalera. La rejilla del producto exterior es la matriz más simple, y apilar canales de color convierte una rejilla en gris en un bloque. Los botones suben un peldaño, y el tablero bajo las flechas es el número que devuelve la matriz.
Sube el rango un peldaño cada vez con los botones. rank 0 es una celda, solo un número. No hace falta un índice para señalar un lugar. rank 1 estira las celdas en una fila, un vector, y hace falta un índice para elegir una celda. rank 2 extiende la fila en una rejilla, una matriz, y hacen falta dos índices, una fila y una columna. rank 3 apila esas rejillas en un cubo, así que hacen falta tres índices. El rango es el número de ejes de índice, y eso se ve de un golpe. La forma crece con él, de un punto a una línea, de la línea a una cara, de la cara a un volumen. Un tensor no es un monstruo nuevo. Es un nombre que pone en una escalera las cosas que conocemos.
Multiplica dos vectores hacia fuera y obtienes una matriz. Con los deslizadores, pon u = (u1, u2) abajo a la izquierda y v = (v1, v2) arriba en horizontal, y la celda (i, j) guarda ui · vj. Eso es u⊗v = u vᵀ. El número de una celda es el valor de la izquierda por el de arriba, y la celda se pinta más oscura o más clara con ese valor. Agranda u y crece toda la fila. Agranda v y crece toda la columna. Por mucho que las gires, el rango de esta matriz es siempre 1. Cada fila es un múltiplo de u y cada columna es un múltiplo de v, así que solo hay una dirección independiente. El producto exterior es la matriz más simple, un ladrillo rank-1.
Una matriz ordinaria es varios ladrillos rank-1 apilados. Un botón añade una capa cada vez. La capa 1 es solo la primera pieza σ1·u1·v1ᵀ, así que solo esboza el contorno grueso del objetivo. Añade la capa 2 y σ2·u2·v2ᵀ llena el hueco que queda, y la suma coincide con el objetivo. La pantalla muestra la reconstrucción y el objetivo lado a lado, y la diferencia como un número. Ese es el corazón de la SVD. Cualquier matriz es A = Σ σk uk vkᵀ, una suma de piezas rank-1, y quedarte solo con los σ más grandes deja casi toda la forma. La compresión sale de aquí. Quedarte con las piezas más grandes es cómo una imagen se encoge sin perder su forma.
Una matriz puede ser una máquina que come dos vectores, no solo una transformación. Mete u a la izquierda y v a la derecha de una matriz fija M y sale un número, uᵀ M v. Eso es un tensor de rank 2, una matriz, que toma dos vectores y devuelve un escalar, una forma bilineal. Arrastra las flechas u y v en el plano y el tablero de abajo muestra uᵀ M v al momento. Fija uno y agranda el otro, y el resultado crece en el mismo factor. Es lineal en cada argumento, así que es bilineal. El producto interno que mide longitud, la energía ½ xᵀ K x, la curvatura y la tensión, todo lo que come dos direcciones y devuelve un número, cabe en este marco.
Por último, por qué un tensor es el recipiente cotidiano del aprendizaje automático. Un botón añade un eje cada vez. Una imagen en gris es una rejilla de brillo de píxeles, la matriz [H, W], rank 2. Añade color y los canales rojo, verde y azul se apilan en el cubo [H, W, 3], rank 3. Entrena varias imágenes a la vez y esos cubos se apilan N de fondo en [N, H, W, 3], rank 4. La pantalla muestra el nombre de la forma y cómo se apila la rejilla al añadir un eje. Un tensor no es adorno. Es un cuenco práctico para los varios ejes de los datos. Por eso el nombre Tensor está dentro de los marcos de aprendizaje profundo.