Hyperband viene a la mente. Este es un algoritmo para seleccionar hiperparámetros de redes neuronales que, según los autores, supera los enfoques de optimización bayesiana, como SMAC y TPE. La hiperbanda se basa en el sucesivo algoritmo de reducción a la mitad.
La idea detrás de la reducción a la mitad sucesiva es que seleccione una serie de conjuntos aleatorios de hiperparámetros y entrene las redes neuronales con estas configuraciones para una cantidad determinada de presupuesto computacional (esto podría ser walltime o varios lotes / épocas). Luego, toma una fracción de estas redes neuronales que tienen la menor pérdida de validación para continuar entrenando y tirar el resto. Si tira la mitad de sus redes, ahora puede entrenar a la otra mitad durante el doble de tiempo con la misma cantidad de cómputo (por ejemplo, 50 redes entrenadas para 2 lotes cada una es aproximadamente la misma computación que 100 redes entrenadas en 1 lote cada una). Continúa haciendo este procedimiento, de modo que la cantidad de redes que entrenó disminuyó exponencialmente en cada paso y el tiempo para entrenar cada red aumenta exponencialmente. Aquí hay una imagen de las curvas de pérdida de validación después de este procedimiento.
- ¿Cómo almacena un sistema de aprendizaje automático su memoria aprendida?
- ¿Qué es la entropía cruzada en palabras fáciles?
- ¿Cuál es la diferencia entre la estimación de máxima verosimilitud (ML) y máxima a Posteri (MAP)?
- ¿Cuál es la diferencia entre la recuperación de información normal y los sistemas de recomendación?
- ¿Cuáles son algunos problemas o preguntas de la vida real que el aprendizaje automático ha resuelto y que no se pueden resolver adecuadamente por otros medios?
La heurística en la que se basa este algoritmo es que las redes neuronales que funcionan bien al principio de su entrenamiento tienden a mejorar también más adelante en el entrenamiento.
Los parámetros involucrados en la reducción a la mitad sucesiva es el número de redes iniciales ny la cantidad de unidad de cálculo que se define. Tener una pequeña unidad de cálculo significa que el algoritmo se ejecutará más rápido, pero la pérdida de validación de las redes neuronales puede no diferenciarse lo suficiente y las “mejores” redes se eligen mal. Tener una gran unidad de cómputo significa más cómputo en general. Con un presupuesto fijo, tenemos una compensación entre nuestro valor inicial de n y qué tan grande es una unidad de cálculo. La hiperbanda prueba varios valores de n llamadas bandas (y la unidad de cálculo correspondiente de modo que la banda tenga un límite fijo de cálculo) para encontrar un buen conjunto de hiperparámetros.
He dado una visión general aproximada de la visión del algoritmo, pero aconsejo leer el documento para obtener más detalles y psuedocode.