Cascade Correlation

Correlación en Cascada es una arquitectura y algoritmo de aprendizaje supervisado como solución a los problemas que presentaba el algoritmo “back-propagation“, fue publicado en 1.990 por Scott E. Fahlman y Christian Lebiere como “The Cascade Correlation Learning Architecture”,

 Scott E. Fahlman y Christian Lebiere
Fahlman y Lebiere

 

La red comienza con lo mínimo, una entrada y una capa de salida, ambas están completamente conectadas. Con posterioridad crece bajo demanda, solo se agregan nuevas neuronas cuando pueden ayudar a resolver el problema, éstas se incluyen en la capa oculta y son entrenadas una a una, creando una estructura multicapa que permite aplicar las técnicas de regularización utilizadas para perceptrones multicapa.

 

 

Cascade Correlation
Cascade Correlation

Inicialmente y debido a la ausencia de neuronas en las capas ocultas, la red puede aprender mediante un algoritmo de descenso de gradiente aplicado individualmente a cada neurona de salida. Cuando se añade una nueva neurona, sus pesos del lado de la entrada se congelan (ya no cambian) y se conecta a todas las entradas y neuronas ocultas.

 

 

 

 

 

 

¿Cómo crece la red? Cascade Correlation
¿Cómo crece la red?

¿Cómo crece la red?:

  1. La nueva neurona se conecta a todas las neuronas de entrada y ocultas mediante conexiones de entrada entrenables (líneas discontinuas), pero su salida no está conectada a la red. Los pesos de la neurona candidata se entrenan mientras que todos los demás están congelados. Cuando la neurona ha terminado su entrenamiento pasa a una nueva capa (anteriormente vacía) y la neurona se activa.
  2. La neurona entrenada se conecta a las neuronas de salida, a las salidas del resto de neuronas ocultas y a todas las entradas..

Todo el proceso se repite hasta que se obtiene la precisión deseada.

 

La mejora en el rendimiento de esta red se obtiene al eliminar la retro-propagación de señales de error a través de las conexiones y al uso de capas no lineales (mayoritariamente sigmoideas) que se entrenan de forma directa, una después de la otra. También a la capacidad de determinar su propio tamaño, topología y conservar las estructuras que ha construido incluso cambiando  los datos de entrenamiento.

 

Las dos ventajas de esta arquitectura son que no es necesario que el usuario se preocupe por la topología de la red y que aprende mucho más rápido que los algoritmos de aprendizaje anteriores.

 

También tiene un gran inconveniente, debido a que cada neurona entra en una nueva capa, el entrenamiento produce redes profundas y su capacidad de proceso disminuye ralentizándose progresivamente. Para evitar esta situación Scott E. Fahlman y Shumeet Baluja publican en 1.994 “Reducing Network Depth in the CascadeCorrelation Learning Architecture”, conocido como Sibling-Descendant Cascade-Correlation (SDCC), donde proponen una solución a este problema.

Scott E. Fahlman y Shumeet Baluja
Fahlman y Baluja

 

Proponen tomar dos tipos de unidades candidatas:

  1. Descendientes, reciben entradas de todas las unidades ocultas existentes.
  2. Hermanas, reciben las mismas entradas que las unidades ocultas más profundas en la red actual.

 

Cuando llega el momento de elegir un ganador, el candidato con la mejor correlación gana, pero con la salvedad de que a las hermanas se las pondera positivamente (son las preferidas por papa). Esta predilección hace que la descendiente tenga que ser muy superior a las hermanas. Esta forma de actuar hace que la red crezca pero no sea profunda.