Estas funciones continuas son no decrecientes y derivables, a diferencia de la función escalón que se utiliza en el Perceptrón, que no es derivable en el punto de discontinuidad.
Este algoritmo utiliza también una función o superficie de error asociada a la red, buscando el estado estable de mínima energía o de mínimo error a través del camino descendente de la superficie del error. Por ello, realimenta el error del sistema para realizar la modificación de los pesos en un valor proporcional al gradiente decreciente de dicha función de error.
El error es la diferencia cuadrática media entre las salidas de la red con los pesos actuales y las salidas deseadas. El método que sigue la regla delta generalizada para ajustar los pesos es actualizarlos de forma proporcional a la delta o diferencia entre la salida deseada y la obtenida:



El punto en el que difieren la regla delta generalizada de la regla delta es en el valor concreto de dpj. Por otro lado, en las redes multinivel a diferencia de las redes sin neuronas ocultas, en principio no se puede conocer la salida deseada de las neuronas de las capas ocultas para poder determinar los pesos en función del error cometido. Sin embargo inicialmente si podemos conocer la salida deseada de las neuronas de salida. Según esto, si consideramos la unidad Uj de salida, entonces definimos
donde dpj es la salida deseada de la neurona j para el patrón p y netj es la entrada neta que recibe la neurona j.
Esta fórmula es como la de la regla delta, excepto en lo que se refiere a la derivada de la función de transferencia. Este término representa la modificación que hay que realizar en la entrada que recibe la neurona j en el caso en que dicha neurona no sea de salida, el error que se produce estará en función del error que se comenta en las neuronas que reciban como entrada la salida de dicha neurona. Esto es lo que se denomina el procedimiento de propagación del error hacia atrás.
Figura. Conexiones entre neuronas de capa de entrada, oculta y de salida. (Villanueva, 2002)
Según esto, en el caso de que Uj no sea una neurona de salida, el error que se produce esta en función del error que se comete en las neuronas que reciben como entrada la salida de Uj.
Donde el rango k cubre todas aquellas neuronas a las que la red está conectada con la salida de Uj. De esta forma, el error que se produce en una neurona oculta es la suma de los errores que se producen en las neuronas a las que está conectada la salida de ésta, multiplicando cada uno de ellos por el peso de la conexión.
Adición de un momento a la regla delta generalizada
El método de propagación de error, también conocido como del gradiente descendiente, requiere un importante número de cálculos para lograr el ajuste de los pesos en la red. En la implementación del algoritmo, se toma una amplitud de paso que viene dada por la tasa de aprendizaje a(alfa). A mayor tasa de aprendizaje, mayor es la modificación de los pesos en cada iteración, con lo que el aprendizaje será más rápido, por otra parte, puede dar lugar a oscilaciones. Rumelhart, Hinton y Williams sugirieron que para filtrar estas oscilaciones se añada en la expresión del incremente de los pesos un término (momento)b (beta), de manera que dicha expresión quede: donde b(beta) es una constante (momento) que determina el efecto en t+1 del cambio de pesos en el instante t (Rumelhart, Hinton, & Williams, 1986).
Con este momento se logra la convergencia de la red en menor número de iteraciones, ya que si en t el incremento de un peso era positivo y en t+1 también, entonces el descenso por la superficie del error en t+1 es mayor. Sin embargo, si en t el incremento era positivo y en t+1 es negativo, el paso que se da en t+1 es más pequeño, lo cual es adecuado, ya que esto significa que ha pasado por un mínimo y que los pasos deben ser menores para poder alcanzarlo.
Resumiendo, el algoritmo queda como sigue:
donde:
si Uj es una neurona de salida, y
No hay comentarios:
Publicar un comentario