Características de las redes neuronales


Existen cuatro aspectos que caracterizan una red neuronal: su topología, el mecanismo de aprendizaje, tipo de asociación entre la información de entrada y de salida, y la forma de representación de estas informaciones.

Topología

Consiste en la organización y disposición de las neuronas en la red formando capas o agrupaciones de neuronas. Los parámetros fundamentales de la red son: número de capas, número de neuronas por capa, grado de conectividad y tipo de conexión entre neuronas.

Al hacer una clasificación topológica de las RNAs se suelen distinguir:

  1. Redes monocapa : se establecen conexiones laterales entre las neuronas que pertenecen a la única capa que constituye la red. Ejemplos de redes de este tipo son la rede HOPPFIELD y la rede BRAIN-STATE-IN-A-BOX. Las redes monocapa se utilizan típicamente en tareas relacionadas con lo que se conoce como autoasociación; por ejemplo, para regenerar informaciones de entrada que se presenta como incompleta o distorsionada.
  2. Redes multicapa : disponen las neuronas agrupadas en varios niveles. Dado que este tipo de redes disponen de varias capas, las conexiones entre neuronas pueden ser del tipo feedforward (conexión hacia adelante) o del tipo feedback (conexión hacia atrás).

Mecanismo de aprendizaje

El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una información de entrada. Los cambios que se producen durante la etapa de aprendizaje se reducen a la destrucción (el peso de la conexión toma el valor 0), modificación y creación (el peso de la conexión toma un valor distinto de 0) de conexiones entre las neuronas.

Podemos considerar que el proceso de aprendizaje ha terminado cuando los valores de los pesos permanecen estables

dwj / dt = 0

Uns aspecto importante es determinar los criterios de la regla de aprendizaje; cómo se van a modificar los pesos. De forma general se consideran dos tipos de reglas:

  1. Aprendizaje supervisado
  2. Aprendizaje no supervisado

La diferencia entre ambos tipos estriba en la existencia o no de una agente externo que controle todo el proceso.

Otro criterio para diferenciar las reglas de aprendizaje se basa en considerar si la red puede aprender durante su funcionamiento (aprendizaje ON LINE) o requiere de una fase previa de entrenamiento (aprendizaje OFF LINE). En este último debe existir un conjunto de datos de entrenamiento y un conjunto de datos de test o prueba; igualmente los pesos de las conexiones no se modifican después de terminar la etapa de entrenamiento de la red. En la red ON LINE los pesos varían dinámicamente cada vez que se presente una nueva información al sistema.

Redes con aprendizaje supervisado

Se caracteriza porque el proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo (supervisor, maestro) que determina la respuesta que debería generar la red a partir de una entrada determinada. El supervisor comprueba la salida generada por el sistema y en el caso de que no coincida con la esperada, se procederá a modificar los pesos de las conexiones.

En este tipo de aprendizaje se suelen distinguir a su vez tres formas de llevarlo a cabo:

  1. Aprendizaje por corrección de error : Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores deseados y los obtenidos en la salida. La formula para la corrección de los pesos podría ser la siguiente:

Incr(wji) = ß yi (dj - yj)

siendo:  
  Incr(wji) : Variación en el peso de la conexión entre las neuronas i y j
  yi : Salida de la neurona i
  dj : Valor de salida deseado para la neurona j
  yj : Valor de salida obtenido en la neurona j
  ß : Factor de aprendizaje (0 < ß <= 1) que regula la velocidad del aprendizaje

Algoritmos que utilizan este tipo de aprendizaje son:

  1. Aprendizaje por refuerzo : este tipo de aprendizaje es más lento que el anterior y se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado; es decir, de no indicar durante el entrenamiento la salida exacta que se desea que proporcione la red ante una determinada entrada. Aquí la función del supervisor se reduce a indicar mediante una señal de refuerzo si la salida obtenida en la red se ajusta a la deseada (éxito = +1 o fracaso = -1) y en función de ello se ajustan los pesos basándose en un mecanismo de probabilidades.

Ejemplos de este tipo de algoritmos son el denominado Linear Reward-Penalty o LR-P [Narenda 74] y el Adapative Heuristic Critic [Barto 83] utilizado en redes feedforward de tres capas.

  1. Aprendizaje estocástico : consiste básicamente en realizar cambios aleatorios en los valores de los pesos y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad. Un red que utiliza este tipo de aprendizaje es la red Boltzman Machine, ideada por Hinton, Ackley y Sejnowski en 1984 y la red Cauchy Machine desarrollada por Szu en 1986.

Redes con aprendizaje no supervisado

No requieren de influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe ninguna información por parte del entorno que le indique si la salida generada en respuesta a una determinada entrada es o no correcta; son capaces de autoorganizarse. Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se pueden establecer entre los datos de la entrada. Pero, ¿qué genera la red en la salida?. Existen varias posibilidades en cuanto a interpretación :

Los algoritmos de aprendizaje no supervisado suelen ser de dos tipos:

  1. Aprendizaje hebbiano : pretende medir la familiaridad o extraer características de los datos de entrada. Este aprendizaje consiste básicamente en el ajuste de los pesos de las conexiones de acuerdo con la correlación de los valores de activación (salidas) de las dos neuronas conectadas :

Incr (wji) = yi yj

Si las dos unidades son activas (salida positiva), se produce un reforzamiento de la conexión. Si por el contrario, una es activa y la otra pasiva (salida negativa), se produce un debilitamiento de la conexión. Por tanto, la modificación de los pesos se realiza en función de los estados (salidas) de las neuronas, obtenidos tras la presentación de cierto estímulo (información de entrada), sin tener en cuenta si se deseaba obtener o no esos estados de activación.

Este tipo de aprendizaje se utiliza en la RED HOPFIELD (1982), ADDITIVE GROSSBERG (1973), LEARNING MATRIX (1961), BIDIRECTIONAL ASSOCIATIVE MEMORY (1988), TEMPORAL ASSOCIATIVE MEMORY (1972). Estas dos últimas son redes feedforward/feedback de 2 capas.

  1. Aprendizaje competitivo y cooperativo : las neuronas compiten unas con otras con el fin de llevar a cabo una tarea dada. Se pretende que cuando se presente a la red cierta información, sólo una o un grupo de ellas se activen. Por tanto las neuronas compiten por activarse, quedando las perdedoras a sus valores de respuesta mínimos. La conexión entre neuronas se realiza en todas las capas de la red, existiendo en estas neuronas conexiones recurrentes de autoexcitación y conexiones de inhibición (signo negativo) por parte de neuronas vecinas.

El objetivo de este aprendizaje es categorizar (clustering) los datos que se introducen en la red. De esta forma, las informaciones similares son clasificadas formando parte de la misma categoría, activando por tanto la misma neurona de salida. La variación del peso de una conexión entre una unidad i y otra j será nula si la neurona j no recibe excitación por parte de la neurona i y se modificará si es excitada por dicha neurona i

Un ejemplo de este tipo de aprendiaje es el desarrollado por Kohonen conocido como Learning Vector Quantization (LVQ) aplicado a redes feedforward de dos capas.

Tipo de asociación entre las informaciones de entrada y salida

Las redes neuronales son sistemas que almacenan cierta información aprendida; esta se registra de forma distribuida en los pesos asociados a las conexiones entre neuronas. Hay que establecer cierta relación o asociación entre la información presentada a la red y la salida ofrecida por esta. Es lo que se conoce como memoria asociativa.

Existen dos formas primarias de realizar esta asociación entrada/salida y que generan dos tipos de redes:

  1. Redes heteroasociativas : La red aprende parejas de datos [(A1,B1), (A2,B2),....(An,Bn)], de tal forma que cuando se le presente determinada información de entrada Ai responda con la salida correspondiente Bi. Al asociar informaciones de entrada con diferentes informaciones de salida, precisan al menos de 2 capas, una para captar y retener la información de entrada y otra para mantener la salida con la información asociada. Si esto no fuese así se perdería la información inicial al obtenerse la salida asociada; es necesario mantener la información de entrada puesto que puede ser necesario acceder varias veces a ella, por lo que debe permanecer en la capa de entrada. El aprendizaje de este tipo de redes puede ser con supervisión.
  2. Redes autoasociativas : La red aprende ciertas informaciones A1, A2, .., An de forma que cuando se le presenta una información de entrada realizará una autocorrelación, respondiendo con uno de los datos almacenados, el más parecido al de entrada. Este tipo de redes pueden implementarse con una sola capa de neuronas. El tipo de aprendizaje utilizado habitualmente es el no supervisado y suelen utilizarse en tareas de filtrado de información para la reconstrucción de datos, eliminando distorsiones o ruido, explorar relaciones entre informaciones similares para facilitar la búsqueda por contenido en bases de datos y para resolver problemas de optimización

Representación de la información de entrada y salida

Redes contínuas : En un gran número de redes, tanto los datos de entrada como de salida son de naturaleza analógica (valores reales contínuos y normalmente normalizados, por lo que su valor absoluto será menor que la unidad). En este caso las funciones de activación de las neuronas serán también contínuas, del tipo lineal o sigmoidal.

Redes discretas : Por el contrario, otras redes sólo admiten valores discretos [0,1] a la entrada, generando también en la salida respuestas de tipo binario. La función de activación en este caso es del tipo escalón.

Redes híbridas : La información de entrada es contínua pero a la salida ofrecen información binaria.