Curso de Matemáticas para IA · Lección 40 de 180
L1, L2 y L-infinito entienden el tamaño de forma distinta
Compara el tamaño de los vectores según L1, L2 y L-infinito, observa cómo cambian sus bolas unidad y distingue las penalizaciones de parámetros de los presupuestos de robustez de entrada.
Un modelo puede ser sensible a un cambio que parece pequeño en cada coordenada de la entrada. Para describirlo, primero tenemos que elegir cómo medir su tamaño. Las normas L1, L2 y L-infinito responden de forma distinta a esa pregunta, y sus bolas unidad muestran exactamente por qué.
Al terminar, podrás comparar esas normas, interpretar sus formas en dos dimensiones y distinguir una penalización sobre los parámetros del modelo de un presupuesto para los cambios de entrada.
Objetivo de aprendizaje: Explicar cómo las distintas normas modifican la geometría y la sensibilidad.
La lección 39 (en inglés) presentó las normas como reglas para medir vectores. La sección 3.1 del libro oficial Mathematics for Machine Learning desarrolla normas habituales y su geometría. Los ejemplos, la comparación, la figura interactiva y las aplicaciones de IA que siguen son originales.
Un vector, tres medidas
Para un vector real , la norma L1 suma los valores absolutos de las coordenadas, la norma L2 calcula la raíz cuadrada de la suma de sus cuadrados y la norma L-infinito conserva la coordenada de mayor valor absoluto:
Tomemos . Su norma L1 es . Su norma L2 es . Su norma L-infinito es . El vector no ha cambiado; cada regla resalta un aspecto distinto de sus coordenadas. L1 acumula la magnitud de todas las coordenadas, L2 mide la longitud euclídea y L-infinito informa del mayor cambio individual.
NumPy permite calcular cada norma vectorial si se especifica ord explícitamente:
import numpy as np
x = np.array([3.0, -4.0])
np.linalg.norm(x, ord=1) # 7.0
np.linalg.norm(x, ord=2) # 5.0
np.linalg.norm(x, ord=np.inf) # 4.0
Aquí x es unidimensional, por lo que ord=2 solicita su norma euclídea. Con un arreglo bidimensional, numpy.linalg.norm también puede calcular una norma matricial; al trabajar con lotes de vectores, especifica tanto el orden de la norma como el eje que contiene cada vector. NumPy documenta por separado estos casos vectoriales y matriciales.
Las bolas unidad hacen visible la elección
La bola unidad de una norma es el conjunto de vectores cuya norma no supera uno. En dos dimensiones, la bola unidad L1 es un rombo, la L2 es un círculo y la L-infinito es un cuadrado alineado con los ejes. Por ejemplo, está justo en el límite L2 porque . Queda fuera de la bola L1 porque y dentro de la bola L-infinito porque el valor absoluto de su coordenada mayor es .
Mueve cualquiera de las dos coordenadas. El mismo punto se compara con los tres límites, mientras la tabla muestra el valor de cada norma y si el punto está dentro de su bola unidad.
Para x = (0,6, 0,8): L1 es 1,4 (fuera); L2 es 1 (en el límite); L-infinito es 0,8 (dentro).
Límites de las bolas unidad
- L1: límite del rombo
- L2: límite del círculo
- L-infinito: límite del cuadrado
| Norma | Valor | Posición |
|---|---|---|
| L1 | 1,4 | fuera |
| L2 | 1 | en el límite |
| L-infinito | 0,8 | dentro |
La tabla de estado sigue disponible sin tener que interpretar los colores ni las formas del gráfico.
La forma determina qué direcciones caben dentro de un presupuesto fijo. Por ejemplo, en , L-infinito vale y L2 aproximadamente , así que el punto está dentro de ambas bolas unidad; L1 vale , por lo que queda fuera del rombo. Un presupuesto cuadrado limita cada coordenada por separado, mientras que uno circular limita su longitud euclídea combinada.
Las normas también se acotan entre sí. Para todo ,
La coordenada mayor no puede superar la raíz cuadrada de la suma de los cuadrados de todas las coordenadas, que a su vez no puede superar la suma de sus valores absolutos. La desigualdad de Cauchy–Schwarz proporciona la siguiente cota, ; al acotar cada coordenada al cuadrado por el cuadrado de la mayor, obtenemos . Por tanto, las medidas pueden diferir por factores que crecen con la dimensión y ordenar dos vectores de manera distinta. Para y , L1 indica que es mayor (), mientras que L2 indica que es mayor ().
Las penalizaciones de parámetros y los presupuestos de entrada responden a preguntas distintas
Durante el ajuste del modelo, la regularización añade un término al objetivo para desalentar ciertos valores de los parámetros. Un objetivo de entrenamiento podría incluir o , donde es el vector de parámetros aprendidos y cada determina la intensidad de la penalización. Las penalizaciones L1 pueden favorecer coeficientes dispersos; las penalizaciones L2 al cuadrado tienden a reducir muchos coeficientes sin llevarlos, por lo general, a cero. El resultado depende de las escalas de las características y de la intensidad de las penalizaciones. La expresión L2 al cuadrado es el cuadrado de una norma, no una norma en sí misma.
Un presupuesto de perturbación de entrada aplica una norma a otro vector. Si se suma a la entrada , la restricción significa que cada coordenada cambia como máximo . Si los valores de la imagen se han escalado a , entonces se mide en esa escala; recortar la imagen modificada al rango de entrada válido es una restricción aparte.
El método del signo del gradiente rápido de Goodfellow, Shlens y Szegedy utiliza la geometría L-infinito. Para un ataque no dirigido, sea la pérdida del modelo con parámetros , entrada y etiqueta . Un solo paso es
El gradiente estima cómo afecta un pequeño cambio de entrada a la pérdida. Elegir el signo de cada coordenada en esa dirección maximiza el aumento de primer orden, a la vez que mantiene cada coordenada dentro de . Es una construcción local de un solo paso: no garantiza que se produzca una clasificación errónea y su éxito depende del modelo y de la entrada. Un valor pequeño de L-infinito tampoco garantiza que el cambio sea imperceptible o realista. La cota expresa un presupuesto por coordenada; las personas deben decidir si corresponde a la amenaza que les interesa.
Al evaluar la sensibilidad de un modelo, registra qué vector puede cambiar, qué norma lo limita y en qué unidades se mide el presupuesto. Así, una afirmación como «robusto dentro de » tiene un significado geométrico preciso en vez de ocultar sus supuestos tras la palabra pequeño.
Comprueba lo que has entendido
Question 1
Para x = (3, −4), calcula las normas L1, L2 y L-infinito. Muestra la operación correspondiente a cada una.
Show the step-by-step solution
L1 suma los valores absolutos: . L2 eleva al cuadrado, suma y
extrae la raíz cuadrada: sqrt(3² + (−4)²) = sqrt(9 + 16) = 5.
L-infinito conserva la coordenada de mayor valor absoluto: .
Question 2
Para x = (−2, 1, −3), ¿qué norma es mayor y cuáles son los valores de las tres normas?
Show the step-by-step solution
L1 es . L2 es
sqrt((−2)² + 1² + (−3)²) = sqrt(4 + 1 + 9) = sqrt(14) ≈ 3.74.
L-infinito es . En este caso L1 es la mayor porque sumar
magnitudes no negativas da un resultado al menos tan grande como la
combinación euclídea o la coordenada individual mayor.
Question 3
¿Está (0.7, 0.7) dentro de cada bola unidad bidimensional? Calcula las normas antes de decidirlo.
Show the step-by-step solution
L1 es , así que el punto queda fuera de la bola L1. L2 es
sqrt(0.7² + 0.7²) = sqrt(0.98) ≈ 0.99, por lo que queda dentro
de la bola L2. L-infinito es , así que queda dentro de la
bola L-infinito, que tiene forma cuadrada.
Question 4
Explica por qué la norma L-infinito no puede superar la norma L2 y por qué la norma L2 no puede superar la norma L1.
Show the step-by-step solution
Sea . El cuadrado de una coordenada es , y los cuadrados de las demás son no negativos, por lo que . Al tomar raíces cuadradas se obtiene . A continuación, el cuadrado de una suma de valores no negativos incluye los cuadrados individuales y términos cruzados no negativos, así que . Al extraer la raíz cuadrada se obtiene .
Question 5
Una perturbación con 1.000 coordenadas cumple ||δ||∞ ≤ 0.01. ¿Qué límite impone a cada coordenada y qué cota superior se deduce para ||δ||₁?
Show the step-by-step solution
La condición L-infinito significa que para cada coordenada . Al sumar los 1.000 valores absolutos, obtenemos . Por tanto, un cambio máximo pequeño por coordenada puede permitir un cambio absoluto total mayor en una entrada de alta dimensión.
Question 6
¿Por qué el código de NumPy debe especificar axis al calcular la norma de cada vector de un lote y por qué no se debe suponer que el valor predeterminado para una matriz equivale a su norma de operador L2?
Show the step-by-step solution
En un arreglo que contiene varios vectores, el argumento axis identifica
qué dimensión de coordenadas corresponde a cada vector; sin él, NumPy puede
tratar el arreglo bidimensional como una matriz y calcular una norma
matricial. La norma 2 de una matriz es su mayor valor singular, mientras que
la norma 2 de un vector es su longitud euclídea. Indicar la estructura del
arreglo, ord y axis deja clara la cantidad que se pretende calcular.
Question 7
¿Una penalización L2 sobre los pesos del modelo garantiza robustez ante cambios de entrada acotados por L-infinito? Explica qué dos vectores intervienen.
Show the step-by-step solution
No. La penalización se aplica al vector de parámetros durante el ajuste del modelo. Un presupuesto de robustez L-infinito se aplica al vector de perturbación de entrada . Limitan cantidades distintas en partes distintas del modelo, así que una penalización de pesos por sí sola no demuestra la garantía de robustez de entrada indicada.
Question 8
Si el gradiente de la pérdida con respecto a la entrada es g = (2, −1) y ε = 0.01, ¿qué perturbación elige el paso no dirigido del signo del gradiente rápido y qué cambio de primer orden en la pérdida predice g?
Show the step-by-step solution
Los signos de las coordenadas son , por lo que el paso es . El cambio de primer orden previsto es . Es una aproximación lineal basada en el gradiente, no una garantía de que la pérdida exacta aumente en 0.03 ni de que cambie la predicción.