Hiperparámetro (aprendizaje automático)
No confundir con Hiperparámetro (Bayesiano)
En el aprendizaje automático, un hiperparámetro es un parámetro cuyo valor se utiliza para controlar el proceso de aprendizaje. En cambio, los valores de otros parámetros (normalmente los pesos de los nodos) se obtienen mediante el entrenamiento.
Los hiperparámetros pueden clasificarse como hiperparámetros del modelo, que no pueden deducirse mientras se ajusta la máquina al conjunto de entrenamiento porque se refieren a la tarea de selección del modelo, o hiperparámetros del algoritmo, que en principio no influyen en el rendimiento del modelo pero afectan a la velocidad y la calidad del proceso de aprendizaje. Un ejemplo de hiperparámetro de modelo es la topología y el tamaño de una red neuronal. Ejemplos de hiperparámetros del algoritmo son la tasa de aprendizaje y el tamaño del lote, así como el tamaño del minilote. El tamaño del lote puede referirse a la muestra completa de datos, mientras que el tamaño del minilote sería un conjunto de muestras más pequeño.
Los distintos algoritmos de entrenamiento de modelos requieren distintos hiperparámetros; algunos algoritmos sencillos (como la regresión de mínimos cuadrados ordinarios) no requieren ninguno. Dados estos hiperparámetros, el algoritmo de entrenamiento aprende los parámetros a partir de los datos. Por ejemplo, LASSO es un algoritmo que añade un hiperparámetro de regularización a la regresión de mínimos cuadrados ordinarios, que debe establecerse antes de estimar los parámetros mediante el algoritmo de entrenamiento.[1]
Consideraciones
editarEl tiempo necesario para entrenar y probar un modelo puede depender de la elección de sus hiperparámetros.[2] Un hiperparámetro suele ser de tipo continuo o entero, lo que da lugar a problemas de optimización de tipo mixto.[2] La existencia de algunos hiperparámetros está condicionada por el valor de otros, por ejemplo, el tamaño de cada capa oculta en una red neuronal puede estar condicionado por el número de capas.[2]
Parámetros de difícil aprendizaje
editarPor lo general, aunque no siempre, los hiperparámetros no pueden aprenderse con los conocidos métodos basados en el gradiente (como el descenso del gradiente o el LBFGS), que suelen emplearse para aprender parámetros. Estos hiperparámetros son los parámetros que describen la representación de un modelo que no pueden aprenderse con los métodos de optimización habituales pero que, sin embargo, afectan a la función de pérdida. Un ejemplo sería el hiperparámetro de tolerancia para errores en máquinas de vectores soporte.
Parámetros imposibles de entrenar
editarA veces, los hiperparámetros no pueden aprenderse a partir de los datos de entrenamiento porque aumentan agresivamente la capacidad de un modelo y pueden empujar la función de pérdida a un mínimo no deseado (sobreajustándose a los datos y captando ruido en ellos), en lugar de asignar correctamente la riqueza de la estructura de los datos. Por ejemplo, si tratamos el grado de una ecuación polinómica que se ajusta a un modelo de regresión como un parámetro entrenable, el grado aumentaría hasta que el modelo se ajustara perfectamente a los datos, lo que produciría un error de entrenamiento bajo, pero un rendimiento de generalización pobre.
Ajuste
editarLa mayor parte de la variación de rendimiento puede atribuirse a unos pocos hiperparámetros.[3][2][4] La sintonizabilidad de un algoritmo, hiperparámetro o hiperparámetros interactuantes es una medida de cuánto rendimiento puede obtenerse sintonizándolo.[5] Para una LSTM, mientras que la tasa de aprendizaje seguida del tamaño de la red son sus hiperparámetros más cruciales,[6] la dosificación y el impulso no tienen un efecto significativo en su rendimiento.[7]
Aunque algunas investigaciones han defendido el uso de tamaños de minilotes de miles, otros trabajos han encontrado el mejor rendimiento con tamaños de minilotes de entre 2 y 32.[8]
Robustez
editarUna estocasticidad inherente al aprendizaje implica directamente que el rendimiento empírico de los hiperparámetros no es necesariamente su verdadero rendimiento.[2] Los métodos que no son robustos a simples cambios en los 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 robustecimiento significativos.[9]
Los algoritmos de aprendizaje por refuerzo, en particular, requieren medir su rendimiento con un gran número de semillas aleatorias, y también medir su sensibilidad a la elección de hiperparámetros.[9] Su evaluación con un pequeño número de semillas aleatorias no captura el rendimiento adecuadamente debido a la alta varianza.[9] Algunos métodos de aprendizaje por refuerzo, por ejemplo Gradiente de política determinista profundo DDPG (Deep Deterministic Policy Gradient), son más sensibles a la elección de hiperparámetros que otros.[9]
Optimización
editarLa 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.[2] La función objetivo toma una tupla de hiperparámetros y devuelve la pérdida asociada.[2]
Reproducibilidad
editarAparte de ajustar los hiperparámetros, el aprendizaje automático implica almacenar y organizar los parámetros y resultados, y asegurarse de que sean reproducibles.[10] A falta de una infraestructura sólida para este fin, el código de investigación suele evolucionar rápidamente y compromete aspectos esenciales como la contabilidad y la reproducibilidad.[11] Las plataformas de colaboración en línea para el aprendizaje automático van más allá al permitir a los científicos compartir, organizar y discutir automáticamente experimentos, datos y algoritmos.[12] La reproducibilidad puede ser especialmente difícil para los modelos de aprendizaje profundo.[13]
Véase también
editarReferencias
editar- ↑ Yang, Li; Shami, Abdallah (20 de noviembre de 2020). «On hyperparameter optimization of machine learning algorithms: Theory and practice». Neurocomputing 415: 295-316. ISSN 0925-2312. doi:10.1016/j.neucom.2020.07.061. Consultado el 8 de septiembre de 2023.
- ↑ a b c d e f g Claesen, Marc, and Bart De Moor (2015). Hyperparameter Search in Machine Learning.
- ↑ Hutter, Frank; Hoos, Holger; Leyton-Brown, Kevin (27 de enero de 2014). «An Efficient Approach for Assessing Hyperparameter Importance». Proceedings of the 31st International Conference on Machine Learning (en inglés) (PMLR): 754-762. Consultado el 8 de septiembre de 2023.
- ↑ van Rijn, Jan N., and Frank Hutter. Hyperparameter Importance Across Datasets.
- ↑ Probst, Philipp, Bernd Bischl, and Anne-Laure Boulesteix (2018). Tunability: Importance of Hyperparameters of Machine Learning Algorithms.
- ↑ Greff, K.; Srivastava, R. K.; Koutník, J.; Steunebrink, B. R.; Schmidhuber, J. (2017). «LSTM: A Search Space Odyssey». IEEE Transactions on Neural Networks and Learning Systems: 2222-2232. PMID 27411231. doi:10.1109/TNNLS.2016.2582924.
- ↑ Breuel, Thomas M. (2015). Benchmarking of LSTM networks.
- ↑ Revisiting Small Batch Training for Deep Neural Networks. 2018.
- ↑ a b c d Mania, Horia, Aurelia Guy, and Benjamin Recht (2018). Simple random search provides a competitive approach to reinforcement learning.
- ↑ Greff, Klaus, and Jürgen Schmidhuber. (2015). Introducing Sacred: A Tool to Facilitate Reproducible Research.
- ↑ Greff, Klaus, et al. (2017). The Sacred Infrastructure for Computational Research. Archivado desde el original el 29 de septiembre de 2020. Consultado el 8 de septiembre de 2023.
- ↑ Vanschoren, Joaquin, et al. OpenML: networked science in machine learning.
- ↑ jennifer_villa (25 de mayo de 2018). «Reproducibility in ML: why it matters and how to achieve it». Determined AI (en inglés). Consultado el 8 de septiembre de 2023.