Acelere el ajuste de hiperparámetros en el aprendizaje profundo con el sintonizador de hiperbanda de Keras

Estás leyendo la publicación: Acelere el ajuste de hiperparámetros en el aprendizaje profundo con el sintonizador de hiperbanda de Keras

El rendimiento de los algoritmos de aprendizaje automático depende en gran medida de la selección de una buena colección de hiperparámetros. Keras Tuner es un paquete que lo ayuda a seleccionar el mejor conjunto de hiperparámetros para su aplicación. El proceso de encontrar la colección óptima de hiperparámetros para su aplicación de aprendizaje automático o aprendizaje profundo se conoce como ajuste de hiperparámetros. Hyperband es un marco para ajustar hiperparámetros que ayuda a acelerar el proceso de ajuste de hiperparámetros. Este artículo se centrará en comprender el marco de la hiperbanda. Los siguientes son los temas que se tratarán en este artículo.

Tabla de contenido

  1. Acerca de los enfoques HPO
  2. ¿Qué es una Hiperbanda?
  3. Optimización Bayesiana vs Hiperbanda
  4. Trabajo de hiperbanda

Los hiperparámetros no son parámetros del modelo y no se pueden aprender directamente de los datos. Cuando optimizamos una función de pérdida con algo como el descenso de gradiente, aprendemos los parámetros del modelo durante el entrenamiento. Hablemos de Hyperband y tratemos de entender la necesidad de su creación.

Acerca de los enfoques HPO

El enfoque de ajustar los hiperparámetros de los algoritmos de aprendizaje automático se conoce como optimización de hiperparámetros (HPO). Los excelentes algoritmos de aprendizaje automático presentan varios hiperparámetros diversos y complicados que producen un espacio de búsqueda masivo. El aprendizaje profundo se utiliza como base de muchos procesos de puesta en marcha, y el espacio de búsqueda de métodos de aprendizaje profundo es considerablemente más amplio que el de los algoritmos de aprendizaje automático típicos. Sintonizar un espacio de búsqueda grande es una tarea difícil. Se deben utilizar estrategias basadas en datos para abordar las dificultades de HPO. Los enfoques manuales no funcionan.

Revista de análisis de la India

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.

¿Qué es una Hiperbanda?

Al definir la optimización de hiperparámetros como un problema de asignación de recursos adaptativos de exploración pura que aborda cómo distribuir recursos entre configuraciones de hiperparámetros elegidas al azar, se ideó una nueva técnica de evaluación de configuración. Esto se conoce como configuración de Hiperbanda. Asigna recursos utilizando una técnica lógica de parada anticipada, lo que le permite probar más configuraciones de órdenes de magnitud que los procesos de caja negra, como los métodos de optimización bayesianos. A diferencia de las metodologías de evaluación de configuración anteriores, Hyperband es una herramienta de propósito general que hace pocas suposiciones.

🔥 Recomendado:  Libere el poder de la clasificación de búsqueda en sitios web de comercio electrónico utilizando la ciencia de datos

La capacidad de Hyperband para adaptarse a tasas de convergencia desconocidas y el comportamiento de las pérdidas de validación en función de los hiperparámetros fue probada por los desarrolladores en el estudio teórico. Además, para una variedad de problemas de aprendizaje basado en kernel y de aprendizaje profundo, Hyperband es de 5 a 30 veces más rápido que las técnicas típicas de optimización bayesiana. En el entorno no estocástico, Hyperband es una solución con propiedades similares al problema del bandido de brazos infinitos de exploración pura.

La necesidad de Hiperbanda

Los hiperparámetros se ingresan en un algoritmo de aprendizaje automático que rige la generalización del rendimiento del algoritmo para datos no vistos. Debido al creciente número de parámetros de ajuste asociados con estos modelos, es difícil establecerlos mediante técnicas de optimización estándar.

En un esfuerzo por desarrollar métodos de búsqueda más eficientes, los enfoques de optimización bayesiana que se centran en optimizar la selección de configuración de hiperparámetros han dominado últimamente el tema de la optimización de hiperparámetros. Al elegir configuraciones de forma adaptativa, estos enfoques buscan descubrir buenas configuraciones más rápido que las líneas de base típicas, como la búsqueda aleatoria. Estos enfoques, sin embargo, abordan el problema fundamentalmente difícil de ajustar y optimizar una función no convexa de alta dimensión con una suavidad incierta y quizás evaluaciones ruidosas.

El objetivo de un enfoque ortogonal para la optimización de hiperparámetros es acelerar la evaluación de la configuración. Estos métodos se adaptan desde el punto de vista computacional, lo que proporciona mayores recursos para combinaciones de hiperparámetros prometedoras y elimina rápidamente las malas. El tamaño del conjunto de entrenamiento, la cantidad de características o la cantidad de iteraciones para algoritmos iterativos son todos ejemplos de recursos.

Estas técnicas buscan analizar órdenes de magnitud más configuraciones de hiperparámetros que los enfoques que entrenan de manera uniforme todas las configuraciones hasta su finalización, por lo tanto, descubren rápidamente los hiperparámetros apropiados. La hiperbanda está diseñada para acelerar la búsqueda aleatoria proporcionando un punto de partida simple y teóricamente sólido.

🔥 Recomendado:  World of Women se asocia con Ledger para regalar 1200 billeteras de hardware de criptomonedas

Optimización Bayesiana vs Hiperbanda

optimización bayesiana Hiperbanda
Un modelo basado en la probabilidad Un modelo basado en bandidos
Aprende una función objetiva costosa por observación pasada. En cada situación dada, el objetivo es reducir el simple arrepentimiento, definido como la distancia de la mejor opción, tan rápido como sea posible.
La optimización bayesiana solo es aplicable a hiperparámetros continuos, no categóricos. Hyperband puede funcionar tanto para hiperparámetros continuos como categóricos

Trabajo de hiperbanda

Hyperband llama a la técnica SuccessiveHalving introducida para la optimización de hiperparámetros una subrutina y la mejora. El método original de Reducción a la mitad sucesiva recibe su nombre de la teoría que lo respalda: distribuir uniformemente un presupuesto a una colección de configuraciones de hiperparámetros, evaluar el rendimiento de todas las configuraciones, descartar la peor mitad y repetir hasta que solo quede una configuración. Las combinaciones más prometedoras reciben exponencialmente más recursos del algoritmo.

El algoritmo Hyperband se compone de dos partes.

  • Para niveles de recursos y configuración fija, el ciclo interno se denomina Reducción a la mitad sucesiva.
  • El ciclo externo itera sobre varias configuraciones y parámetros de recursos.

Cada bucle que ejecuta el Reducción a la mitad sucesiva dentro de Hiperbanda se denomina “soporte”. Cada tramo está destinado a consumir una parte de todo el presupuesto de recursos y corresponde a una compensación distinta entre n y B/n. Como resultado, una sola ejecución de Hyperband tiene un presupuesto limitado. Se requieren dos entradas para la hiperbanda.

  • La mayor cantidad de recursos que se pueden asignar a una sola configuración
  • Una entrada que determina cuántas configuraciones se rechazan en cada ronda de Reducción a la mitad sucesiva

Las dos entradas determinan cuántos corchetes distintos se examinan; en particular, varios ajustes de configuración. Hyperband comienza con el soporte más agresivo, que configura la configuración para maximizar la exploración y requiere que al menos una configuración tenga asignados recursos R. Cada paréntesis consecutivo reduce el número de configuraciones en un factor hasta el último paréntesis, que asigna recursos a todas las configuraciones. Como resultado, Hyperband realiza una búsqueda geométrica en el presupuesto promedio por configuración, eliminando el requisito de elegir la cantidad de configuraciones para un presupuesto establecido a un costo determinado.

Parámetros

  • hipermodelo: clase de sintonizador de Keras que le permite crear y desarrollar modelos utilizando un espacio de búsqueda.
  • objetivo: Es la función de pérdida para el modelo descrito en el hipermodelo, como ‘mse’ o ‘val_loss’. Tiene el tipo de datos cadena. Si el parámetro es una cadena, se deducirá la dirección de optimización (mínima o máxima). Si tenemos una lista de objetivos, minimizaremos la suma de todos los objetivos a minimizar mientras maximizamos el total de todos los objetivos a maximizar.
  • max_epochs: El número de épocas requeridas para entrenar un solo modelo. Se recomienda establecer esto en un valor un poco mayor que las épocas estimadas para la convergencia para su modelo más grande y usar la detención temprana durante el entrenamiento. El valor predeterminado es 100.
  • factor: Entero, el factor de reducción para el número de épocas y el número de modelos para cada grupo. El valor predeterminado es 3.
  • hiperbanda_iteraciones: El número de veces que se itera el algoritmo Hiperbanda. En todas las pruebas, una iteración se ejecutará sobre épocas máximas * (math.log(épocas máximas, factor) ** 2) épocas acumulativas. Establézcalo en la cifra más alta que se ajuste a su presupuesto de recursos. El valor predeterminado es 1.
  • semilla: Un entero opcional que sirve como semilla aleatoria.
  • hiperparámetros: instancia de HyperParameters que es opcional. Se puede usar para anular (o registrar previamente) los hiperparámetros del espacio de búsqueda.
  • sintonizar nuevas entradas: Booleano que indica si las entradas de hiperparámetros requeridas por el hipermodelo pero no definidas en los hiperparámetros deben incluirse en el espacio de búsqueda. Si este no es el caso, se utilizarán los valores predeterminados para estos parámetros. Verdadero es el valor predeterminado.
  • permitir nuevas entradas: El hipermodelo puede solicitar entradas de hiperparámetros que no se mencionan en los hiperparámetros. Verdadero es el valor predeterminado.
🔥 Recomendado:  Cómo configurar el pago con subtotal cero en Magento 2

Conclusión

Dado que los brazos son autónomos y se muestrean al azar, la hiperbanda tiene el potencial de paralelizarse. El enfoque de paralelización básico más simple es distribuir corchetes individuales de Reducción a la mitad sucesiva a computadoras separadas. Con este artículo, hemos entendido el algoritmo de ajuste de hiperparámetros basado en bandidos y su variación de la optimización bayesiana.

Referencias