Redes neuronales
Enviado por Juan Luis Téllez López • 11 de Octubre de 2015 • Tarea • 1.423 Palabras (6 Páginas) • 105 Visitas
Al igual que en el caso del ADALINE, se considera no el error total cuadrático sino el error parcial al presentar un estímulo específico . La red neuronal en este caso consiste de una o más capas (digamos ), cada capa conteniendo un número no necesariamente igual de neuronas (digamos neuronas para la capa 1, …, neuronas para la capa ). Para la capa 1 se tienen los pesos no aumentados y los umbrales , …, para la capa se tienen los pesos no aumentados y los umbrales . Asimismo, los pesos aumentados se denotan como para las capas 1, …, , respectivamente. Se asume que cada las neuronas en cada capa comparten la misma forma de función de activación y que esta no es necesariamente igual de una capa a otra. La función de activación se denota para la capa 1, …, para la capa . Éstas se denotan en forma vectorial para representar el hecho de que tiene tantas entradas como neuronas haya en la capa correspondiente.[pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7][pic 8][pic 9][pic 10][pic 11][pic 12][pic 13][pic 14][pic 15]
[pic 16]
Si denota la actividad aumentada y la integración, entonces para cada capa se tiene lo siguiente[pic 17][pic 18]
- Entrada
[pic 19]
- Capa 1 (vectores columna)
[pic 20]
[pic 21]
- Capa 2 (vectores columna)
[pic 22]
[pic 23]
[pic 24]
Capa (vectores columna)[pic 25]
[pic 26]
[pic 27]
Capa (vectores columna)[pic 28]
[pic 29]
[pic 30]
Al igual que en el caso de la regla delta empleada para entrenar el ADALINE, nos interesa determinar el gradiente de la esperanza del error total cuadrado, la cual hemos visto viene dada por la ecuación siguiente
[pic 31]
donde es un estímulo arbitrario (aumentado) e su correspondiente conducta (salida en la capa ). La función vectorial está relacionada con la activación de la capa y tiene tantas componentes como neurona haya en esta capa (por la notación empleada se debe cumplir que esta función es un vector fila, al igual que ). La notación incluye a todos los pesos de todas las capas y solamente se emplea con el fin de simplificar las ecuaciones.[pic 32][pic 33][pic 34][pic 35][pic 36][pic 37][pic 38]
Al desarrollar el gradiente en el lado derecho de la ecuación anterior se encuentra lo siguiente
[pic 39]
El vector de error es una fila con tantas componentes como neuronas existan en la última capa. El resultado es un vector fila con tantas componentes como pesos existan en la red, ya que es una matriz con tantas filas como neuronas existen en la última capa de la red y tantas columnas como parámetros de peso existen en la red.[pic 40]
Así
[pic 41]
Ahora bien, usando regla de la cadena se encuentra lo siguiente
[pic 42]
donde se debe recordar que es un vector columna por lo que el producto de matrices tiene sentido y además[pic 43]
[pic 44]
[pic 45]
Nótese lo siguiente: la última columna de la matriz del lado derecho de esta última ecuación tiene filas y un número de columnas igual a (se colocan vectores de la misma longitud todos ellos, siendo ésta igual a ), este es precisamente el tamaño de la matriz . Por ello definimos lo siguiente[pic 46][pic 47][pic 48][pic 49][pic 50]
[pic 51]
Así
[pic 52]
y
[pic 53]
y por consiguiente
[pic 54]
donde hemos definido el vector fila con columnas[pic 55]
[pic 56]
Análogamente, se encuentra lo siguiente
[pic 57]
pero como ya sabemos
[pic 58]
Al igual que antes, determinemos ahora , por lo que se tiene lo siguiente[pic 59]
[pic 60]
[pic 61]
[pic 62]
por lo que ahora se tiene
[pic 63]
y así
[pic 64]
por lo que también se tiene
[pic 65]
y ahora la esperanza del gradiente tiene la siguiente forma
[pic 66]
donde es la matriz no aumentada correspondiente a la capa . Por lo tanto, se tiene que el gradiente es dado por la siguiente ecuación[pic 67][pic 68]
[pic 69]
donde se define . Nótese que las expresiones y tienen una estructura similar por lo que a continuación se debe tener que[pic 70][pic 71][pic 72]
[pic 73]
Continuando de esta forma hasta la primera capa se tiene lo siguiente
[pic 74]
Pero ahora consideramos hasta la entrada a la red, de tal forma que se tiene lo siguiente
[pic 75]
y puesto que por regla de la cadena se tiene
[pic 76]
entonces
[pic 77]
y así el gradiente adquiere la siguiente estructura
[pic 78]
en donde se define la matriz
[pic 79]
En resumen, se encuentra que el gradiente de la esperanza del error total cuadrado es dado por la ecuación siguiente
[pic 80]
en donde el gradiente local en cada capa se define como sigue
[pic 81]
[pic 82]
y la matriz en cada capa tiene la siguiente estructura (la capa 0 es simplemente el estímulo aumentado)[pic 83]
[pic 84]
[pic 85]
Nótese que los productos definen un vector fila cuyas componentes son simplemente el producto del vector de activación (que incluye al sesgo –1 del umbral) multiplicada por cada una de las componentes del gradiente local correspondiente. Los bloques en conjunto definen la fila de la matriz siguiente[pic 86]
[pic 87]
y la regla de aprendizaje tiene entonces la forma siguiente
[pic 88]
[pic 89]
Obsérvese lo siguiente en la aplicación de esta regla de aprendizaje
- El gradiente local de una capa viene dado en términos de los gradientes locales de capas superiores.
- No se puede corregir un peso sin antes contar con su correspondiente gradiente local.
- Por los dos puntos anteriores, el aprendizaje se efectúa de la siguiente forma
- Primeramente se introduce el estímulo patrón de aprendizaje.
- Se calculan las activaciones para cada neurona en cada capa.
- Se calculan las derivadas de las activaciones para cada neurona en cada capa.
- Se determina el error entre la conducta deseada y la conducta teórica obtenida.
- Se calcula el gradiente local de la última capa y así sucesivamente hasta el gradiente local de la primera capa (puede corregirse el peso de la capa a la que ya se le conoce su gradiente local y evitarse con ello el paso siguiente).
- Se corrigen los pesos de cada capa.
- Las funciones de activación tienen que ser funciones derivables.
Por este efecto de primero avanzar en la señal y posteriormente retroceder en el cálculo de los gradientes locales, al algoritmo de entrenamiento se le conoce como propagación hacia atrás (backpropagation, en inglés). No confundir el nombre del algoritmo de aprendizaje con el nombre de la arquitectura de la red neuronal el cual es alimentación hacia adelante (feedforward, en inglés).
...