¿Y si aplicas dos transformaciones seguidas? Pues sale otra transformación, y se puede empaquetar en UNA sola matriz: el producto de las dos. Misma receta que matriz·vector, pero a lo grande.
Imagina que primero aplicas una transformación B a un vector, y luego al resultado le aplicas otra A:
Resulta que esa combinación es otra transformación lineal. ¡La puedes empaquetar en una sola matriz! Esa matriz se llama el producto A·B:
A·B significa "primero B, luego A" (se lee de
derecha a izquierda, pegado al vector). Es como una pila — el más cercano al vector se aplica
primero. Y casi siempre: A·B ≠ B·A (¡no es conmutativo!).
La regla es la misma que matriz·vector (lección 8), pero ahora cada columna de la segunda matriz hace el papel de "vector":
| a | b |
| c | d |
| e | f |
| g | h |
| ae+bg | af+bh |
| ce+dg | cf+dh |
cada celda del resultado = producto punto de una fila de A con una columna de B.
Calculemos A · B con:
| 1 | 2 |
| 3 | 4 |
| 2 | 0 |
| 1 | 2 |
resultado[1,1] = fila 1 de A · columna 1 de B = (1, 2) · (2, 1) = 1·2 + 2·1 = 2 + 2 = 4 resultado[1,2] = fila 1 de A · columna 2 de B = (1, 2) · (0, 2) = 1·0 + 2·2 = 0 + 4 = 4 resultado[2,1] = fila 2 de A · columna 1 de B = (3, 4) · (2, 1) = 3·2 + 4·1 = 6 + 4 = 10 resultado[2,2] = fila 2 de A · columna 2 de B = (3, 4) · (0, 2) = 3·0 + 4·2 = 0 + 8 = 8
| 4 | 4 |
| 10 | 8 |
A diferencia de los números (donde 3·5 = 5·3), con matrices el orden importa. Tiene
sentido si lo piensas geométricamente: primero rotar y luego escalar no es lo mismo que
primero escalar y luego rotar en general.
B · A = fila 1 B · col 1 A: (2, 0)·(1, 3) = 2·1+0·3 = 2 fila 1 B · col 2 A: (2, 0)·(2, 4) = 2·2+0·4 = 4 fila 2 B · col 1 A: (1, 2)·(1, 3) = 1·1+2·3 = 7 fila 2 B · col 2 A: (1, 2)·(2, 4) = 1·2+2·4 = 10 B · A = [[2, 4], [7, 10]] vs A · B = [[4, 4], [10, 8]] ↑ ¡diferente!
Para multiplicar dos matrices, sus dimensiones tienen que encajar:
El número del medio tiene que coincidir (es el "k"). El resultado toma las dimensiones de los extremos:
(2×3) · (3×4) → resultado 2×4 ✅ (3 y 3 coinciden)(2×3) · (5×4) → ❌ error, 3 ≠ 5(768×512) · (512×1) → 768×1 ✅ (típico en redes)Modifica A y B. Verás la matriz resultado A·B calculada en vivo, y cómo la deformación combinada se aplica a una rejilla.
Mᵢ es una capa, con pesos que la red
ajusta durante el entrenamiento. Por eso entender este producto = entender qué hace una red por
dentro a nivel de operaciones.