Redes Neuronales
Algoritmo de programación inverso

Uno de los algoritmos más utilizados para el aprendizaje de la red neuronal es el algoritmo de propagación hacia atrás. Después de veinte años de un relativo estancamiento de las redes neuronales, este algoritmo ha iniciado una nueva ola de investigación en este campo científico.

Este algoritmo es adecuado para el aprendizaje de las redes multicapa con propagación hacia adelante. El aprendizaje es de tipo supervisado. Se trata de un algoritmo de iteración de acuerdo con el método de cálculo. La función se reduce al mínimo basado en el gradiente, por lo que se clasifica a veces como un método de aprendizaje de gradiente. El principio del algoritmo de propagación inversa es similar al método de aprendizaje común que se utiliza en la educación. Si un estudiante presenta deficiencias en el trabajo escolar, tiene que estudiar más. Esto es similar a la propagación inversa. La red neuronal puede ser considerada como un estudiante, las pruebas se pueden considerar como un mecanismo para el aprendizaje, analizando si la red neuronal da respuestas correctas a los vectores de entrada de acuerdo con un conjunto de entrenamiento. El conjunto de entrenamiento son los deberes que el alumno tiene que estudiar. Si nos damos cuenta de que la red no responde correctamente, tenemos que cambiar sus coeficientes de peso, hasta que empieza a reaccionar correctamente.

Fig. 7.9: Representación gràfica del aprendizaje de una red neuronal

Se trata de un proceso iterativo, en el que partimos de un estado inicial hacia al estado del conocimiento. La elección de los pesos del conjunto de entrenamiento no necesita ser secuencial, muy a menudo se utiliza por ejemplo un orden aleatorio. La elección de la estrategia no se da estrictamente, más bien pertenece a una categoría del “arte de aprendizaje de redes neuronales”. En el curso del aprendizaje, podemos reconocer algunos patrones más frecuentes. Una estrategia adecuada puede influir significativamente en la velocidad y el éxito del proceso de aprendizaje. Un error global en el algoritmo puede ser representado por ejemplo por el error cuadrático medio calculado sobre todos los patrones del conjunto de entrenamiento. Este error representa la medida del conocimiento de la red. El criterio representa un límite, en el que se detiene el proceso de aprendizaje. El algoritmo de propagación inverso se basa en la minimización de la energía de una red neuronal. La energía representa el grado de conocimiento, es decir, la desviación entre los valores reales y las salidas necesarias de una red neuronal para un conjunto dado. Para el cálculo del error global se usa un criterio estadístico.

Para una red neuronal con propagación hacia atrás, la función de energía se define como sigue:

(061)

Donde d es el número de entradas, yi es i-ésima salida y di es i-ésima salida requerida. Esta función no es más que la suma de los cuadrados de las desviaciones. El algoritmo de aprendizaje de propagación inverso tiene que ser considerado como un método de optimización, que es capaz de encontrar los pesos y los umbrales correctos para una red neuronal dada.