Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

Algoritmo Back-Propagation (III)

Fernando P.    27/11/2017

Temas:  Fundamentos

Tercer artículo de la serie dedicada a describir el algoritmo Back-Propagation usado para entrenar de forma supervisada perceptrones multicapa o, en general, redes neuronales artificiales orientadas hacia adelante.

En la entrega anterior de esta serie habíamos introducido la notación para describir completamente un perceptrón de dos capas con función de activación Logística y habíamos procedido a calcular la expresión exacta para la actualización de pesos en conexiones entre la primera y segunda capa de neuronas usando la Regla Delta Generalizada.

Cálculo de la expresión exacta de la Regla Delta Generalizada Algoritmo Back-Propagation
Vamos a seguir calculando la expresión exacta para la actualización de pesos usando la Regla Delta Generalizada en el punto en el que nos quedamos en el artículo anterior.

Nos quedó por calcular la regla de actualización para pesos en conexiones desde la entrada a la primera capa de neuronas. Para ello vamos a usar el mismo procedimiento y la misma notación que ya usamos en el artículo anterior para calcular la regla correspondiente a los pesos en conexiones entre la primera y la segunda capa del perceptrón que habíamos definido.

Habíamos visto que la Regla Delta Generalizada establecía un mecanismo para actualizar los pesos de la red en cada iteración del algoritmo de la siguiente forma:

Sea  wθ  uno de los pesos de la red

En la iteración  t + 1, este peso  w  deberá ser modificado en la forma

Δw = -η ⋅ ∂Eθ(t) / ∂w

Es decir, necesitamos calcular la derivada parcial de la función de coste respecto a cada peso de conexiones entre neuronas para tener la expresión exacta de la Regla Delta Generalizada.

Regla de actualización para los pesos en conexiones a la primera capa Capa 1 en perceptrón Back-Propagation
Procedemos ahora a calcular la expresión que toma la Regla Delta Generalizada en el caso de pesos de conexiones que llegan a la primera capa de neuronas.

Se trata del mismo procedimiento que se usó para calcular la expresión exacta correspondiente a los pesos en las conexiones entre la primera y la segunda capa de neuronas, sólo que en esta ocasión el cálculo es más largo.

Sea  aij  el peso que corresponde entre la entrada  i  a la red y la neurona  j  de la primera capa. La derivada de la función de coste respecto a este peso se calcula de la siguiente forma:

E / ∂aij  =  1/2 ⋅ ∑h ∂ (yh-zh)2 / ∂aij  =  -∑h ((yh-zh) ⋅ ∂zh / ∂aij)

Antes de seguir, nos conviene tener en cuenta que, dados  1 ≤ h ≤ m  y  1 ≤ j ≤ p, se verifica que

oh = ∑k bk ⋅ ckh   y   qj = ∑k xk ⋅ akj   (1)

En estas condiciones, siguiendo con el cálculo de la derivada parcial, aplicamos la regla de la cadena de forma similar a como hicimos para el caso de los pesos de conexiones que llegan a la segunda capa y tenemos que:

∂zh / ∂aij  =  ∂zh / ∂oh ⋅ ∂oh / ∂bj ⋅ ∂bj / ∂qj ⋅ ∂qj / ∂aij

Calcular el valor de estos 4 factores no es difícil. Usando la propiedad que tiene la función Logística para expresar su derivada tenemos que:

zh / ∂oh = oh ⋅ (1-oh)   y   ∂bj / ∂qj = qj ⋅ (1-qj)

Para los otros dos factores, teniendo en cuenta lo que hemos afirmado en (1), se tiene que:

oh / ∂bj = cjh   y   ∂qj / ∂aij = xi

Algunos de estos factores no dependen de  h  y podemos sacarlos del sumatorio. Reorganizando todo lo que tenemos nos queda lo siguiente:

E / ∂aij  =  -qj ⋅ (1-qj) ⋅ xi ⋅ ∑h ((yh-zh) ⋅ oh ⋅ (1-oh) ⋅ cjh)

Que es la expresión exacta de la derivada parcial de la función de coste respecto a pesos en conexiones desde la entrada a la primera capa de neuronas. Ahora podemos escribir la expresión exacta de la Regla Delta Generalizada para calcular el valor del peso  aij  en la iteración  t+1, que quedaría de la siguiente forma:

Δaij  =  η ⋅ qj ⋅ (1-qj) ⋅ xi ⋅ ∑h ((yh-zh) ⋅ oh ⋅ (1-oh) ⋅ cjh)

De esta forma, tenemos expresiones exactas de la Regla Delta Generalizada para calcular los valores de los pesos de toda la red en cada iteración del algoritmo Back-Propagation y con ello tenemos todos los elementos que lo componen.

En la siguiente y última entrega de la serie daremos, a modo de resumen, una descripción completa del algoritmo para el caso de un perceptrón con dos capas y función de activación Logística, que es el caso que hemos usado para calcular las expresiones exactas de la Regla Delta Generalizada en la entrega anterior (pesos sobre la segunda capa) y en esta misma entrega (pesos sobre la primera capa).



Con ciertas simplificaciones, es posible calcular las expresiones exactas para la Regla Delta Generalizada en el caso de un perceptrón con dos capas. En el caso de los pesos de la primera capa el cálculo es más largo pero similar a la segunda capa.



Para saber más:

Libro de Philip D. Wasserman sobre redes neuronales artificiales orientadas hacia adelante. Es un libro sencillo pero suficientemente riguroso. El capítulo 3 trata sobre el algoritmo Back-Propagation.

Libro de Russell Reed y Robert J Marks dedicado a redes neuronales artificiales orientadas hacia adelante. El capítulo 5 introduce el algoritmo Back-Propagation y el resto del libro está dedicado a estudiar variaciones y refinamientos del algoritmo.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto