La optimización sin arpillera se refiere a una clase de optimizadores con una calidad específica. En general, en la optimización convexa (lo que no implica que las funciones que se optimizan sean convexas, solo que los métodos que se utilizan y la teoría que los impulsa se desarrollaron para funciones convexas), construimos optimizadores que buscan mínimos locales de una función. En otras palabras, tenemos una función [math] f (\ theta) [/ math] y estamos buscando el valor de [math] \ theta [/ math] que minimiza [math] f [/ math]. En las redes neuronales, [math] f [/ math] es típicamente una función basada en la probabilidad, y [math] \ theta [/ math] son los pesos de la red.
Podemos caracterizar a los optimizadores según el tipo de información que utilizan. La mayoría de los optimizadores (aunque no todos) están basados en gradientes. En este caso, la actualización en cada iteración se da como:
[matemáticas] \ theta ^ {\ tau} = \ theta ^ {\ tau-1} – \ eta \ nabla _ {\ theta} f (\ theta ^ {\ tau-1}) [/ math]
- ¿Cómo es posible optimizar un sistema donde el entorno se modela a través de métodos de aprendizaje automático?
- ¿Por qué el método de Newton solo es apropiado cuando el hessiano es positivo definido?
- ¿Qué consejo le darías a los estudiantes de doctorado que comienzan su doctorado en aprendizaje automático?
- ¿Qué es una explicación intuitiva de DBSCAN?
- ¿Cuáles son las características únicas de una red neuronal en comparación con otras técnicas de aprendizaje automático?
Básicamente, inicializamos [math] \ theta [/ math] a algún valor aleatorio, luego lo actualizamos iterativamente en función de un paso de tamaño [math] \ eta [/ math] en la dirección del gradiente. Podemos dar un paso más al introducir el Hessian (esto se justifica teóricamente por una expansión de la serie Taylor de segundo orden de [math] f (\ theta) [/ math] sobre [math] \ theta ^ {\ tau} [/ matemática]), que nos proporciona información sobre la curvatura de la función en nuestra ubicación. Esto nos dice mucho sobre el tamaño de paso correcto y puede mejorar drásticamente las tasas de convergencia. En este caso, la regla de actualización se convierte en:
[matemáticas] \ theta ^ {\ tau} = \ theta ^ {\ tau-1} – \ eta H ^ {- 1} (\ theta ^ {\ tau-1}) \ nabla _ {\ theta} f (\ theta ^ {\ tau-1}) [/ matemáticas]
El problema es que la Hessian [matemática] H [/ matemática] (y su inversión) puede ser muy costosa y numéricamente inestable de evaluar, especialmente para modelos grandes como las redes neuronales. Entonces, la optimización de HF es el uso de cualquier optimizador que no evalúe el Hessian. SGD simple no tiene arpillera, al igual que todos los optimizadores populares utilizados en la práctica (RMSprop, Adam, Adagrad, Adadelta, etc.). Esta es un área de investigación súper activa, y generalmente incluye una aproximación inteligente a la información de Hesse, como los términos basados en el momento.