Puedo usar una red neuronal y ejecutarla sobre un problema. ¿Cómo lo optimizo y mejoro los resultados?

La red neuronal profunda es un marco general, y qué combinación de parámetros funcionará para qué problema es una tarea específica del dominio. La mayor parte del tiempo se gasta en ajustar este grupo de parámetros en sus datos. Esto no solo es un ejercicio desafiante sino que requiere mucho tiempo. El método predeterminado es la búsqueda de cuadrícula, es decir, realiza un bucle sobre todas las variaciones posibles de todos los parámetros posibles, por ejemplo, de 1 a N capas, diferentes funciones de activación, diferente número de épocas, etc. y esto puede conducir fácilmente a millones de parámetros para ajustar. Esto puede hacer que el proceso sea súper lento, pero la esperanza es que pueda encontrar una configuración que funcione bien para generalizar los resultados en el conjunto de prueba. Otro enfoque es la búsqueda aleatoria de parámetros (Página en jmlr.org), en la que, en lugar de recorrer un gran espacio de parámetros, los elige aleatoriamente y se ha demostrado que funciona mejor o igual que la búsqueda de cuadrícula y ahorra mucho tiempo. Otro enfoque reciente para la optimización de parámetros es el uso de técnicas bayesianas (página en papers.nips.cc), de hecho, crearon una compañía con este método llamada Whetlab (Whetlab se ha unido a Twitter). Oh, me acabo de dar cuenta de que son adquiridos por Twitter (Twitter adquiere Machine Learning Startup Whetlab). Conocí a uno de los cofundadores (Jasper Snoek) una vez cuando visitó U. Waterloo y compartió el viaje en autobús local, pero esa vez era estudiante de doctorado 🙂 De todos modos, el punto es que … la optimización de parámetros es importante y la gente está creando empresas alrededor y hacerse rico 🙂