Optimización de hiperparámetros
La optimización de hiperparámetros es una tarea de aprendizaje automático que consiste en elegir un conjunto de hiperparámetros óptimos para un algoritmo de aprendizaje.
Los mismos tipos de modelos de aprendizaje automático pueden requerir diferentes suposiciones, pesos o tasas de aprendizaje para diferentes tipos de datos. Estos parámetros se denominan hiperparámetros y deben ajustarse para que el modelo pueda resolver de manera óptima el problema de aprendizaje. Para ello, se encuentra una tupla de hiperparámetros , que da el modelo óptimo que optimiza la función de pérdida dada sobre los datos independientes dados [1] . La función objetivo toma una tupla de hiperparámetros y devuelve la pérdida asociada [1] . La validación cruzada se utiliza a menudo para evaluar esta capacidad de generalización [2] .
Aproximaciones
Búsqueda en cuadrícula
El método tradicional para realizar la optimización de hiperparámetros es la búsqueda de celosía (o variación de parámetros ), que simplemente realiza una búsqueda exhaustiva en un subconjunto especificado manualmente del espacio de hiperparámetros del algoritmo de entrenamiento. La búsqueda de celosía debe ir acompañada de alguna medida de rendimiento, generalmente medida por validación cruzada en el conjunto de entrenamiento [3] , o ejecutando el algoritmo en un conjunto de prueba bien establecido [4] .
Dado que el espacio de parámetros de un algoritmo de aprendizaje automático para algunos parámetros puede incluir espacios con valores reales o ilimitados, es posible que sea necesario establecer manualmente el límite y la discretización antes de aplicar la búsqueda de red.
Por ejemplo, un clasificador típico de máquina de vector de soporte (SVM) de brecha suave equipado con una función de base radial del kernel tiene al menos dos hiperparámetros que deben ajustarse para un buen rendimiento en datos no disponibles: la constante de regularización C y el hiperparámetro del kernel γ. Ambos parámetros son continuos, por lo que se elige un conjunto finito de valores "aceptables" para la búsqueda de red, digamos
Luego, la búsqueda de celosía ejecuta el SVM para cada par ( C , γ) en el producto cartesiano de los dos conjuntos y prueba el rendimiento bajo los parámetros elegidos en el conjunto de prueba establecido (o mediante validación cruzada interna en el conjunto de entrenamiento, en cuyo caso múltiples SVM se ejecutan en pares). Finalmente, el algoritmo de búsqueda de celosía produce como resultado el resultado más alto logrado en el procedimiento de verificación.
La búsqueda de celosía sufre de la maldición de la dimensionalidad , pero a menudo es fácilmente paralelizable , ya que generalmente las cantidades hiperparamétricas con las que trabaja el algoritmo son independientes entre sí [2] .
Búsqueda aleatoria
La búsqueda aleatoria reemplaza la búsqueda exhaustiva de todas las combinaciones por una selección aleatoria de las mismas. Esto se puede aplicar fácilmente a las configuraciones discretas anteriores, pero el método también se puede generalizar a espacios continuos y mixtos. La búsqueda aleatoria puede superar a la búsqueda en celosía, especialmente si solo una pequeña cantidad de hiperparámetros afecta el rendimiento del algoritmo de aprendizaje automático [2] . En este caso, se dice que el problema de optimización tiene una dimensión intrínseca baja [5] . Las búsquedas aleatorias también son fácilmente paralelizables y, además, permiten el uso de datos preliminares especificando una distribución para el muestreo de parámetros aleatorios.
Optimización Bayesiana
La optimización bayesiana es un método de optimización global para una función desconocida (caja negra) con ruido. La optimización bayesiana aplicada a la optimización hiperparamétrica construye un modelo estocástico de la función de mapeo a partir de valores de hiperparámetros a una función objetivo aplicada sobre el conjunto de prueba. Mediante la aplicación iterativa de una configuración de hiperparámetros de perspectiva basada en el modelo actual y luego actualizándolo, la optimización bayesiana busca recopilar la mayor cantidad de información posible sobre esa función y, en particular, la ubicación del óptimo. El método intenta equilibrar el sondeo (hiperparámetros para los cuales el cambio se conoce de manera menos confiable) y el uso (hiperparámetros que se espera que estén más cerca del óptimo). En la práctica, la optimización bayesiana ha mostrado [6] [7] [8] [9] mejores resultados con menos cómputo en comparación con la búsqueda en cuadrícula y la búsqueda aleatoria debido a la posibilidad de juzgar la calidad de los experimentos incluso antes de que se realicen.
Optimización basada en gradiente
Para algoritmos de aprendizaje específicos, se puede calcular el gradiente de hiperparámetros y optimizarlos mediante el descenso de gradiente. El primer uso de estas técnicas se centró en las redes neuronales [10] . Estos métodos luego se extendieron a otros modelos, como máquinas de vectores de soporte [11] o regresión logística [12] .
Otro enfoque para usar gradientes de hiperparámetros es diferenciar los pasos del algoritmo de optimización iterativo usando la diferenciación automática [13] [14] .
Optimización evolutiva
La optimización evolutiva es una metodología para la optimización global de funciones desconocidas con ruido. En la optimización de hiperparámetros, la optimización evolutiva usa algoritmos evolutivos para encontrar hiperparámetros para un algoritmo dado [7] . La optimización de hiperparámetros evolutivos sigue un proceso inspirado en el concepto biológico de evolución :
- Creamos una población inicial de soluciones aleatorias (es decir, una tupla de hiperparámetros generada aleatoriamente, generalmente más de 100)
- Evaluar tuplas de hiperparámetros y derivar su función de aptitud (por ejemplo, usando una validación cruzada de precisión 10x de un algoritmo de aprendizaje automático con estos hiperparámetros)
- Clasifique las tuplas de hiperparámetros por su aptitud relativa
- Reemplace las tuplas de hiperparámetros con peor rendimiento con nuevas tuplas de hiperparámetros formadas por cruce y mutación
- Repita los pasos 2-4 hasta que obtengamos un rendimiento satisfactorio del algoritmo o hasta que el rendimiento deje de mejorar
La optimización evolutiva se utiliza para optimizar hiperparámetros para algoritmos de aprendizaje automático estadístico [7] , aprendizaje automático automático [15] [16] , para encontrar la arquitectura de redes neuronales profundas [17] [18] , así como para formar pesos en redes neuronales profundas . redes [19] .
Otro
También se están desarrollando los métodos de la función de base radial (RBF) [20] y el método espectral [21] .
Software de código abierto
Búsqueda en cuadrícula
Búsqueda aleatoria
Optimización Bayesiana
Basado en degradado
Métodos evolutivos
Otro
Servicios comerciales
Véase también
Notas
- ↑ 1 2 Claesen, Marc & Bart De Moor (2015), Búsqueda de hiperparámetros en aprendizaje automático, arΧiv : 1502.02127 [cs.LG].
- ↑ 1 2 3 Bergstra, Bengio, 2012 , pág. 281–305.
- ↑ Chin-Wei Hsu, Chih-Chung Chang y Chih-Jen Lin (2010). Una guía práctica para apoyar la clasificación de vectores. Archivado el 25 de junio de 2013 en Wayback Machine . Informe técnico, Universidad Nacional de Taiwán .
- ↑ Chicco, 2017 , pág. 1–17.
- ↑ Ziyu, Frank, Masrour, David, de Feitas, 2016 .
- ↑ Hutter, Hoos, Leyton-Brown, 2011 .
- ↑ 1 2 3 Bergstra, Bardenet, Bengio, Kegl, 2011 .
- ↑ Snoek, Larochelle, Adams, 2012 .
- ↑ Thornton, Hutter, Hoos, Leyton-Brown, 2013 .
- ↑ Larsen, Hansen, Svarer, Ohlsson, 1996 .
- ↑ Chapelle, Vapnik, Bousquet, Mukherjee, 2002 , pág. 131–159.
- ↑ Chuong, Foo, Ng, 2008 .
- ↑ Domke, 2012 .
- ↑ 1 2 Maclaurin, Douglas; Duvenaud, David & Adams, Ryan P. (2015), Optimización de hiperparámetros basada en gradiente a través del aprendizaje reversible, arΧiv : 1502.03492 [stat.ML].
- ↑ 1 2 Olson, Urbanowicz, Andrews, Lavender, Kidd, Moore, 2016 , pág. 123–137.
- ↑ 1 2 Olson, Bartley, Urbanowicz, Moore, 2016 , pág. 485–492.
- ↑ Miikkulainen R, Liang J, Meyerson E, Rawal A, Fink D, Francon O, Raju B, Shahrzad H, Navruzyan A, Duffy N, Hodjat B (2017), Evolving Deep Neural Networks, arΧiv : 1703.00548 [cs.NE] .
- ↑ Jaderberg M, Dalibard V, Osindero S, Czarnecki WM, Donahue J, Razavi A, Vinyals O, Green T, Dunning I, Simonyan K, Fernando C, Kavukcuoglu K (2017), Capacitación de redes neuronales basada en la población, arΧiv : 1711.09846 [cs.LG].
- ↑ Such FP, Madhavan V, Conti E, Lehman J, Stanley KO, Clune J (2017), Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning, arΧiv : 1712.06567 [cs.NE].
- ↑ 1 2 Díaz, Gonzalo; Fokoué, Achille; Nannicini, Giacomo & Samulowitz, Horst (2017), Un algoritmo efectivo para la optimización de hiperparámetros de redes neuronales, arΧiv : 1705.08520 [cs.AI].
- ↑ 1 2 Hazan, Elad; Klivans, Adam & Yuan, Yang (2017), Optimización de hiperparámetros: un enfoque espectral, arΧiv : 1706.00764 [cs.LG].
- ↑ Martínez-Cantin, 2014 , p. 3915-3919.
- ↑ Kotthoff, Thornton, Hoos, Hutter, Leyton-Brown, 2017 , pág. 1–5.
- ↑ Feurer, Klein, Eggensperger, Springenberg, Blum, Hutter, 2015 , pág. 2962–2970.
- ↑ Baptista, Ricardo & Poloczek, Matthias (2018), Optimización bayesiana de estructuras combinatorias, arΧiv : 1806.08838 [stat.ML].
- ↑ Hutter, Hoos, Leyton-Brown, 2011 , pág. 507-523.
- ↑ Nikitin, Vychuzhanin, Sarafanov, Polonskaia, Revin, Barabanova, Maximov, Kalyuzhnaya, Boukhanovsky, 2022 , p. 109–125.
- ↑ Gorissen, Crombecq, Couckuyt, Demeester, Dhaene, 2010 , pág. 2051-2055
Literatura
- James Bergstra, Yoshua Bengio. Búsqueda aleatoria de optimización de hiperparámetros // J. Investigación de aprendizaje automático. - 2012. - T. 13 .
- Chicco D. Diez consejos rápidos para el aprendizaje automático en biología computacional // Minería de biodatos. - 2017. - Diciembre ( vol. 10 ). — pág. 1–17. -doi : 10.1186/ s13040-017-0155-3 . — PMID 29234465 .
- Wang Ziyu, Hutter Frank, Zoghi Masrour, Matheson David, Nando de Feitas. Optimización bayesiana en mil millones de dimensiones a través de incrustaciones aleatorias // Journal of Artificial Intelligence Research. - 2016. - Vol. 55 . -doi : 10.1613 / jair.4806 . Archivado desde el original el 23 de abril de 2018.
- James Bergstra, Remi Bardenet, Yoshua Bengio, Balazs Kegl. Algoritmos para optimización de hiperparámetros // Avances en Sistemas de Procesamiento de Información Neural. — 2011.
- Jasper Snoek, Hugo Larochelle, Ryan Adams. Optimización bayesiana práctica de algoritmos de aprendizaje automático // Avances en sistemas de procesamiento de información neuronal. - 2012. - . -arXiv : 1206.2944 . _
- Chris Thornton, Frank Hutter, Holger Hoos, Kevin Leyton-Brown. Auto-WEKA: Selección combinada y optimización de hiperparámetros de algoritmos de clasificación // Knowledge Discovery y Data Mining. - 2013. - . -arXiv : 1208.3719 . _
- Jan Larsen, Lars Kai Hansen, Claus Svarer, M Ohlsson. Diseño y regularización de redes neuronales: el uso óptimo de un conjunto de validación // Actas del Taller de la Sociedad de Procesamiento de Señales IEEE de 1996. — 1996.
- Olivier Chapelle, Vladimir Vapnik, Olivier Bousquet, Sayan Mukherjee. Elección de múltiples parámetros para máquinas de vectores de soporte // Aprendizaje automático. - 2002. - vol. 46. - doi : 10.1023/a:1012450327387 .
- Chuong B., Chuan-Sheng Foo, Andrew Y Ng. Aprendizaje eficiente de múltiples hiperparámetros para modelos logarítmicos lineales // Avances en sistemas de procesamiento de información neuronal 20. - 2008.
- Justin Domke. Métodos Genéricos para Modelado Basado en Optimización // AISTATS. - 2012. - T. 22 .
- Rubén Martínez Cantín. BayesOpt: una biblioteca de optimización bayesiana para optimización no lineal, diseño experimental y bandidos // Journal of Machine Learning Research. - 2014. - T. 15 . — S. 3915−3919 . - . -arXiv : 1405.7430 . _
- Kotthoff L., Thornton C., Hoos HH, Hutter F., Leyton-Brown K. Auto-WEKA 2.0: selección automática de modelos y optimización de hiperparámetros en WEKA // Journal of Machine Learning Research. — 2017.
- Feurer M., Klein A., Eggensperger K., Springenberg J., Blum M., Hutter F. Aprendizaje automático eficiente y robusto // Avances en sistemas de procesamiento de información neuronal 28 (NIPS 2015). — 2015.
- Hutter F., Hoos HH, Leyton-Brown K. Optimización basada en modelos secuenciales para la configuración general de algoritmos // Actas de la conferencia sobre aprendizaje y optimización inteligente (LION 5) . — Roma, Italia: Springer-Verlag, 2011.
- Olson RS, Urbanowicz RJ, Andrews PC, Lavender NA, Kidd L., Moore JH Automatización de la ciencia de datos biomédicos mediante la optimización de canalizaciones basadas en árboles // Actas de EvoStar 2016 . - 2016. - T. 9597. - (Apuntes de cátedra en Informática). — ISBN 978-3-319-31203-3 . -doi : 10.1007 / 978-3-319-31204-0_9 .
- Olson RS, Bartley N., Urbanowicz RJ, Moore JH Evaluación de una herramienta de optimización de tuberías basada en árboles para automatizar la ciencia de datos . - 2016. - C. Actas de EvoBIO 2016 . — ISBN 9781450342063 . -doi : 10.1145/ 2908812.2908918 . -arXiv : 1603.06212 . _
- Dirk Gorissen, Karel Crombecq, Ivo Couckuyt, Piet Demeester, Tom Dhaene. Una caja de herramientas de modelado sustituto y muestreo adaptativo para el diseño basado en computadora // J. Machine Learning Research. - 2010. - T. 11 . — S. 2051–2055 .
- Nikolay O. Nikitin, Pavel Vychuzhanin, Mikhail Sarafanov, Iana S. Polonskaia, Ilia Revin, Irina V. Barabanova, Gleb Maximov, Anna V. Kalyuzhnaya, Alexander Boukhanovsky. Enfoque evolutivo automatizado para el diseño de canalizaciones de aprendizaje automático compuestas // Sistemas informáticos de generación futura. - 2022. - T. 127 . - S. 109-125 .