Hiperparámetros en Aprendizaje automático /profundo

En la práctica del aprendizaje automático y profundo, los parámetros del modelo son las propiedades de los datos de entrenamiento que aprenderán por sí solos durante el entrenamiento mediante el clasificador u otro modelo de aprendizaje automático. Por ejemplo, pesos y sesgos, o puntos divididos en el Árbol de Decisiones.

Los hiperparámetros de modelo son, en cambio, propiedades que rigen todo el proceso de entrenamiento. Incluyen variables que determinan la estructura de la red (por ejemplo, el Número de Unidades ocultas) y las variables que determinan cómo se entrena la red (por ejemplo, la Tasa de aprendizaje). Los hiperparámetros de modelo se establecen antes del entrenamiento (antes de optimizar los pesos y el sesgo).

Por ejemplo, aquí hay algunas variables de configuración incorporadas en el modelo :

  • Tasa de aprendizaje
  • Número de épocas
  • Capas ocultas
  • Unidades ocultas
  • Funciones de activaciones

Los hiperparámetros son importantes ya que controlan directamente el comportamiento del algo de entrenamiento, lo que tiene un impacto importante en el rendimiento del modelo en formación.

La elección de hiperparámetros adecuados juega un papel clave en el éxito de las arquitecturas de redes neuronales, dado el impacto en el modelo aprendido. Por ejemplo, si la tasa de aprendizaje es demasiado baja, el modelo perderá los patrones importantes en los datos; por el contrario, si es alto, puede tener colisiones.

Elegir buenos hiperparámetros proporciona dos beneficios principales:

  • Búsqueda eficiente en el espacio de posibles hiperparámetros; y
  • Gestión más fácil de un gran conjunto de experimentos para el ajuste de hiperparámetros.

Los hiperparámetros se pueden dividir aproximadamente en 2 categorías:

1. Hiperparámetros del optimizador,
2. Hiperparámetros específicos del modelo

Están más relacionados con el proceso de optimización y capacitación.

1.1. Tasa de aprendizaje:

Si la tasa de aprendizaje del modelo es demasiado menor que los valores óptimos, tomará mucho más tiempo (cientos o miles) de épocas alcanzar un estado ideal. Por otro lado, si la tasa de aprendizaje es mucho mayor que el valor óptimo, entonces sobrepasaría el estado ideal y el algoritmo podría no converger. Una tasa de aprendizaje inicial razonable = 0,001.

Importante tener en cuenta que:
a) el modelo tendrá cientos y miles de parámetros, cada uno con su propia curva de error. Y la tasa de aprendizaje tiene que guiarlos a todos
b) las curvas de error no son formas en u limpias; en cambio, tienden a tener formas más complejas con mínimos locales.

1.2. Tamaño de Mini-Lote:

El tamaño del lote tiene un efecto en los requisitos de recursos del proceso de capacitación, la velocidad y el número de iteraciones de una manera no trivial.

Históricamente, ha habido un debate para hacer entrenamiento estocástico en el que se ajusta un solo ejemplo del conjunto de datos al modelo y, utilizando solo un ejemplo, realiza un pase hacia adelante, calcula el error / backpropagate & establece valores ajustados para todos los hiperparámetros. Y luego haga esto de nuevo para cada ejemplo en el conjunto de datos.

O, tal vez, mejor alimentar todos los datos al paso de entrenamiento y calcular el gradiente utilizando el error generado al mirar todos los ejemplos en el conjunto de datos. Esto se llama entrenamiento por lotes.

técnica Comúnmente utilizada hoy en día es establecer un mini-tamaño de lote. El entrenamiento estocástico es cuando el tamaño del minibatch =1, y el entrenamiento por lotes es cuando el tamaño del minibatch = Número de ejemplos en el conjunto de entrenamiento. Valores iniciales recomendados para la experimentación: 1, 2, 4, 8, 16, 32, 64, 128, 256.

Un tamaño de mini-lote más grande permite mejoras computacionales que utilizan la multiplicación de matrices en los cálculos de entrenamiento . Sin embargo, se produce a expensas de la necesidad de más memoria para el proceso de entrenamiento. Un tamaño de mini-lote más pequeño induce más ruido en los cálculos de errores, a menudo más útil para evitar que el proceso de entrenamiento se detenga en los mínimos locales. A valor razonable para el tamaño del mini lote= 32.

Por lo tanto, mientras que el impulso computacional nos impulsa a aumentar el tamaño del mini-lote, este beneficio algorítmico práctico incentiva a hacerlo realmente más pequeño.

1.3. Número de épocas:

Para elegir el número correcto de épocas para el paso de entrenamiento, la métrica a la que debemos prestar atención es el Error de validación.

El manual intuitiva manera es tener el modelo de tren para tantas número de iteraciones mientras error de validación continúa descendiendo.

Hay una técnica que se puede usar llamada Parada temprana para determinar cuándo detener el entrenamiento del modelo; se trata de detener el proceso de entrenamiento en caso de que el error de validación no haya mejorado en las últimas 10 o 20 épocas.

2. Hiperparámetros del modelo

Están más involucrados en la estructura del modelo:

2.1. Número de unidades ocultas:

El número de unidades ocultas es uno de los hiperparámetros más misteriosos. Recordemos que las redes neuronales son aproximadores de funciones universales , y para que aprendan a aproximar una función (o una tarea de predicción), necesitan tener suficiente ‘capacidad’ para aprender la función. El número de unidades ocultas es la medida principal de la capacidad de aprendizaje del modelo.

Para una función simple, puede necesitar menos unidades ocultas. Cuanto más compleja sea la función, más capacidad de aprendizaje necesitará el modelo.

Un número de unidades ligeramente mayor que el número óptimo no es un problema, pero un número mucho mayor conducirá a un sobreajuste (es decir, si proporciona un modelo con demasiada capacidad, podría tender a sobreajustarse, tratando de «memorizar» el conjunto de datos, lo que afecta la capacidad de generalizar)

2.2. Primera capa oculta:

Otra heurística que involucra la primera capa oculta es que establecer el número de unidades ocultas más grande que el número de entradas tiende a permitir mejores resultados en el número de tareas, de acuerdo con la observación empírica.

2.3. Número de capas:

A menudo es el caso de que la Red Neuronal de 3 capas superará a una de 2 capas. Pero ir aún más profundo rara vez ayuda mucho más. (la excepción son las Redes Neuronales Convolucionales, donde cuanto más profundas son, mejor se desempeñan).

Técnicas de optimización de hiperparámetros

El proceso de encontrar la mayoría de los hiperparámetros óptimos en el aprendizaje automático se denomina optimización de hiperparámetros.

Los algoritmos comunes incluyen:

  • Búsqueda en cuadrícula
  • Búsqueda aleatoria
  • Optimización bayesiana

Búsqueda en cuadrícula

La búsqueda en cuadrícula es una técnica tradicional para implementar hiperparámetros. Se trata de fuerza bruta en todas las combinaciones. La búsqueda en cuadrícula requiere crear dos conjuntos de hiperparámetros:

  1. Tasa de aprendizaje
  2. Número de capas

La búsqueda en cuadrícula entrena el algoritmo para todas las combinaciones mediante el uso de los dos conjuntos de hiperparámetros (tasa de aprendizaje y número de capas) y mide el rendimiento utilizando la técnica de validación cruzada. Esta técnica de validación garantiza que el modelo entrenado obtenga la mayor parte de los patrones del conjunto de datos (uno de los mejores métodos para realizar la validación mediante el uso de «Validación cruzada K-Fold», que ayuda a proporcionar amplios datos para entrenar el modelo y amplios datos para validaciones).

El método de búsqueda de cuadrícula es un algoritmo más simple de usar, pero sufre si los datos tienen un espacio dimensional alto llamado la maldición de la dimensionalidad.

Búsqueda aleatoria

Muestrea aleatoriamente el espacio de búsqueda y evalúa conjuntos de una distribución de probabilidad especificada. En lugar de intentar comprobar las 100.000 muestras, por ejemplo, podemos comprobar 1.000 parámetros aleatorios.

El inconveniente de usar el algoritmo de búsqueda aleatoria, sin embargo, es que no utiliza información de experimentos anteriores para seleccionar el siguiente conjunto. Además, es difícil predecir el siguiente de los experimentos.

Bayesiano Optimización

Hyperparameter configuración maximiza el desempeño del modelo en un conjunto de validación. Los algos de ML con frecuencia requieren un ajuste fino de los hiperparámetros del modelo. Desafortunadamente, esa sintonización a menudo se llama «función negra» porque no se puede escribir en una fórmula (se desconocen las derivadas de la función).

Una forma más atractiva de optimizar & Los hiperparámetros de ajuste fino implican habilitar un enfoque de ajuste de modelos automatizado, por ejemplo, mediante el uso de optimización bayesiana. El modelo utilizado para aproximar la función objetiva se denomina modelo sustituto. Un modelo sustituto popular para la optimización bayesiana es el proceso gaussiano (GP). La optimización bayesiana normalmente funciona asumiendo que la función desconocida se muestreó de un Proceso gaussiano (GP) y mantiene una distribución posterior para esta función a medida que se realizan las observaciones.

Hay dos opciones principales que se deben tomar al realizar una optimización bayesiana:

  1. Seleccionar funciones previas sobre las que se expresarán suposiciones sobre la función que se optimiza. Para esto, elegimos Proceso gaussiano previo;
  2. A continuación, debemos elegir una función de adquisición que se utiliza para construir una función de utilidad a partir del modelo posterior, lo que nos permite determinar el siguiente punto a evaluar.

Proceso gaussiano

Un proceso gaussiano define la distribución previa sobre funciones que se puede convertir en una posterior sobre funciones una vez que hayamos visto algunos datos. El proceso gaussiano utiliza la matriz de covarianza para garantizar que los valores estén muy juntos. La matriz de covarianza junto con una función µ media para generar el valor esperado ƒ(x) define un proceso gaussiano.

1. El proceso gaussiano se utilizará como un prior para la inferencia bayesiana;

2. Computar la parte posterior permite que se use para hacer predicciones para casos de prueba invisibles.

Acquisition Function

Introducing sampling data into the search space is done by acquisition functions. It helps to maximize the acquisition function to determine the next sampling point. Las funciones de adquisición populares son

  • Probabilidad máxima de Mejora (MPI)
  • Mejora Esperada (EI)
  • Límite de Confianza superior (UCB)

La Mejora Esperada (EI) es popular y se define como:

EI(x)=

donde ƒ(x ) es el conjunto óptimo actual de hiperparámetros. Maximizar los hiperparámetros mejorará sobre ƒ.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.