Matriz hessiana

Nivel UniversitarioDificultad ★★★★★Concepto⌖ Ver en el mapa

¿Qué es?

La matriz de segundas derivadas parciales ∂2f/∂xi∂xj\partial^2 f/\partial x_i\partial x_j: la curvatura de ff en todas las direcciones. Sus valores propios clasifican los puntos críticos (mínimo, máximo, silla) y controlan lo deprisa que pueden ir los optimizadores.

¿Por qué existe?

El gradiente dice hacia dónde es cuesta abajo, pero no cómo cambia la pendiente: si el valle es un cuenco suave, un barranco estrecho o una silla de montar. Esa información de segundo orden decide si un punto crítico es un mínimo y qué tamaño de paso es seguro.

Intuición

Cerca de un punto crítico, f(x+h)≈f(x)+12h𝖳Hhf(x + h) \approx f(x) + \tfrac12 h^{\mathsf T}Hh: un cuenco cuadrático cuyos ejes son los vectores propios de HH y cuya inclinación en cada eje es el valor propio. Todos positivos: un cuenco (mínimo). Todos negativos: una cúpula. Signos mezclados: una silla. Valores propios muy distintos: un barranco estrecho donde el descenso de gradiente rebota de pared a pared.

Definición formal

Para f∈C2f \in C^2, Hf(x)=∇2f(x)=(∂i∂jf(x))ijH_f(x) = \nabla^2 f(x) = \big(\partial_i\partial_j f(x)\big)_{ij}, simétrica por Schwarz. En un punto crítico aa: H≻0H \succ 0 (definida positiva) ⇒ mínimo local estricto; H≺0H \prec 0 ⇒ máximo local estricto; HH indefinida ⇒ punto de silla.

Fórmulas

Hf=(fxxfxyfyxfyy)H_f = \begin{pmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy}\end{pmatrix}
f(x+h)≈f(x)+∇f(x)𝖳h+12 h𝖳Hf(x) hf(x + h) \approx f(x) + \nabla f(x)^{\mathsf T}h + \tfrac12\,h^{\mathsf T}H_f(x)\,h
κ=λmax⁡(H)λmin⁡(H),η<2λmax⁡(H)\kappa = \frac{\lambda_{\max}(H)}{\lambda_{\min}(H)}, \qquad \eta < \frac{2}{\lambda_{\max}(H)}
condicionamiento y mayor learning rate estable en una cuadrática

Ejemplo

f(x,y)=x2−y2f(x, y) = x^2 - y^2: ∇f=0\nabla f = 0 en el origen, H=diag⁡(2,−2)H = \operatorname{diag}(2, -2), indefinida: una silla (una patata Pringles). El descenso de gradiente iniciado justo sobre el eje xx converge a ella; cualquier perturbación mínima en yy escapa. Por eso los puntos de silla ralentizan el entrenamiento pero rara vez lo atrapan.

¿Por qué importa?

El método de Newton usa H−1∇fH^{-1}\nabla f; los métodos cuasi-Newton (BFGS, L-BFGS) la aproximan; Adam y otros optimizadores adaptativos se pueden leer como aproximaciones diagonales baratas de la curvatura. En deep learning la «nitidez» (el mayor valor propio del hessiano) está ligada a la generalización y al fenómeno del borde de la estabilidad. La hessiana completa de un modelo de mil millones de parámetros nunca se forma, pero los productos hessiana–vector son baratos con diferenciación automática.

Aplicaciones en informática

  • Procesamiento de imagen y visión artificial★★★★★avanzadaSeñales, multimedia y visión

    Los detectores basados en el hessiano (determinante del hessiano en SURF, vesselness de Frangi) encuentran manchas y crestas.

Dónde aparece en IA

¿Dónde se utiliza?

Temas de informática a los que se llega desde aquí, con la cadena de ideas que lleva a ellos:

Qué depende de él

Ejercicios

1Cálculo directo

Clasifica los puntos críticos de f(x,y)=x3−3x+y2f(x, y) = x^3 - 3x + y^2.

Solución

∇f=(3x2−3,2y)=0\nabla f = (3x^2 - 3, 2y) = 0 en (±1,0)(\pm1, 0). H=diag⁡(6x,2)H = \operatorname{diag}(6x, 2): en (1,0)(1,0) definida positiva → mínimo; en (−1,0)(-1, 0) indefinida → silla.

2IA

En f(x,y)=12(x2+100y2)f(x,y) = \frac12(x^2 + 100y^2), ¿cuál es el mayor learning rate con el que converge el descenso de gradiente? ¿Cuántos pasos para reducir el error en xx a 10−310^{-3} con ese ritmo?

Solución

H=diag⁡(1,100)H = \operatorname{diag}(1, 100), así que η<2/100=0,02\eta < 2/100 = 0{,}02. En xx cada paso multiplica el error por 1−η≈0,981 - \eta \approx 0{,}98: 0,98k=10−3⇒k≈3420{,}98^k = 10^{-3} \Rightarrow k \approx 342. El número de condición 100 lo hace lento.

↑ ↓ para navegar · ↵ · Esc