Conceptos Fundamentales

Antes de entrar en la Descomposición en Valores Singulares, revisemos algunos conceptos fundamentales del álgebra lineal.

  • Transformación Lineal: Una matriz puede verse como una transformación lineal. Al multiplicar un vector columna $v$ por una matriz $L$, se aplica una transformación que estira, encoge, rota o refleja el vector. Si apilamos varios vectores columna en una matriz $R$, el producto $LR$ aplica la transformación $L$ a cada columna de $R$.
    La matriz $L$ puede verse como una transformación lineal que afecta a cualquier vector columna multiplicado por ella.
  • Ortogonal: Una matriz cuadrada $O$ es ortogonal si $O^T O = O O^T = I$. Su inversa es exactamente su transpuesta: $O^{-1} = O^T$. El valor absoluto de su determinante es 1; si $\det O = +1$ es una rotación, si $\det O = -1$ es una reflexión.

Vectores y Valores Propios

Una matriz cuadrada como transformación lineal mueve la dirección de casi todos los vectores, excepto sus vectores propios (eigenvectores) , que solo se escalan:

$$A v = \lambda v$$
Los eigenvectores (en rojo) permanecen en su propia recta — solo cambia su longitud.

Descomposición en Valores Singulares

La SVD descompone cualquier matriz $R$ en el producto de tres matrices:

$$R = U \Sigma V^T$$
  • $V^T$: rotación/reflexión del espacio de entrada — alinea las direcciones principales con los ejes estándar
  • $\Sigma$: escalado diagonal — estira cada dirección según su valor singular $\sigma_i$
  • $U$: rotación/reflexión en el espacio de salida — coloca el resultado en su posición final

Los valores singulares de $R$ son las raíces cuadradas de los valores propios de $R^T R$ y $R R^T$. A diferencia de la descomposición espectral, la SVD funciona para cualquier matriz, independientemente de simetría, dimensión o rango.

Los tres pasos de la SVD actuando sobre un vector de forma sincronizada
Los tres pasos de la SVD aplicados de forma sincronizada: rotar ($V^T$), escalar ($\Sigma$), rotar ($U$).

Aproximación de Bajo Rango y LoRA

El teorema de Eckart–Young establece que la mejor aproximación de rango $r$ a $A$ se obtiene conservando solo los $r$ valores singulares más grandes: $A_r = U_r \Sigma_r V_r^T$.

Esto es exactamente la idea detrás de LoRA : en lugar de ajustar la matriz de pesos completa, LoRA parametriza la actualización como $\Delta W = BA$ con $r \ll \min(d, k)$. El supuesto es que los cambios de pesos significativos durante el ajuste fino viven en un subespacio de baja dimensión.