¿Existe alguna técnica basada en el descenso de gradiente para buscar el mínimo absoluto (máximo) de una función en el espacio multidimensional?

11

Estoy familiarizado con el algoritmo de descenso de gradiente que puede encontrar el mínimo local (máximo) de una función determinada.

¿Hay alguna modificación del descenso de gradiente que permita encontrar el mínimo absoluto (máximo), donde la función tiene varios extremos locales?

¿Existen técnicas generales, cómo mejorar un algoritmo que puede encontrar el extremo local, para encontrar el extremo absoluto?

romano
fuente
Es posible que desee verificar Validación cruzada o las Preguntas y respuestas de AI vinculadas desde las Preguntas frecuentes .
Kaveh
Creo que ese es uno de los inconvenientes del descenso de gradiente: puede atascarse en extremos locales. Otras técnicas como el recocido simulado pueden ser menos susceptibles a esto, pero aún no puedo hacer garantías, por lo que entiendo.
Joe
1
No estoy seguro de qué tiene que ver el "espacio multidimensional" con esto. Incluso una función para R puede tener múltiples extremos locales con los que la búsqueda de gradiente tendrá problemas.
Suresh Venkat
Estoy bastante seguro de que existe un teorema en el sentido de que si la función es continua y se muestrea en suficientes puntos, puede garantizar que el descenso del gradiente encontrará el mínimo global a partir de algún punto. es decir, algo en la línea del algoritmo de Powell. La literatura es tan vasta que probablemente se publique un teorema como este en alguna parte, pero no he oído hablar de él. También demuestra que la optimización local puede acercarse a los óptimos globales con un muestreo suficiente, a medida que aumenta el muestreo.
vzn
algo relacionado, vea también los comentarios aquí que argumentan firmemente que NN global o los métodos de tipo numérico / heurístico no son "algoritmos de aproximación"
vzn

Respuestas:

17

Supongo que estás hablando de minimización sin restricciones. Su pregunta debe especificar si está considerando una estructura de problema específica. De lo contrario, la respuesta es no.

Primero debería disipar un mito. Ni siquiera se garantiza que el método clásico de descenso de gradiente (también llamado método de descenso más pronunciado ) encuentre un minimizador local. Se detiene cuando ha encontrado un punto crítico de primer orden, es decir, uno donde el gradiente se desvanece. Dependiendo de la función particular que se minimiza y del punto de partida, ¡puede terminar en un punto de apoyo o incluso en un maximizador global!

f(x,y)=x2y2(x0,y0):=(1,0)f(1,0)=(2,0)(0,0)f(x,y)=x21016y2(0,0)2f(x,y)1016+1016

f(x)={1if x0cos(x)if 0<x<π1if xπ.

x0=2

Ahora, prácticamente todos los métodos de optimización basados ​​en gradientes sufren de esto por diseño. Su pregunta es realmente sobre la optimización global . Una vez más, la respuesta es no, no hay recetas generales para modificar un método a fin de garantizar que se identifique un minimizador global. Simplemente pregúntese: si el algoritmo devuelve un valor y dice que es un minimizador global, ¿cómo comprobaría que es cierto?

Hay clases de métodos en la optimización global. Algunos introducen la aleatorización. Algunos usan estrategias de inicio múltiple. Algunos explotan la estructura del problema, pero esos son para casos especiales. Elija un libro sobre optimización global. Lo disfrutarás.

Dominique
fuente
@Roman: Muy bienvenido.
Dominique
3

Probablemente no haya una respuesta única para su pregunta. Pero es posible que desee analizar algoritmos de recocido simulados u otros enfoques que se basan en los métodos de Monte Carlo de cadena de Markov (MCMC). Estos también se pueden combinar con métodos locales como el descenso de gradiente.

mrig
fuente
1

Hay muchas referencias sobre la "optimización global de las redes neuronales". Las técnicas son similares al recocido simulado [ver otra respuesta]. La idea básica es reiniciar el descenso de gradiente de red comenzando en muchos puntos de inicio de peso diferentes, muestreados aleatoriamente o sistemáticamente. cada resultado del descenso del gradiente es como una "muestra". cuantas más muestras se toman, mayor es la probabilidad de que una de las muestras sea el óptimo global, especialmente si la función objetivo se "comporta bien" en el sentido de continua, diferenciable, etc.

referencias en línea

[1] Optimización global de los pesos de las redes neuronales por Hamm et al.

[2] Un enfoque de optimización global para el entrenamiento de redes neuronales Voglis / Lagaris

[3] Calibración de redes neuronales artificiales mediante Pinter de optimización global

[4] Optimización global de redes neuronales utilizando un enfoque híbrido determinista Beliakov

[5] Optimización global para el entrenamiento de redes neuronales Shang / Wah

vzn
fuente
1

En general, es computacionalmente difícil optimizar funciones no convexas multivariadas. La dureza viene en diferentes sabores (criptográfico, NP-duro). Una forma de ver esto es que los modelos de mezcla (como la mezcla de guasianos o HMM) son difíciles de aprender, pero serían fáciles (*) si fuera posible maximizar la probabilidad de manera eficiente. Para obtener resultados sobre la dureza del aprendizaje de HMM, consulte http://alex.smola.org/journalclub/AbeWar92.pdf http://link.springer.com/chapter/10.1007%2F3-540-45678-3_36 http: // www.math.ru.nl/~terwijn/publications/icgiFinal.pdf

(*) modulo las condiciones usuales de no degeneración e identificabilidad

Aria
fuente
0

Debo estar en desacuerdo con Dominique. Hajek demostró a mediados de la década de 1980 que el recocido de un problema no convexo bajo ciertas condiciones estrictas está garantizado para alcanzar el mínimo global: http://dx.doi.org/10.1287/moor.13.2.311

Aaron Brick
fuente
2
A la luz de los resultados de dureza mencionados anteriormente, esas condiciones deben ser bastante estrictas.
Aryeh