in

La belleza de la optimización bayesiana, explicada en términos simples

Fuente: Unsplash

La belleza de la optimización bayesiana, explicada en términos simples

La intuición detrás de un ingenioso algoritmo

Andre Ye

Andre Ye

12 de septiembre de 2020·7 min de lectura

Aquí tienes una función: F(X). Es caro de calcular, no es necesariamente una expresión analítica y no conoce su derivada.

Tu tarea: encontrar los mínimos globales.

Esta es, sin duda, una tarea difícil, más difícil que otros problemas de optimización dentro del aprendizaje automático. El descenso de gradiente, por ejemplo, tiene acceso a las derivadas de una función y aprovecha los atajos matemáticos para una evaluación de expresiones más rápida.

Alternativamente, en alguna optimización scminarios, la función es barata de evaluar. Si podemos obtener cientos de resultados para variantes de una entrada X en unos pocos segundos, se puede emplear una simple búsqueda en cuadrícula con buenos resultados.

O bien, se puede utilizar toda una serie de métodos de optimización no gradiente no convencionales, como el enjambre de partículas o el recocido simulado.

Desafortunadamente, la tarea actual no tiene estos lujos. Estamos limitados en nuestra optimización por varios frentes, en particular:

  • Es caro de calcular. Idealmente, podríamos consultar la función lo suficiente como para replicarla, pero nuestro método de optimización debe funcionar con una muestra limitada de entradas.
  • Se desconoce la derivada. Existe una razón por la cual el descenso de gradientes y sus variantes siguen siendo los métodos más populares para el aprendizaje profundo y, a veces, en otros algoritmos de aprendizaje automático. Conocer la derivada le da al optimizador un sentido de dirección; no tenemos esto.
  • Necesitamos encontrar los mínimos globales, que es una tarea difícil incluso para un método sofisticado como el descenso de gradientes. Nuestro modelo de alguna manera necesitará un mecanismo para evitar quedar atrapado en los mínimos locales.

La solución: optimización bayesiana, que proporciona un marco elegante para abordar problemas que se asemejan al escenario descrito para encontrar el mínimo global en el menor número de pasos.

Construyamos un ejemplo hipotético de función C(X), o el costo de un modelo dado algún insumo X. Por supuesto, el aspecto de la función estará oculto al optimizador; esta es la verdadera forma de C(X). Esto se conoce en la jerga como la «función objetivo».

1*5ImfZRh R8vbrZzM7EC7Xg

La optimización bayesiana aborda esta tarea mediante un método conocido como optimización sustituta. Por contexto, una madre sustituta es una mujer que acepta tener un hijo para otra persona; en ese contexto, una función sustituta es una aproximación de la función objetivo.

La función sustituta se forma en base a puntos muestreados.

1*01OV9s DYaK8k cwa0bk3A

Basándonos en la función sustituta, podemos identificar qué puntos son mínimos prometedores. Decidimos tomar más muestras de estas regiones prometedoras y actualizar la función sustituta en consecuencia.

1*31TpvO5XO VGaZG0m3FgVg

En cada iteración, continuamos examinando la función sustituta actual, aprendemos más sobre las áreas de interés mediante el muestreo y actualizamos la función. Tenga en cuenta que la función sustituta se expresará matemáticamente de una manera significativamente más barata de evaluar (p. Ej. y=x para ser una aproximación a una función más costosa, y=arcsin((1-cos²x)/sin x) dentro de un cierto rango).

Después de un cierto número de iteraciones, estamos destinados a llegar a un mínimo global, a menos que la forma de la función sea muy extraño (en el sentido de que tiene grandes y salvajes oscilaciones hacia arriba y hacia abajo) en el que se debe hacer una pregunta mejor que la optimización: ¿qué está mal con sus datos?

Tómese un momento para maravillarse con la belleza de este enfoque. No hace ninguna suposición sobre la función (excepto que es optimizable en primer lugar), no requiere información sobre derivadas y es capaz de utilizar el razonamiento de sentido común mediante el uso ingenioso de una función de aproximación continuamente actualizada. La costosa evaluación de nuestra función objetivo original no es un problema en absoluto.

Este es un enfoque de optimización basado en sustitutos. Entonces, ¿qué lo hace exactamente bayesiano?

La esencia de las estadísticas y modelos bayesianos es la actualización de una creencia previa (previa) a la luz de nueva información para producir una creencia posterior («posterior») actualizada. Esto es exactamente lo que hace la optimización sustituta en este caso, por lo que se puede representar mejor a través de sistemas, fórmulas e ideas bayesianos.

Echemos un vistazo más de cerca a la función sustituta, que generalmente está representada por procesos gaussianos, que se puede considerar como una tirada de dados que devuelve funciones ajustadas a puntos de datos dados (por ejemplo, sin, log) en lugar de los números del 1 al 6. El proceso devuelve varias funciones, que tienen probabilidades adjuntas.

0*09NmB3U7dZ8bvU81

Izquierda: varias funciones generadas por procesos gaussianos para cuatro puntos de datos. Derecha: Las funciones agregadas. Fuente: Oscar Knagg, imagen para compartir gratis.

Este artículo de Oscar Knagg da una buena intuición sobre cómo funcionan los médicos de cabecera.

Hay una buena razón por la que se utilizan procesos gaussianos, y no algún otro método de ajuste de curvas, para modelar la función sustituta: es de naturaleza bayesiana. Un GP es una distribución de probabilidad, como una distribución de los resultados finales de un evento (por ejemplo, 1/2 probabilidad de lanzar una moneda), pero sobre todas las funciones posibles.

Por ejemplo, podemos definir el conjunto actual de puntos de datos como representable en un 40% por función a(X), 10% por función B(X), etc. Al representar la función sustituta como una distribución de probabilidad, se puede actualizar con nueva información a través de procesos bayesianos inherentemente probabilísticos. Quizás cuando se introduce nueva información, los datos solo son representables en un 20% por función. a(X). Estos cambios se rigen por fórmulas bayesianas.

Esto sería difícil o incluso imposible de hacer con, digamos, un ajuste de regresión polinomial a nuevos puntos de datos.

La función sustituta, representada como una distribución de probabilidad, la anterior, se actualiza con una «función de adquisición». Esta función es responsable de impulsar la propuesta de nuevos puntos para probar, en una compensación de exploración y explotación:

  • Explotación busca muestrear dónde el modelo sustituto predice un buen objetivo. Esto está aprovechando los lugares prometedores conocidos. Sin embargo, si ya hemos explorado una determinada región lo suficiente, la explotación continua de información conocida producirá poca ganancia.
  • Exploración busca muestrear en lugares donde la incertidumbre es alta. Esto asegura que no quede ninguna región importante del espacio sin explorar; es posible que los mínimos globales se encuentren allí.

Una función de adquisición que fomente demasiada explotación y muy poca exploración hará que el modelo resida solo un mínimo que encuentre primero (generalmente local, «yendo solo donde hay luz»). Una función de adquisición que fomente lo contrario no se quedará en mínimos, locales o globales, en primer lugar. Dando buenos resultados en un delicado equilibrio.

La función de adquisición, que denotaremos a(X), debe considerar tanto la explotación como la exploración. Las funciones de adquisición comunes incluyen la mejora esperada y la probabilidad máxima de mejora, todas las cuales miden la probabilidad de que una entrada específica pueda dar resultados en el futuro, dada la información sobre el anterior (el proceso gaussiano).

Juntemos las piezas. La optimización bayesiana se puede realizar como tal:

  1. Inicializar una distribución previa de «función sustituta» del proceso gaussiano.
  2. Elija varios puntos de datos X tal que la función de adquisición a(X) que operan en la distribución anterior actual se maximiza.
  3. Evaluar los puntos de datos X en la función de costo objetivo C(X) y obtener los resultados, y.
  4. Actualice la distribución previa del Proceso Gaussiano con los nuevos datos para producir un posterior (que se convertirá en el anterior en el siguiente paso).
  5. Repita los pasos 2 a 5 para varias iteraciones.
  6. Interprete la distribución actual del Proceso Gaussiano (que es muy económico de hacer) para encontrar los mínimos globales.

La optimización bayesiana se trata de poner ideas probabilísticas detrás de la idea de optimización sustituta. La combinación de estas dos ideas crea un sistema poderoso con muchas aplicaciones, desde el desarrollo de productos farmacéuticos hasta vehículos autónomos.

Sin embargo, más comúnmente en el aprendizaje automático, la optimización bayesiana se usa para la optimización de hiperparámetros. Por ejemplo, si estamos entrenando un clasificador de aumento de gradiente, hay docenas de parámetros, desde la tasa de aprendizaje hasta la profundidad máxima y el valor mínimo de división de impurezas. En este caso, X representa los hiperparámetros del modelo, y C(X) representa el rendimiento del modelo, dados los hiperparámetros X.

La principal motivación para utilizar la optimización bayesiana se encuentra en escenarios en los que es muy costoso evaluar la salida. En primer lugar, se debe construir un conjunto completo de árboles con los parámetros y, en segundo lugar, se deben ejecutar varias predicciones, que son costosas para los conjuntos.

Podría decirse que la evaluación de la red neuronal de la pérdida para un conjunto dado de parámetros es más rápida: simplemente se repite la multiplicación de matrices, que es muy rápida, especialmente en hardware especializado. Esta es una de las razones por las que se utiliza el descenso de gradientes, que realiza consultas repetidas para comprender hacia dónde se dirige.

En resumen:

  • La optimización sustituta utiliza una función sustituta o aproximada para estimar la función objetivo a través del muestreo.
  • La optimización bayesiana coloca la optimización sustituta en un marco probabilístico al representar funciones sustitutas como distribuciones de probabilidad, que pueden actualizarse a la luz de nueva información.
  • Las funciones de adquisición se utilizan para evaluar la probabilidad de que la exploración de un determinado punto en el espacio produzca un rendimiento «bueno» dado lo que se conoce actualmente de la exploración y la explotación anteriores, equilibrando la exploración.
  • Utilice la optimización bayesiana principalmente cuando la función objetivo sea costosa de evaluar, que se usa comúnmente en el ajuste de hiperparámetros. (Hay muchas bibliotecas como HyperOpt para esto).

¡Gracias por leer!

Métodos Monte Carlo, simplificados

Usando el caos para encontrar claridad

haciadatascience.com

Todas las imágenes creadas por el autor a menos que se indique lo contrario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

datos acceso instagram

Cómo habilitar el acceso a la cámara en Instagram para iPhone

oracleJava Embedded: descripción general