Entre muchos usos para la optimización bayesiana, una aplicación importante de la misma a las redes neuronales está en ajuste de hiperparámetros .
Los hiperparámetros son muy importantes para obtener un buen rendimiento con modelos como las redes neuronales; El conjunto correcto de hiperparámetros puede ser la diferencia entre un rendimiento inestable y degenerado y un artículo publicado. Sin embargo, el proceso para encontrar los hiperparámetros correctos sigue siendo algo así como un arte oscuro, y actualmente implica una búsqueda aleatoria o una búsqueda de cuadrícula en productos cartesianos de conjuntos de hiperparámetros.
En cambio, podemos tratar de abordar este problema desde una perspectiva más matemáticamente fundamentada porque, idealmente, sería bueno tener un espacio suave de hiperparámetros y explorar áreas de alta varianza o explotar áreas de medios bajos .
- ¿Cómo pueden beneficiarse los MOOC de sus datos?
- ¿Cuáles son los ejemplos de redes neuronales profundas extremas (más de 150 capas)?
- ¿Debo usar Python o Scala para construir un sistema de aprendizaje automático para mi aplicación?
- Support Vector Machines: ¿Cómo elijo un parámetro de escala de kernel?
- ¿Cómo debo explicar el modelo matemático de la red neuronal con ejemplos adecuados?
Esto es exactamente lo que hace la optimización bayesiana ; construimos un modelo probabilístico para la función objetivo (por ejemplo, la función objetivo para una red neuronal) y calculamos la distribución predictiva posterior de los valores de la función objetivo condicionados por hiperparámetros. Usando procesos gaussianos (GP), podemos integrar todas las funciones posibles y optimizar una función proxy barata. Hacerlo nos permite lograr un cuidadoso equilibrio entre explorar y explotar diferentes conjuntos de hiperparámetros.
Entonces, ¿por qué no todos hacen esto? Resulta que el uso de GP para la optimización bayesiana tiene su propio conjunto de problemas, incluidas las selecciones de función de covarianza incorrecta, encontrar los hiperparámetros correctos para los GP (irónicamente, tienen sus propios hiperparámetros que necesitan ajuste), no hay una implementación de software estándar, eficiente y rápida que hace esto automáticamente, y escalas limitadas para problemas grandes (como es común en soluciones Bayesianas). Es un enfoque de principios hermosos para encontrar conjuntos óptimos de hiperparámetros, pero en la práctica, con suficientes GPU, la búsqueda aleatoria o la búsqueda de cuadrícula a menudo funcionarán bastante bien en la exploración de conjuntos de hiperparámetros.
Más detalles se pueden encontrar aquí:
- [1206.2944] Optimización práctica bayesiana de algoritmos de aprendizaje automático
- [1605.07079] Optimización bayesiana rápida de hiperparámetros de aprendizaje automático en grandes conjuntos de datos
- Un tutorial sobre la optimización bayesiana para el aprendizaje automático