son redes que profundas neuronales neuronal modelo learning las funcionan ejemplos convolucionales convolucional como aprender machine-learning neural-network genetic-algorithm deep-learning

machine learning - redes - ¿Qué algoritmos se han propuesto para aprender la arquitectura de una red neuronal profunda?



redes neuronales convolucionales como funcionan (3)

Podría decirse que el algoritmo más utilizado para aprender la arquitectura de una red neuronal es Cascade Correlation, desarrollado por Scott Fahlman y Christian Lebiere.

Aquí puede encontrar la descripción, también vi una implementación de C en algún lugar anterior, pero no recuerdo dónde.

Las Arquitecturas profundas de aprendizaje de Yoshua Benhgio para AI mencionan que

deberíamos [...] esforzarnos por desarrollar algoritmos de aprendizaje que usen los datos para determinar la profundidad de la arquitectura final.

¿Alguien sabe de algún algoritmo propuesto hasta ahora para lograr esto?

Esta pregunta no se trata de algoritmos exitosos, de hecho, parece que no hay ninguno en este momento. El objetivo de esta pregunta es agregar todos y cada uno de los algoritmos que se han propuesto, de modo que cualquier persona interesada en el tema no tenga que pasar meses buscándolos.

Hasta ahora me he encontrado:

  • El algoritmo de mosaico
    • ventaja: agrega capas y unidades
    • Advertencia: solo para aprender funciones booleanas, que no son demasiado relevantes para problemas aplicados.

Utilicé con éxito algoritmos genéticos para buscar la configuración óptima para redes neuronales (unidades y niveles) usando mi propio programa (llamado TSAGANN).

Aquí está el papel (lo siento pero está en español).

Mi trabajo se centró en:

  • estudio de la estructura (número de unidades y niveles ocultos) de ANN de tipo feedforward ANN entrenado con bacpropagation;

  • estudio de recocido simulado (SA) (más bien ANN).

Resultados fue que SA se desempeña bien como ANN para los problemas en estudio y es menos intensivo para los cálculos.

El trabajo adicional (nunca hecho) fue la optimización de la estructura y los pesos de ANN directamente con GA. En este caso no es necesaria la retropropagación porque los pesos son optimizados por GA y no por ANN. El conjunto de seguimiento se usa para calcular solo el error para cualquier configuración en particular. GA minimiza una variante del error cuadrático. El estudio preliminar en este sentido fue muy prometedor (el objetivo es evitar el algoritmo de entrenamiento de ANN, muy, muy lento).

El papel informa los resultados con PROBEN1, un punto de referencia que cubre ambos problemas de clasificación y aproximación.

La "optimización global" (incluidos los factores de ponderación) parece ser muy prometedora para el análisis de series temporales, con el fin de realizar pronósticos sin el uso de ANN recurrentes.


Existen otros algoritmos genéticos populares, como NEAT y EANT, que son redes neuronales "en crecimiento". Busque documentos recientes sobre ellos para obtener una buena visión general de otros enfoques (trabajo relacionado).

Otro enfoque que no es crecer es comenzar con una gran red totalmente conectada y conexiones de poda hasta que la condición física sea un éxito. El libro de Mitchell sobre el aprendizaje automático ofrece una buena visión general.

Y, por supuesto, hay varios algoritmos que emplean tanto crecimiento como poda. A veces implican "arreglar" alguna parte establecida de las redes para que los pesos fijos no necesiten ser considerados para la optimización.