1 INTRODUCCIÓN A REDES NEURONALES ARTIFICIALES TEORÍA Y APLICACIONESDr. Héctor Allende Departamento de Informática Universidad Técnica Federico Santa María
2 The Backpropagation Network Redes de RetropropagaciónCapítulo 2 The Backpropagation Network Redes de Retropropagación BN: Constituyen las ANN más simples en términos de diseño Profesor: Héctor Allende Redes Neuronales Artificiales
3 Redes Neuronales ArtificialesRedes Feedforward FANN La capa 0 no realiza procesamiento alguno, solo distribuye las entradas a la capa siguiente x1 x2 S Profesor: Héctor Allende Redes Neuronales Artificiales
4 Redes Neuronales ArtificialesEstructura de la Red Capa de entrada: ( sensorial) También llamada capa 0 o sensorial No existe procesamiento. Su función es distribuir la entrada a la próxima capa. Se tiene un vector de entrada x. Capas Oculta: ( asociativa) Son las capas que estan ubicadas entre la capa de entrada y salida. Profesor: Héctor Allende Redes Neuronales Artificiales
5 Redes Neuronales ArtificialesEstructura de la Red Capa de salida: ( respuesta) Esta capa proporciona la salida de los datos procesados. Se obtiene un vector de salida y. Red Feedforward: Cada neurona recibe como entrada las salidas de todas las neuronas de la capa anterior. Profesor: Héctor Allende Redes Neuronales Artificiales
6 Redes Neuronales ArtificialesEstructura de la Red Profesor: Héctor Allende Redes Neuronales Artificiales
7 Redes Neuronales ArtificialesNotación wlkj es el peso por el cual la salida de la neurona j de la capa l-1 contribuye a la entrada de la neurona k de la capa l. xp es la entrada de entrenamiento p tp(xp) es el destino (salida deseada) en el tiempo p. zoixi es el componente i del vector de entrada. Nl número de neuronas de la capa l. zlk es la salida de la neurona j de la capa l. L es el número de capas. P es el número de vectores de entrenamiento. {(xp,tp)}p=1,..,P es el conjunto de aprendizaje Profesor: Héctor Allende Redes Neuronales Artificiales
8 Redes Neuronales ArtificialesDinámica de la Red a=netai wi f(a) xi f Input Output Unidad de Activación Profesor: Héctor Allende Redes Neuronales Artificiales
9 Función de salida de la neuronaFunción de activación logística: Profesor: Héctor Allende Redes Neuronales Artificiales
10 Redes Neuronales ArtificialesEjecución de la Red Matriz de pesos: Vector de salida de la capa anterior: Salida de la capa l Profesor: Héctor Allende Redes Neuronales Artificiales
11 Proceso de Aprendizaje de la RedEl proceso de aprendizaje de la red es supervisado. ( Etapa Entrenamiento) El aprendizaje involucra ajustar los pesos de manera que el error sea minimizado. Uso de los Datos Crudos Profesor: Héctor Allende Redes Neuronales Artificiales
12 Proceso de Aprendizaje de la RedFunción de suma de los errores cuadráticos: Observaciones: Suma total de la suma de los errores cuadráticos: Profesor: Héctor Allende Redes Neuronales Artificiales
13 Proceso de Aprendizaje de la RedLos pesos de la red W se obtienen paso a paso. Nw es el número total de pesos, entonces la función de error: es una superficie en el espacio El vector gradiente: muestra la dirección del máximo error cuadrático medio. ECM Profesor: Héctor Allende Redes Neuronales Artificiales
14 Proceso de Aprendizaje de la RedLos pesos son ajustados en tiempos discretos ( Regla ): donde > 0 es la constante de aprendizaje. En notación matricial: Profesor: Héctor Allende Redes Neuronales Artificiales
15 Problemas de la elección del Parámetro Profesor: Héctor Allende Redes Neuronales Artificiales
16 Problemas de la elección del Parámetro Profesor: Héctor Allende Redes Neuronales Artificiales
17 Teorema: El algoritmo de BackpropagationPrevios 1.-Para cada capa (excepto la de entrada), una matriz del gradiente del error se construiría de la siguiente manera: Profesor: Héctor Allende Redes Neuronales Artificiales
18 Teorema: El algoritmo de Backpropagation2. Para cada capa, excepto la capa L, el gradiente del error con respecto a la salida neuronal se define como: 3. El gradiente del error con respecto a la salida de la red zL es conocido y depende solo de la salida de la red {zL(xp)} y los targets {tp (xp) }: Profesor: Héctor Allende Redes Neuronales Artificiales
19 Teorema: El algoritmo de BackpropagationEntonces considerando la función de error E y la función de activación f y con su respectiva derivada f ’ El gradiente del error puede ser calculado recursivamente de acuerdo a las expresiones: calculado recursivamente desde L-1 a 1. para las capas l=1..L donde zo x Profesor: Héctor Allende Redes Neuronales Artificiales
20 Redes Neuronales ArtificialesCorolario Si la función de activación es la función logística donde zo x Profesor: Héctor Allende Redes Neuronales Artificiales
21 Criterios de inicialización y paradaPesos son inicializados con valores aleatorios pequeños (-1;1) y el proceso de ajuste continúa iterativamente. La parada del proceso de aprendizaje puede ser llevado a cabo por medio de uno de los siguientes criterios: 1.- Elegir un número de pasos fijos. 2.- El proceso de aprendizaje continua hasta que la cantidad: esta por debajo algún valor específico. 3.- Parar cuando el error total alcanza un mínimo en el conjunto de testeo. Profesor: Héctor Allende Redes Neuronales Artificiales
22 Redes Neuronales ArtificialesEl Algoritmo El algoritmo esta basado en una aproximación de tiempo discreto. La función de error y de activación y la condición de parada se asume que son elegidos y fijos. Procedimiento de ejecución de la Red 1.La capa de entrada es inicilizada, es decir, la salida de la capa de igual a la entrada x : z0 x Para todas la capas, desde 1 hasta L, hacer: 2.La salida final de la red es la salida de la última capa es decir , yzL Profesor: Héctor Allende Redes Neuronales Artificiales
23 Redes Neuronales ArtificialesEl Algoritmo Procedimiento de Aprendizaje de la red: 1.- Inicializar los pesos con valores aleatorios pequeños. U(-1; 1) 2.- Para todo el conjunto de entrenamiento (xp,tp), tan grande como la condición de parada lo permita: (a) Correr la red para encontrar la activación para todas las neuronas al y luego sus derivadas f’(al). La salida de la red ypzL(xp)=f(al) es usada en el próximo paso. Profesor: Héctor Allende Redes Neuronales Artificiales
24 Redes Neuronales ArtificialesEl Algoritmo (b) Usando (yp,tp), calcular para la capa L (c) Calcular el gradiente del error, para usando b-c calcular (d) Actualizar los pesos W de acuerdo a la regla delta. (e) Chequear la condición de parada y parar si se cumple la condición. Profesor: Héctor Allende Redes Neuronales Artificiales
25 Redes Neuronales ArtificialesBIAS Activación Neuronal:Algunos problemas no se pueden resolver con la BN, sin introducir un nuevo parámetro llamado sesgo Bias Profesor: Héctor Allende Redes Neuronales Artificiales
26 Redes Neuronales ArtificialesSesgo (BIAS) Salida Neuronal: Matrices de Pesos: Profesor: Héctor Allende Redes Neuronales Artificiales
27 Redes Neuronales ArtificialesSesgo (BIAS) Matriz del gradiente del error: Profesor: Héctor Allende Redes Neuronales Artificiales
28 Backpropagation con biasTeorema: Si el gradiente del error con respecto a la salida neuronal es conocida, y depende sólo de la salida de la red {zL(xP)} y del target {tp}: entonces el gradiente del error puede ser calculado recursivamente de acuerdo a las siguientes expresiones: para L-1 hasta 1 para las capas l hasta L Profesor: Héctor Allende Redes Neuronales Artificiales
29 Redes Neuronales ArtificialesAlgoritmo: Momentum El algoritmo BPL carece de robustez Un procedimiento que toma en cuenta las atracciones en el proceso de aprendizaje es el algoritmo de momentum: donde [0,1) es el parámetro de momentum. El procedimiento de aprendizaje y ejecución es equivalente a la forma antes descrita. Profesor: Héctor Allende Redes Neuronales Artificiales
30 Redes Neuronales ArtificialesAlgoritmo: Momentum Profesor: Héctor Allende Redes Neuronales Artificiales
31 Redes Neuronales ArtificialesAlgoritmo: Momentum Otra mejora utilizada en el momentum es la eliminación de puntos planos, i.e. Si la superficie de error es muy plana, entonces y, por lo tanto, Para evitar el problema el calculo del gradiente es llevado de la siguiente manera: calculado desde L-1 hasta 1 para las capas l=1,..,L Profesor: Héctor Allende Redes Neuronales Artificiales
32 Redes Neuronales ArtificialesAlgoritmo: Momentum Eliminación de puntos planos: cf es la constante de eliminación de puntos planos. Los términos correspondientes de los pesos del gradiente del error cercanos a la capa de entrada son más pequeños que aquellos ubicados en la capa de salida. Por lo tanto un efecto de cf es la aceleración de la adaptación de los pesos en capas cercanas a la entrada. Profesor: Héctor Allende Redes Neuronales Artificiales
33 Mejoras del Algoritmo: MomentumAdaptación de los pesos con 2 pasos: Profesor: Héctor Allende Redes Neuronales Artificiales
34 Algoritmo: Backpropagation AdaptivoIdeas del algoritmo: Si la pendiente de la superficie de error es suave, entonces un parámetro de aprendizaje grande puede ser usado para acelerar el aprendizaje en las áreas planas. Si la pendiente de la superficie de error es abrupta, entonces un pequeño parámetro de aprendizaje debe ser usado para no saltar el mínimo. Profesor: Héctor Allende Redes Neuronales Artificiales
35 Algoritmo: Backpropagation AdaptivoSe asignan valores de aprendizaje individual a cada peso basado en el comportamiento previo. Entonces la constante de aprendizaje se convierte en una matriz. La razón de aprendizaje aumenta su el gradiente mantiene su dirección en los últimos dos pasos, en caso contrario lo disminuye: donde I1 es el factor de aumento y D(0,1) es el factor de disminución. Profesor: Héctor Allende Redes Neuronales Artificiales
36 Algoritmo: Backpropagation AdaptivoEn forma matricial: Profesor: Héctor Allende Redes Neuronales Artificiales
37 Mejoras del Algoritmo: SuperSABSuperSAB (Super Self-Adapting Backpropagation): Es una combinación entre momentum y backpropagation adaptivo. Usa backpropagation adaptivo para los términos wlij que continúan el movimiento en la misma dirección y momentum para las otras. Profesor: Héctor Allende Redes Neuronales Artificiales
38 Mejoras del Algoritmo: Super SABSi entonces: Profesor: Héctor Allende Redes Neuronales Artificiales
39 Mejoras del Algoritmo: Super SABEn notación matricial: Profesor: Héctor Allende Redes Neuronales Artificiales