En el aprendizaje automático , un hiperparámetro es un parámetro cuyo valor se utiliza para controlar el proceso de aprendizaje. Por el contrario, los valores de otros parámetros (normalmente ponderaciones de los nodos) se derivan a través del entrenamiento.
Los hiperparámetros se pueden clasificar como hiperparámetros de modelo, que no se pueden inferir al ajustar la máquina al conjunto de entrenamiento porque se refieren a la tarea de selección del modelo , o hiperparámetros de algoritmo, que en principio no influyen en el rendimiento del modelo pero afectan la velocidad y calidad del proceso de aprendizaje. Un ejemplo de un modelo de hiperparámetro es la topología y el tamaño de una red neuronal. Ejemplos de hiperparámetros de algoritmo son la tasa de aprendizaje y el tamaño de mini lotes . [ aclaración necesaria ]
Los diferentes algoritmos de entrenamiento de modelos requieren diferentes hiperparámetros, algunos algoritmos simples (como la regresión de mínimos cuadrados ordinarios) no requieren ninguno. Dados estos hiperparámetros, el algoritmo de entrenamiento aprende los parámetros de los datos. Por ejemplo, LASSO es un algoritmo que agrega un hiperparámetro de regularización a la regresión de mínimos cuadrados ordinarios, que debe establecerse antes de estimar los parámetros a través del algoritmo de entrenamiento.
Consideraciones
El tiempo necesario para entrenar y probar un modelo puede depender de la elección de sus hiperparámetros. [1] Un hiperparámetro suele ser de tipo continuo o entero, lo que genera problemas de optimización de tipo mixto. [1] La existencia de algunos hiperparámetros está condicionada al valor de otros, por ejemplo, el tamaño de cada capa oculta en una red neuronal puede depender del número de capas. [1]
Dificultad para aprender parámetros
Por lo general, pero no siempre, los hiperparámetros no se pueden aprender mediante métodos bien conocidos basados en gradientes (como el descenso de gradientes, LBFGS), que se emplean comúnmente para aprender parámetros. Estos hiperparámetros son aquellos parámetros que describen la representación de un modelo que no se pueden aprender mediante métodos de optimización comunes pero que, sin embargo, afectan la función de pérdida. Un ejemplo sería el hiperparámetro de tolerancia para errores en máquinas de vectores de soporte.
Parámetros imposibles de entrenar
A veces, los hiperparámetros no se pueden aprender de los datos de entrenamiento porque aumentan agresivamente la capacidad de un modelo y pueden llevar la función de pérdida a un mínimo incorrecto (sobreajuste y captación de ruido en los datos) en lugar de mapear correctamente la riqueza de la estructura en los datos. Por ejemplo, si tratamos el grado de una ecuación polinomial que se ajusta a un modelo de regresión como un parámetro entrenable , esto solo aumentaría el grado hasta que el modelo se ajustara perfectamente a los datos, dando un pequeño error de entrenamiento, pero un mal rendimiento de generalización.
Sintonía
La mayor parte de la variación de rendimiento se puede atribuir a unos pocos hiperparámetros. [2] [1] [3] La capacidad de sintonización de un algoritmo, hiperparámetro o hiperparámetros interactivos es una medida de cuánto rendimiento se puede obtener ajustándolo. [4] Para un LSTM , mientras que la tasa de aprendizaje seguida por el tamaño de la red son sus hiperparámetros más cruciales, [5] el procesamiento por lotes y el impulso no tienen un efecto significativo en su rendimiento. [6]
Aunque algunas investigaciones han abogado por el uso de tamaños de mini lotes en miles, otros trabajos han encontrado el mejor rendimiento con tamaños de mini lotes entre 2 y 32. [7]
Robustez
Una estocasticidad inherente al aprendizaje implica directamente que el desempeño del hiperparámetro empírico no es necesariamente su desempeño real. [1] Los métodos que no son robustos a cambios simples en hiperparámetros, semillas aleatorias o incluso diferentes implementaciones del mismo algoritmo no pueden integrarse en sistemas de control de misión crítica sin una simplificación y robustez significativas. [8]
Los algoritmos de aprendizaje por refuerzo , en particular, requieren medir su rendimiento en una gran cantidad de semillas aleatorias y también medir su sensibilidad a la elección de hiperparámetros. [8] Su evaluación con una pequeña cantidad de semillas aleatorias no captura el rendimiento de manera adecuada debido a la alta variación. [8] Algunos métodos de aprendizaje por refuerzo, por ejemplo, DDPG (gradiente de política determinista profundo), son más sensibles a las opciones de hiperparámetros que otros. [8]
Mejoramiento
La optimización de hiperparámetros encuentra una tupla de hiperparámetros que produce un modelo óptimo que minimiza una función de pérdida predefinida en datos de prueba dados. [1] La función objetivo toma una tupla de hiperparámetros y devuelve la pérdida asociada. [1]
Reproducibilidad
Además de ajustar los hiperparámetros, el aprendizaje automático implica almacenar y organizar los parámetros y resultados, y asegurarse de que sean reproducibles. [9] En ausencia de una infraestructura sólida para este propósito, el código de investigación a menudo evoluciona rápidamente y compromete aspectos esenciales como la contabilidad y la reproducibilidad . [10] Las plataformas de colaboración en línea para el aprendizaje automático van más allá al permitir que los científicos compartan, organicen y discutan automáticamente experimentos, datos y algoritmos. [11] La reproducibilidad puede resultar particularmente difícil para los modelos de aprendizaje profundo . [12]
Existen varios servicios relevantes y software de código abierto:
Servicios
Nombre | Interfaces |
---|---|
Comet.ml [13] | Python [14] |
OpenML [15] [11] [16] [17] | REST, Python, Java, R [18] |
Pesos y sesgos [19] | Python [20] |
Software
Nombre | Interfaces | Tienda |
---|---|---|
Determinado | DESCANSO, Python | PostgreSQL |
Docker OpenML [15] [11] [16] [17] | REST, Python, Java, R [18] | MySQL |
sagrado [9] [10] | Python [21] | archivo, MongoDB , TinyDB, SQL |
Ver también
- Hiperheurístico
- Crisis de replicación
Referencias
- ^ a b c d e f g "Claesen, Marc y Bart De Moor." Búsqueda de hiperparámetros en el aprendizaje automático. "preprint arXiv arXiv: 1502.02127 (2015)". arXiv : 1502.02127 . Código bibliográfico : 2015arXiv150202127C .
- ^ Leyton-Brown, Kevin; Hoos, Holger; Hutter, Frank (27 de enero de 2014). "Un enfoque eficiente para evaluar la importancia de los hiperparámetros" : 754–762, a través de procedure.mlr.press. Cite journal requiere
|journal=
( ayuda ) - ^ "van Rijn, Jan N. y Frank Hutter." Importancia del hiperparámetro en todos los conjuntos de datos. "arXiv preprint arXiv: 1710.04725 (2017)". arXiv : 1710.04725 . Código Bib : 2017arXiv171004725V .
- ^ "Probst, Philipp, Bernd Bischl y Anne-Laure Boulesteix." Sintonización: importancia de los hiperparámetros de los algoritmos de aprendizaje automático. "ArXiv preprint arXiv: 1802.09596 (2018)". arXiv : 1802.09596 . Código bibliográfico : 2018arXiv180209596P .
- ^ Greff, K .; Srivastava, RK; Koutník, J .; Steunebrink, BR; Schmidhuber, J. (23 de octubre de 2017). "LSTM: una odisea del espacio de búsqueda". Transacciones IEEE en redes neuronales y sistemas de aprendizaje . 28 (10): 2222–2232. arXiv : 1503.04069 . doi : 10.1109 / TNNLS.2016.2582924 . PMID 27411231 . S2CID 3356463 .
- ^ "Breuel, Thomas M." Benchmarking de redes LSTM. "ArXiv preprint arXiv: 1508.02774 (2015)". arXiv : 1508.02774 . Código bibliográfico : 2015arXiv150802774B .
- ^ "Revisando el entrenamiento de lotes pequeños para redes neuronales profundas (2018)". arXiv : 1804.07612 . Código bibliográfico : 2018arXiv180407612M .
- ^ a b c d "Mania, Horia, Aurelia Guy y Benjamin Recht." La búsqueda aleatoria simple proporciona un enfoque competitivo para el aprendizaje por refuerzo. "ArXiv preprint arXiv: 1803.07055 (2018)". arXiv : 1803.07055 . Código bibliográfico : 2018arXiv180307055M .
- ^ a b "Greff, Klaus y Jürgen Schmidhuber". Presentación de Sacred: una herramienta para facilitar la investigación reproducible. " " (PDF) . 2015.
- ^ a b "Greff, Klaus, et al." La infraestructura sagrada para la investigación computacional. " " (PDF) . 2017.
- ^ a b c "Vanschoren, Joaquin, et al." OpenML: ciencia en red en el aprendizaje automático. "ArXiv preprint arXiv: 1407.7722 (2014)". arXiv : 1407.7722 . Código bibliográfico : 2014arXiv1407.7722V .
- ^ Villa, Jennifer; Zimmerman, Yoav (25 de mayo de 2018). "Reproducibilidad en ML: por qué importa y cómo lograrlo" . Blog de IA determinada . Consultado el 31 de agosto de 2020 .
- ^ "Comet.ml - Gestión de experimentos de aprendizaje automático" .
- ^ Inc, cometa ML. "cometa-ml: aprendizaje automático sobrealimentado" , a través de PyPI.
- ^ a b Van Rijn, Jan N .; Bischl, Bernd; Torgo, Luis; Gao, Bo; Umaashankar, Venkatesh; Fischer, Simon; Invierno, Patrick; Wiswedel, Bernd; Berthold, Michael R .; Vanschoren, Joaquín (2013). "OpenML: una plataforma científica colaborativa". Van Rijn, Jan N. y col. "OpenML: una plataforma científica colaborativa". Conferencia europea conjunta sobre aprendizaje automático y descubrimiento de conocimientos en bases de datos. Springer, Berlín, Heidelberg, 2013 . Apuntes de conferencias en Ciencias de la Computación. 7908 . págs. 645–649. doi : 10.1007 / 978-3-642-40994-3_46 . ISBN 978-3-642-38708-1.
- ^ a b "Vanschoren, Joaquin, Jan N. van Rijn y Bernd Bischl." Llevando la investigación de aprendizaje automático en línea con OpenML. "Actas de la 4ta Conferencia Internacional sobre Big Data, Streams y Minería de Fuentes Heterogéneas: Algoritmos, Sistemas, Modelos de Programación y Aplicaciones- Volumen 41. JMLR. Org, 2015 " (PDF) .
- ^ a b "van Rijn, JN Aprendizaje automático de colaboración masiva. Diss. 2016" . 2016-12-19.
- ^ a b "OpenML" . GitHub .
- ^ "Pesos y sesgos para el seguimiento de experimentos y la colaboración" .
- ^ "Monitorea tus modelos de Machine Learning con PyEnv" .
- ^ Greff, Klaus (3 de enero de 2020). "sagrado: facilita la investigación experimental automatizada y reproducible" , a través de PyPI.