22 votos

¿Ventajas de la optimización por enjambre de partículas sobre la optimización bayesiana para el ajuste de hiperparámetros?

Existe una importante investigación contemporánea sobre Optimización bayesiana (1) para ajustar los hiperparámetros ML. La motivación principal aquí es que se requiere un número mínimo de puntos de datos para tomar decisiones informadas sobre qué puntos vale la pena probar (las llamadas a la función objetivo son caras, por lo que hacer menos es mejor) porque el entrenamiento de un modelo es intensivo en tiempo - algunos problemas SVM modestamente grandes en los que he trabajado pueden tardar entre minutos y horas en completarse.

Por otro lado, Optunity es una implementación de enjambre de partículas para abordar la misma tarea. No estoy abrumadoramente familiarizado con PSO, pero parece que debe ser menos eficiente en el sentido de requerir un mayor número de puntos de prueba, y por lo tanto las evaluaciones de la función objetivo, para evaluar la superficie hiperparámetro.

¿Me estoy perdiendo algún detalle clave que hace que PSO sea preferible a BO en el contexto del aprendizaje automático? ¿O la elección entre los dos siempre es inherentemente contextual para la tarea de ajuste de hiperparámetros?


(1) Shahriari et al, "Taking the Human out of the Loop: A Review of Bayesian Optimizaiton".

30voto

Marc Claesen Puntos 9818

Como desarrollador principal de Optunity, añadiré mi granito de arena.

Hemos realizado extensas pruebas comparativas entre Optunity y los solucionadores bayesianos más populares (por ejemplo, hyperopt, SMAC, bayesopt) en problemas del mundo real, y los resultados indican que PSO no es menos eficiente en muchos casos prácticos. En nuestra prueba comparativa, que consiste en ajustar clasificadores SVM en varios conjuntos de datos, Optunity es en realidad más eficiente que hyperopt y SMAC, pero ligeramente menos eficiente que BayesOpt. Me encantaría compartir los resultados aquí, pero voy a esperar hasta que Optunity sea finalmente publicado en JMLR (en revisión desde hace más de un año, así que no contenga la respiración...).

Como usted indica, el aumento de la eficiencia es un argumento de venta comúnmente utilizado para la optimización bayesiana, pero en la práctica sólo se sostiene si se cumplen los supuestos de los modelos sustitutos subyacentes, lo que dista mucho de ser trivial. En nuestros experimentos, el sencillo solucionador PSO de Optunity suele competir con los enfoques bayesianos complejos en cuanto al número de evaluaciones de funciones. Los solucionadores bayesianos funcionan muy bien cuando se les proporciona una buena base a priori, pero con una base a priori poco informativa no hay prácticamente ningún beneficio estructural sobre métodos metaheurísticos como PSO en términos de eficiencia.

Uno de los puntos fuertes de PSO es su vergonzoso paralelismo. La optimización bayesiana suele ser difícil de paralelizar, debido a su naturaleza inherentemente secuencial (la implementación de hyperopt es la única excepción real). Dadas las oportunidades de distribución, que se está convirtiendo en la norma, Optunity rápidamente toma la delantera en tiempo de reloj de pared para obtener buenas soluciones.

Otra diferencia clave entre Optunity y la mayoría de las demás bibliotecas dedicadas a la optimización de hiperparámetros es el público objetivo: Optunity tiene la interfaz más sencilla y está dirigida a personas no expertas en aprendizaje automático, mientras que la mayoría de las demás bibliotecas requieren ciertos conocimientos de optimización bayesiana para utilizarlas con eficacia (es decir, están dirigidas a especialistas).

La razón por la que creamos la biblioteca es que, a pesar de que existen métodos dedicados de optimización de hiperparámetros, carecen de adopción en la práctica. La mayoría de la gente sigue sin sintonizar, lo hace manualmente o utiliza métodos ingenuos como la búsqueda aleatoria o en cuadrícula. En nuestra opinión, una de las razones principales es que las bibliotecas existentes antes de desarrollar Optunity eran demasiado difíciles de usar en términos de instalación, documentación y API, y a menudo se limitaban a un único entorno.

0voto

Metaxal Puntos 173

La respuesta depende del problema y no puede darse sin un contexto adicional. Normalmente, la respuesta sería la siguiente. La optimización bayesiana es más adecuada para problemas de baja dimensión con un presupuesto computacional de hasta, digamos, 10x-100x el número de variables. PSO puede ser bastante eficiente para presupuestos mucho mayores, pero no es lo más avanzado en su nicho.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X