Hiperparámetro (aprendizaje automático) - Hyperparameter (machine learning)

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 obtienen 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 .

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. Un hiperparámetro suele ser de tipo continuo o entero, lo que genera problemas de optimización de tipo mixto. 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.

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. La capacidad de ajuste de un algoritmo, hiperparámetro o hiperparámetros interactivos es una medida de cuánto rendimiento se puede obtener al ajustarlo. Para un LSTM , mientras que la tasa de aprendizaje seguida por el tamaño de la red son sus hiperparámetros más cruciales, el procesamiento por lotes y el impulso no tienen un efecto significativo en su rendimiento.

Aunque algunas investigaciones han abogado por el uso de tamaños de mini lotes en los miles, otros trabajos han encontrado el mejor rendimiento con tamaños de mini lotes entre 2 y 32.

Robustez

Una estocasticidad inherente al aprendizaje implica directamente que el desempeño del hiperparámetro empírico no es necesariamente su desempeño real. 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.

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. Su evaluación con una pequeña cantidad de semillas aleatorias no captura el rendimiento de manera adecuada debido a la alta variación. 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.

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. La función objetivo toma una tupla de hiperparámetros y devuelve la pérdida asociada.

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. 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 . 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. La reproducibilidad puede resultar particularmente difícil para los modelos de aprendizaje profundo .

Existen varios servicios relevantes y software de código abierto:

Servicios

Nombre Interfaces
Comet.ml Pitón
OpenML REST, Python, Java, R
Pesos y sesgos Pitón

Software

Nombre Interfaces Tienda
Determinado DESCANSO, Python PostgreSQL
Docker de OpenML REST, Python, Java, R MySQL
sagrado Pitón archivo, MongoDB , TinyDB, SQL

Ver también

Referencias