¿Cómo puedo comparar diferentes arquitecturas de redes neuronales sin entrenarlas durante semanas? ¿Hay alguna forma práctica de verificar si las redes merecen la capacitación completa o no?

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.

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.

More Interesting

¿Cuáles son algunos de los mejores trabajos de investigación o libros para el aprendizaje automático?

¿Cuál es el mejor método para la reducción de dimensionalidad y la selección / extracción de características en datos de espectrometría de masas?

¿Cuáles son las aplicaciones HOT de Machine Learning para las ciencias biológicas?

Neil Lawrence: ¿Qué opinas sobre la relación entre las estadísticas y el aprendizaje automático?

¿Hay algún otro clasificador de aprendizaje profundo como softmax?

¿Cuáles son los problemas médicos que el aprendizaje automático puede resolver?

¿Cuáles son los pros y los contras de las diferentes técnicas de factorización matricial: rango bajo, SVD y NMF? ¿Cuáles son algunos ejemplos prácticos de cada uno?

¿Por qué el algoritmo AdaBoost es sensible a datos ruidosos y valores atípicos? ¿Y cómo?

¿Cuáles son algunas técnicas comunes para el aumento de datos de video en el aprendizaje profundo?

¿Cuáles son las mejores medidas al validar de forma cruzada un modelo para determinar qué tan bueno es el modelo y cómo funcionará en situaciones reales?

¿Qué es un conjunto de datos desequilibrado?

¿Son las redes de tipo neuronal el único juego real en la ciudad o podemos desarrollar máquinas sofisticadas de IA que no piensen como los humanos?

En PNL, ¿cómo se crean los corpus anotados?

¿Dónde empiezo a aprender reconocimiento de imágenes con algoritmos de aprendizaje automático?

¿Pueden las redes neuronales convolucionales entrenarse para jugar al ajedrez realmente bien?