detalle de implementación práctica de la optimización bayesiana

8

Estoy probando la optimización bayesiana, siguiendo a Snoek, Larochelle y Adams [ http://arxiv.org/pdf/1206.2944.pdf] , usando GPML [ http://www.gaussianprocess.org/gpml/code/matlab / doc /] . Implementé la función de adquisición Mejora esperada que se describe en la página 3, y supongo que estoy en lo correcto al decidir dónde consultar mi objetivo, debo tomar elx que maximiza:

aEI(x;(xn,yn,θ))

Pero parece que no puedo encontrar orientación sobre qué conjunto de candidatos xEs a tener en cuenta. Teóricamente, me gustaría encontrar lo mejorxen todo el dominio, y el documento está escrito de tal manera que parece sugerir que esto es posible ("[EI] también tiene forma cerrada bajo el proceso gaussiano"). Pero como cuestión práctica, necesito calcular los medios predictivos posteriores y las variaciones en cualquierx Podría considerar antes de poder calcular aEI(x) y aunque estos posteriores tienen una forma cerrada, todavía necesito calcularlos usando álgebra matricial, por lo que no puedo ver una forma de evitar elegir un montón de x's.

La pregunta: ¿cuál es un método práctico para elegir el conjunto de candidatos grandes (¿medianos? ¿Pequeños?)x¿Sobre qué maximizo EI (o cualquier otra función de adquisición)? (¿Está esto en algún lugar del periódico y me lo perdí?)

Por el momento, solo estoy tomando mi set actual xi, muestreándolo con reemplazo 2000 veces, y luego agregando algo de ruido gaussiano a cada punto. Parece estar bien, supongo.

stackoverflax
fuente
Todavía no he leído este documento, pero ¿ha considerado tomar muestras del dominio de interés utilizando un diseño latino de hipercubos? en.wikipedia.org/wiki/Latin_hypercube_sampling
RustyStatistician
Una alternativa sería cuadricular el dominio (si es posible) y luego evaluar cada punto en ese dominio cuadriculado.
RustyStatistician
Estas son sugerencias razonables, ¡gracias! No sé mucho sobre los hipercubos latinos, pero los dominios grillados regulares significarían que se podría usar el álgebra de Toeplitz y Kronecker, lo que haría las cosas agradables y eficientes incluso con una grilla muy grande.
stackoverflax

Respuestas:

6

La norma es usar cualquier optimizador global que desee. El problema es que la superficie EI es altamente multimodal y está desconectada; optimizar esta función de adquisición es un problema no trivial en sí mismo.

Una opción común que he visto en varios documentos es el algoritmo DIRECTO ; a veces he visto CMA-ES, que es un método de vanguardia en optimización no lineal. En mi experiencia para otras formas de optimización, MCS ( Multi-Level Coordinate Search ) tiende a funcionar relativamente bien. Puede encontrar una revisión de optimizadores globales sin derivados aquí :

  • Rios y Sahinidis, "Optimización libre de derivados: una revisión de algoritmos y comparación de implementaciones de software", Journal of Global Optimization (2013).

Por cierto, la EI es analítica, por lo que si lo desea, también puede calcular su gradiente para guiar la optimización, pero esto no es necesario. Una técnica efectiva es ejecutar un optimizador global primero para encontrar soluciones prometedoras y luego ejecutar un optimizador local para refinarlo (por ejemplo, un método cuasi-Newton como BFGS, que es fminunc en MATLAB; o fmincon si tiene restricciones).

Finalmente, si la velocidad de optimización de la función de adquisición es un factor (que no es el escenario BO "tradicional"), he encontrado resultados decentes comenzando con un diseño de hipercubo latino o un diseño de secuencia de Sobol cuasialeatorio, luego refinado con unos pocos pasos de un optimizador local desde los mejores puntos; vea también el comentario @ user777. Como este no es el escenario BO estándar, no tengo ninguna referencia específica que realmente use este método.


Ejemplos de documentos que se refieren a DIRECT o CMA-ES:

  • Calandra, R., Seyfarth, A., Peters, J. y Deisenroth, MP (2015). Optimización bayesiana para aprender a andar bajo incertidumbre. Anales de Matemáticas e Inteligencia Artificial, 1-19 ( enlace ).
  • Mahendran, N., Wang, Z., Hamze, F. y Freitas, ND (2012). MCMC adaptativo con optimización bayesiana. En Conferencia Internacional sobre Inteligencia Artificial y Estadísticas (pp. 751-760) ( enlace ).
  • Gunter, T., Osborne, MA, Garnett, R., Hennig, P. y Roberts, SJ (2014). Muestreo para inferencia en modelos probabilísticos con cuadratura bayesiana rápida. En Avances en sistemas de procesamiento de información neuronal (pp. 2789-2797) ( enlace ).

Puede simplemente buscar en Google "optimización bayesiana" + el algoritmo de optimización global deseado, y encontrará un montón de documentos. Además, en casi todos los demás artículos sobre BO encontrarás una oración como :

[...] BO generalmente requiere un optimizador global auxiliar en cada iteración para optimizar la función de adquisición. Es habitual en la literatura de la BO utilizar DIvided RECTangles (DIRECT) para realizar tal tarea. También podrían aplicarse otros algoritmos de optimización global como CMA-ES.

lacerbi
fuente
¡Esto es realmente sorprendente para mí! ¿Me puede indicar un documento de optimización bayesiano representativo que tenga en mente y que use DIRECT o CMA-ES? Gracias.
stackoverflax
¿Por qué es sorprendente? Esta es la norma: encontrará referencias a DIRECTOS u otros optimizadores globales en casi todos los periódicos BO. Probablemente es tan conocido en la comunidad que algunos periódicos ni siquiera se molestan en mencionarlo: solo se da por sentado. Agregué algunas referencias en mi comentario principal anterior.
lacerbi
Esta no es necesariamente una buena solución, pero he encontrado que puede ser más barato evaluar la EI en un conjunto de puntos muestreados usando Hypercubes latinos en los casos en que solo necesita estar cerca del mínimo pero no necesariamente encima.
Sycorax dice Reinstate Monica
@ user777: Sí, si la velocidad está en juego, he estado usando secuencias cuasialeatorias LH y Sobol como diseño inicial (encontrando una ligera ventaja con este último, pero podría depender de problemas), y luego ejecuté un optimizador local como BFGS desde los mejores puntos. Agregaré esto al comentario principal.
lacerbi
Una forma de justificar la naturaleza ad hoc del enfoque de LHS es que encontrar el mínimo de una función estocástica (superficie) es innecesario porque el error en la estimación del mínimo reducirá las ganancias por minuto en precisión. Sin embargo, esta es una muy buena respuesta. Me alegra que a alguien más le importe BO. :-)
Sycorax dice Reinstate Monica