Estoy buscando un documento que pueda ayudar a dar una guía sobre cómo elegir los hiperparámetros de una arquitectura profunda, como codificadores automáticos apilados o redes de confianza profunda. Hay muchos hiperparámetros y estoy muy confundido sobre cómo elegirlos. Además, el uso de la validación cruzada no es una opción, ya que el entrenamiento realmente lleva mucho tiempo.
38
Respuestas:
Básicamente hay cuatro métodos:
fuente
Existe una amplia variedad de métodos. Se pueden dividir en gran medida en métodos de búsqueda aleatorios / no dirigidos (como la búsqueda de cuadrícula o la búsqueda aleatoria) y métodos directos. Sin embargo, tenga en cuenta que todos requieren probar una cantidad considerable de configuraciones de hiperparámetros a menos que tenga suerte (cientos al menos, depende de la cantidad de parámetros).
En la clase de métodos directos, se pueden identificar varios enfoques distintos:
Es posible que desee buscar en Optunity , un paquete de Python que ofrece una variedad de solucionadores para el ajuste de hiperparámetros (todo lo que mencioné, excepto EGO y Kriging, por ahora). Optunity estará disponible para MATLAB y R pronto. Descargo de responsabilidad: soy el desarrollador principal de este paquete.
Según mi experiencia personal, los métodos evolutivos son muy poderosos para este tipo de problemas.
fuente
¡No busque más! Yoshua Bengio publicó uno de mis trabajos aplicados favoritos, uno que recomiendo a todos los nuevos ingenieros de aprendizaje automático cuando comiencen a entrenar redes neuronales: recomendaciones prácticas para el entrenamiento basado en gradientes de arquitecturas profundas. Para obtener su perspectiva sobre el giro de hiperparámetros: incluida la tasa de aprendizaje, el cronograma de la tasa de aprendizaje, la detención temprana, el tamaño del minibatch, el número de capas ocultas, etc., consulte la Sección 3.
fuente