Estructura de la Red:
La red de Elman típicamente posee dos capas, cada una compuesta de una red tipo Backpropagation, con la adición de una conexión de realimentación desde la salida de la capa oculta hacia la entrada de la misma capa oculta, esta realimentación permite a la red de Elman aprender a reconocer y generar patrones temporales o variantes con el tiempo.
Figura 2.6.8 Red de Elman
La red de Elman generalmente posee neuronas con función transferencia sigmoidal en su capa oculta, en este casotansig y neuronas con función de transferencia tipo lineal en la capa de salida, en esta caso purelin,la ventaja de la configuración de esta red de dos capas con este tipo de funciones de trasferencia, es que según lo demostrado por Funahashi [16], puede aproximar cualquier función con la precisión deseada mientras que esta posea un numero finito de discontinuidades, para lo cual la precisión de la aproximación depende de la selección del numero adecuado de neuronas en la capa oculta.
Para la red de Elman la capa oculta es la capa recurrente y el retardo en la conexión de realimentación almacena los valores de la iteración previa, los cuales serán usados en la siguiente iteración; dos redes de Elman con los mismos parámetros y entradas idénticas en las mismas iteraciones podrían producir salidas diferentes debido a que pueden presentar diferentes estados de realimentación.
Entrenamiento de la red: Debido a la estructura similar de la red de Elman con una red tipo Backpropagation, esta red puede entrenarse con cualquier algoritmo de propagación inversa como los explicados en la sección 2.3 de este capitulo, entre los cuales se destacan los algoritmos basados en técnicas de optimización como el del gradiente conjugado o el algoritmo de Levemberg Marquard.
El entrenamiento de la red puede resumirse en los siguientes pasos:
- Presentar a la red, los patrones de entrenamiento y calcular la salida de la red con los pesos iniciales, comparar la salida de la red con los patrones objetivo y generar la secuencia de error.
- Propagar inversamente el error para encontrar el gradiente del error para cada conjunto de pesos y ganancias,
- Actualizar todos los pesos y ganancias con el gradiente encontrado con base en el algoritmo de propagación inversa.