Redes neuronales modernas que crean su propia topología.

21

Una limitación de los algoritmos de red neuronal estándar (como backprop) es que debe tomar una decisión de diseño de cuántas capas ocultas y neuronas por capa desea. Por lo general, la tasa de aprendizaje y la generalización son muy sensibles a estas elecciones. Esta ha sido la razón por la cual los algoritmos de redes neuronales como la correlación en cascada han generado interés. Comienza con una topología mínima (solo unidades de entrada y salida) y recluta nuevas unidades ocultas a medida que avanza el aprendizaje.

Fahlman introdujo el algoritmo CC-NN en 1990 y la versión recurrente en 1991. ¿Cuáles son algunos algoritmos de redes neuronales más recientes (posteriores a 1992) que comienzan con una topología mínima?


Preguntas relacionadas

CogSci.SE: redes neuronales con explicaciones biológicamente plausibles de neurogénesis

Artem Kaznatcheev
fuente
Es posible experimentar con redes neuronales basadas en proyección aleatoria. Código de entrada del blog (github)
Sean O'Connor

Respuestas:

10

La pregunta implícita aquí es cómo puede determinar la topología / estructura de una red neuronal o un modelo de aprendizaje automático para que el modelo sea "del tamaño correcto" y no se ajuste demasiado o no se ajuste demasiado.

Desde la correlación en cascada en 1990, ha habido una gran cantidad de métodos para hacerlo ahora, muchos de ellos con propiedades estadísticas o computacionales mucho mejores:

  • Impulso: capacite a un alumno débil a la vez, y cada alumno débil recibirá un conjunto de capacitación ponderado para que aprenda cosas que los alumnos anteriores no han aprendido.
  • regularización que induce la escasez, como el lazo o la determinación automática de relevancia: comience con un modelo / red grande y use un regularizador que aliente a las unidades innecesarias a "apagarse", dejando activas aquellas que sean útiles.
  • No paramétricos bayesianos: olvide intentar encontrar el tamaño de modelo "correcto". Solo use un modelo grande y tenga cuidado con la regularización / ser bayesiano, para que no se sobreajuste. Por ejemplo, una red neuronal con un número infinito de unidades y antecedentes gaussianos puede derivarse como un proceso gaussiano, que resulta mucho más sencillo de entrenar.
  • Aprendizaje profundo: como se señaló en otra respuesta, capacite una red profunda capa por capa. En realidad, esto no resuelve el problema de determinar el número de unidades por capa; a menudo, esto todavía se establece a mano o con validación cruzada.

fuente
4

Según tengo entendido, la parte superior del arte de hoy es "Aprendizaje de funciones sin supervisión y aprendizaje profundo". en pocas palabras: la red se está entrenando de manera no supervisada, cada capa a la vez:

Dov
fuente
¿comienza con un número mínimo de neuronas (solo entrada y salida)?
Artem Kaznatcheev
El aprendizaje profundo contiene una amplia variedad de métodos para redes neuronales con múltiples capas ocultas. No estoy familiarizado con tales métodos que determinan la cantidad de neuronas, pero tal vez Google Scholar sabe más ...
Ran
Afaik el número se fija de antemano en todos los métodos actuales competitivos. Esto es un problema, ya que significa que hay muchos hiperparámetros. Para lidiar con eso, James Bergstra propuso recientemente el uso de procesos gaussianos para encontrar la mejor configuración de hiperparámetros9http: //people.fas.harvard.edu/~bergstra/files/pub/11_nips_hyperopt.pdf). Pero esta es una especie de "bucle externo" que intenta muchas configuraciones diferentes de una manera inteligente.
Andreas Mueller
4

Ya se ha mencionado NEAT (Evolución neuronal con topologías aumentadas). Hay avances en esto incluyendo especiación e HyperNEAT. HyperNEAT utiliza una red 'meta' para optimizar la ponderación de un fenotipo completamente conectado. Esto le da a la red una 'conciencia espacial' que es invaluable en el reconocimiento de imágenes y los problemas de tipo juego de mesa. Tampoco estás limitado a 2D. Lo estoy usando en 1D para el análisis de señal y es posible en 2D hacia arriba, pero se vuelve pesado en el requisito de procesamiento. Busque los documentos de Ken Stanley, y hay un grupo en Yahoo. Si tiene un problema que se puede solucionar con una red, entonces NEAT y / o HyperNEAT pueden ser aplicables.


fuente
3

Hay un artículo algo reciente sobre este tema: RP Adams, H. Wallach y Zoubin Ghahramani. Aprender la estructura de modelos gráficos muy dispersos. Esto está un poco fuera de la comunidad habitual de redes neuronales y más en el lado del aprendizaje automático. El documento utiliza inferencia bayesiana no paramétrica en la estructura de la red.

Andreas Mueller
fuente